#include<stdio.h> #include<string> Struct Person{ char name[3];int count; } int main() {int i,j;char leader_name[20]; for(j=0;j<3;j++) if(strcmp(leader_name,leader[j],name)==0) leader[j].count++; } for(i=0;i<3;i++) printf("%5s:%d\n",leader[i].name,leader[i].count); return 0;}怎么完善
时间: 2024-03-05 22:48:03 浏览: 80
#include <stdio.h>
4星 · 用户满意度95%
这段代码存在一些问题,其中的 `string` 库没有被正确引用,而且代码缺少了许多必要的声明和定义,无法正确编译和运行。以下是一个可能的完善版本:
```c
#include <stdio.h>
#include <string.h>
struct Person {
char name[20];
int count;
};
int main() {
int i, j;
char leader_name[20];
struct Person leader[3] = {{"A", 0}, {"B", 0}, {"C", 0}};
printf("请输入领导名字:");
scanf("%s", leader_name);
for(j = 0; j < 3; j++) {
if(strcmp(leader_name, leader[j].name) == 0) {
leader[j].count++;
printf("成功为 %s 投了一票\n", leader[j].name);
}
}
printf("投票结果:\n");
for(i = 0; i < 3; i++) {
printf("%5s:%d\n", leader[i].name, leader[i].count);
}
return 0;
}
```
这个版本中,我们为 `Person` 结构体添加了一个 `name` 字段,使得名字可以被正确存储。我们还添加了必要的声明和定义,包括 `leader` 数组和 `scanf` 函数。最后,我们在程序中添加了一些输出语句,以便更好地展示程序的功能。
阅读全文