今日练习:
32、有三个候选人,每个选民只能投给一个人,要求编一个统计选票的程序,先后输入备选人的的名字,最后输出各人的得票结果。
33、有 n 个学生的信息(包括学号、姓名、成绩),要求按照成绩的高低顺序输出学生的信息。
有三个候选人,每个选民只能投给一个人,要求编一个统计选票的程序,先后输入备选人的的名字,最后输出各人的得票结果。
运行代码
struct people
{
char name[20];
int number ;
}leader[3]={"li",0,"zhang",0,"sun",0};
int main()
{
int i = 0;
int j = 0;
char leader_name[20];
for (i = 1; i < 10; i++)
{
printf("请输入人名(如li\\zhang\\sun)\n");
scanf("%s", leader_name);
for (j = 0; j < 3; j++)
{
if (strcmp(leader_name, leader[j].name) == 0)
{
leader[j].number++;
}
}
}
printf("结果是:\n");
for (i = 0; i < 3; i++)
{
printf("%s票数:%d\n", leader[i].name, leader[i].number);
}
return 0;
}
运行结果
有 n 个学生的信息(包括学号、姓名、成绩),要求按照成绩的高低顺序输出学生的信息。
运行代码
struct student
{
int num;
char name[20];
float score;
};
int main()
{
struct student stu[5] = {
{10010, "Tom",78},
{10011, "Jon",98.5},
{10012, "Lisi",100},
{10013, "zhangsan",99},
{10014, "wangwu",10}
};
struct student t;
int i = 0;
int j = 0;
int k = 0;
printf("成绩由大到小排序:\n");
for (i = 0; i < 4; i++)
{
k = i;
for (j = i + 1; j < 5; j++)
{
if (stu[j].score > stu[k].score)
{
k = j;
}
}
t = stu[k];
stu[k] = stu[i];
stu[i] = t;
}
for (i = 0; i < 5; i++)
{
printf("学号:%d, 姓名:%10s, 分数:%6.2f 分\n", stu[i].num, stu[i].name, stu[i].score);
}
return 0;
}