c语言结构体数组的应用
解决时间 2021-04-26 04:55
- 提问者网友:别再叽里呱啦
- 2021-04-25 15:43
大家好!这个程序错在哪?
#include<stdio.h>
#include<string.h>
struct person
{
char name[20];
int count;
}leader[2]={"zhangsan",0,"lisi",0}
void main()
{
int i,j;
char leader_name[20];
for(i=0,i<2;i++)
{scanf("%s".leader_name)
for(j=0;j<2;j++)
if(strcmp(leader_leader,leader[j].name ==0) )leader[j].count++;
}
printf("\n");
for(i=0;i<2;i++)
printf("%5s:%d\n",leader[i].name ,leader[i].count );
}
最佳答案
- 五星知识达人网友:舊物识亽
- 2021-04-25 15:48
我跟你改了一下,现在应该可以了#include<stdio.h>#include<string.h>struct person{char name[20];int count;}leader[2]={"zhangsan",0,"lisi",0};void main(){int i,j;char leader_name[20];for(i=0;i<2;i++){ scanf("%s",leader_name); for(j=0;j<2;j++) if(strcmp(leader_name,leader[j].name)==0) leader[j].count++;}printf("\n");for(i=0;i<2;i++)printf("%5s:%d\n",leader[i].name ,leader[i].count );}
只是注意一些细节问题,比如逗号跟分号,以及定义结构体之后记得加分号,你的就没有加,没有什么大的问题
全部回答
- 1楼网友:不甚了了
- 2021-04-25 17:24
vc6.0可运行代码:
#include<stdio.h>
#include<string.h>
struct person
{
char name[20];
int count;
}leader[2]={{"zhangsan",0},{"lisi",0}};
void main()
{
int i,j;
char leader_name[20];
for(i=0;i<2;i++)
{scanf("%s",leader_name);
for(j=0;j<2;j++)
if(strcmp(leader_name,leader[j].name )==0 )leader[j].count++;
}
printf("\n");
for(i=0;i<2;i++)
printf("%10s:%d\n",leader[i].name ,leader[i].count );
}
if(strcmp(leader_leader,leader[j].name ==0) )改为if(strcmp(leader_leader,leader[j].name) ==0)
- 3楼网友:笑迎怀羞
- 2021-04-25 16:00
一些小错误. 已经帮你改过来了.
#include<stdio.h>
#include<string.h>
struct person
{
char name[20];
int count;
}leader[2]={"zhangsan",0,"lisi",0}; //struct定义完成后要有;
void main()
{
int i,j;
char leader_name[20];
for(i=0 ; i<2;i++) //;不要写成,
{
scanf("%s" , leader_name); //,不要写成.
for(j=0;j<2;j++)
if(strcmp(leader_name,leader[j].name)==0)
//是leader_name不是leader_leader. 用strcmp的返回值判断是否等于0.
leader[j].count++;
}
printf("\n");
for(i=0;i<2;i++)
printf("%5s:%d\n",leader[i].name ,leader[i].count );
}
我要举报
大家都在看
推荐资讯