用c语音怎么写啊?新手求助
积分抽奖描述:为回馈用户,信用卡中心举行抽奖活动,抽奖规则为:信用卡积分为特定数字的客户为幸运客户。客户已经按照积分多少排序。
输入1:以字符串形式表示的,已经排序好的客户信用卡积分列表(姓名:积分,姓名:积分)。
输入2:幸运信用积分数。
输出:中奖客户姓名。没有中奖客户输出字符串NONE;多个客户用,分割。
示例:输入1:tom:188,jim:288,mike:688,jimi:888
输入2: 688 输出:mike
解释:tom:188表示tom积分为188分,找到积分为688的中奖客户姓名为mike。 结构体链表就能做,还需要吗?需要可以给你写一个 #include<stdio.h>
#include<stdlib.h>
typedef struct user{
char name;
int point;
struct user *next;
}User;
//建立用户结构体链表
void CreateUserList(User *L)
{
char c;
int i, count=0;
User *p, *pre;
pre = L;
while((c = getchar()) != '\n')
{
if(c >= 'a' && c <= 'z')
{
p = (User *)malloc(sizeof(User));
p->name = c;
count = 1;
while((c = getchar()) != ':')
{
p->name = c;
count++;
}
for(i=count; i<5; i++)
{
p->name = '#';
}
scanf("%d", &p->point);
pre->next = p;
p->next = NULL;
pre = p;
}
}
}
void PrintUserList(User *L)
{
User *p;
int i;
p = L->next;
while(p != NULL)
{
for(i=0; i<5; i++)
{
if(p->name != '#')
printf("%c", p->name);
}
printf(":%d ", p->point);
p = p->next;
}
}
//查找结构体链表里对应point为输入值的那个结点
void FindLuck(User *L)
{
User *p;
int target, i;
p = L->next;
scanf("%d", &target);
while(p->point != target)
p = p->next;
for(i=0; i<5; i++)
{
if(p->name != '#')
printf("%c", p->name);
}
}
int main()
{
User L;
CreateUserList(&L);
//PrintUserList(&L);用于测试建立链表
FindLuck(&L);
return 0;
}
页:
[1]