题目:
7-37 大会员 (10 分)
某超市年末对一年的会员消费进行统计,对消费额度达到S级的超级会员赠送一张价值100的超市储值卡。规定一年消费额度达到10000的会员为S级,5000-9999的评为B级,1000-4999的评为C级,低于1000以下的评为D级,请你帮助超市记录会员等级,并统计能够被赠送储值卡的会员人数。
输入格式:
输入第一行为一个正整数n(n<=10),代表会员人数,随后n行,每行为一个会员信息,包括会员卡号(长度为9的不带空格的数字串)、姓名(长度不超过20的不带空格的一串字符)、一年消费额(大于等于0的整数)。
输出格式:
按照输入顺序输出所有会员的等级信息,一个会员信息占一行,包括会员卡号、姓名、消费等级,中间用一个空格分隔,随后一行输出能够获赠储值卡的人数。
输入样例:
2
000001 li 10000
000002 zhang 9999
输出样例:
在这里给出相应的输出。例如:
000001 li S
000002 zhang B
1
我的答案:
#include <stdio.h>
struct people{
char ID[10];
char name[21];
int consume;
}pp[11];
int main() {
int n,i,s=0;
scanf("%d",&n);
for(i=0;i<n;i++) {
scanf("%s %s %d",&pp[i].ID,&pp[i].name,&pp[i].consume);
if(pp[i].consume>=10000) {
s++;
}
}
for(i=0;i<n;i++) {
if(pp[i].consume>=10000) {
printf("%s %s S\n",pp[i].ID,pp[i].name);
}
else if(pp[i].consume>=5000&&pp[i].consume<10000) {
printf("%s %s B\n",pp[i].ID,pp[i].name);
}
else if(pp[i].consume>=1000&&pp[i].consume<5000) {
printf("%s %s C\n",pp[i].ID,pp[i].name);
}
else if(pp[i].consume<1000) {
printf("%s %s D\n",pp[i].ID,pp[i].name);
}
}
printf("%d",s);
return 0;
}