给定程序 c11-2-3.c 的功能是:设有三个候选人,Zhang,Wang 和 Li,设有 10 个人参 加投票,每次输入一个得票的候选人的名字,要求最后输出各候选人的得票结果。程序运行 结果示例如图 11-3 所示,请把程序补充完整。 图 11-3 程序 c11-2-3.c 的运行结果示例 /* c11-2-3.c */ # include <stdio.h> # include <string.h> struct person /*候选人信息结构体,这是一个全局的结构体数组*/ { char name[20]; /*姓名*/ int count; /*得票数*/ }; int main() { struct person stu[3]={"zhang",0,"wang",0,"li",0}; int i,j; char leader_name[20]; for(i=1;i<=10;i++) /*设有 10 个人参加投票*/ { printf("请输入得票人姓名:"); scanf("%s", leader_name); /*输入得票人姓名*/ for(j=0;j<3;j++) if(strcmp(leader_name,stu[j].name)==0) ____(1)______; } printf("\n 最后得票统计结果:\n"); for(i=0; i<3 ; i++ ) printf("%5s: %d\n", ___(2)___ ); return 0; }
时间: 2024-03-05 18:49:15 浏览: 54
程序补充完整如下:
```c
/* c11-2-3.c */
#include <stdio.h>
#include <string.h>
struct person /*候选人信息结构体,这是一个全局的结构体数组*/
{
char name[20]; /*姓名*/
int count; /*得票数*/
};
int main()
{
struct person stu[3]={"zhang",0,"wang",0,"li",0};
int i,j;
char leader_name[20];
for(i=1;i<=10;i++) /*设有 10 个人参加投票*/
{
printf("请输入得票人姓名:");
scanf("%s", leader_name); /*输入得票人姓名*/
for(j=0;j<3;j++)
if(strcmp(leader_name,stu[j].name)==0)
stu[j].count++;
}
printf("\n最后得票统计结果:\n");
for(i=0; i<3 ; i++ )
printf("%5s: %d\n", stu[i].name, stu[i].count);
return 0;
}
```
程序的具体逻辑如下:
1. 定义了一个结构体 `person`,包含候选人的姓名和得票数。
2. 定义了一个全局的结构体数组 `stu`,存储三个候选人的信息。
3. 循环输入 10 个人的得票,每输入一个得票人的姓名,就在 `stu` 数组中查找该候选人的姓名,如果找到了就将该候选人的得票数加一。
4. 最后输出三个候选人的得票数。
阅读全文