标题:结构体 选举
只看楼主
wfx753951
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2020-1-31
结帖率:0
已结贴  问题点数:20 回复次数:4 
结构体 选举
有没有老哥帮忙解释一下这段代码,新手看不太懂
#include<stdio.h>
#include<math.h>
#include<string>
#define n 10
struct person
{ char name[20];
  int  count;
};
void main()
{ struct person leader[4]={{"wang",0},{"zhang",0},{"zhou",0},{"gao",0}};
  char name[20];
  int i,j;
  for(i=0;i<n;i++)
  { gets(name);
    for(j=0;j<4;j++)
    if (strcmp(name,leader[j].name)==0)
    {leader[j].count++;
    break;}
  }
  printf("\n");
  for(j=0;j<4;j++)
      printf("%s:%d\n",leader[j].name,leader[j].count);
}
搜索更多相关主题的帖子: 选举 count name for 结构体 
2020-02-12 16:25
叶纤
Rank: 8Rank: 8
等 级:禁止访问
威 望:1
帖 子:658
专家分:848
注 册:2019-11-22
得分:20 
程序代码:
c++和c。 struct差距好大啊,正好我没学过结构体,一起学习吧

 #include<stdio.h>
struct xuanju//这里是结构体的声明,结构体里有成员,结构名称最好用大写
{   char name[20];
    int piaoshu;
};//struct是聚合类型数据,作用,允许我们将混合类型变量组合在一起
int main() {//这里是定义
    struct xuanju wang= {"wang",0};//定义了wang的变量名,可访问name和票数
    struct xuanju zhang= {"zhang",0};//定义了张
    struct xuanju zhou= {"zhou",0};//....
    struct xuanju gao= {"gao",0};//....
    for(int i=0; i<10; ++i)
    {   char name[20]= {0};
        scanf("%s",name);//当输入的字符串和成员名长度相等时,成员票数加一
        if(strcmp(name,wang.name)==0)//strcmp是比较字符串的相等就是true
        {   ++wang.piaoshu;
            ;
        }
        else if(strcmp(name,zhang.name)==0)
        {   ++zhang.piaoshu;

        }
        else if(strcmp(name,zhou.name)
                ==0) {
            ++zhou.piaoshu;
        }

        else if(strcmp(name,gao.name)==0)

        {   ++gao.piaoshu;
        }
    }
    printf("%s:%d\n",wang.name,wang.piaoshu);//然后就是打印每个成员得到的票数
    printf("%s:%d\n",zhang.name,zhang.piaoshu);
    printf("%s:%d\n",zhou.name,zhou.piaoshu);
    printf("%s:%d\n",gao.name,gao.piaoshu);
}
   

      

把学习时间浪费在混坛上是傻瓜行为,更何况自己的水平连一两都没到。
2020-02-12 22:42
叶纤
Rank: 8Rank: 8
等 级:禁止访问
威 望:1
帖 子:658
专家分:848
注 册:2019-11-22
得分:0 
当不理解句子的时候可以尝试分解,不理解变量的时候可以先查意思,比如
struct,struct,struct这个聚合类型,你可以把它想成老板,只有老板才有权利分配人员工作,调用员工的时候需要一个经理帮老板干活,比如xuanju就是经理,它可以调用员工工作,strcam,strcam,strcam我知道这个是c语言里的,c++可以使用,但被列入c++标准了吗?

把学习时间浪费在混坛上是傻瓜行为,更何况自己的水平连一两都没到。
2020-02-13 11:49
wfx753951
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2020-1-31
得分:0 
回复 2楼 叶纤
哇喔~我懂了,谢谢你
2020-02-13 14:26
叶纤
Rank: 8Rank: 8
等 级:禁止访问
威 望:1
帖 子:658
专家分:848
注 册:2019-11-22
得分:0 
以下是引用叶纤在2020-2-13 11:49:07的发言:

当不理解句子的时候可以尝试分解,不理解变量的时候可以先查意思,比如
struct,struct,struct这个聚合类型,你可以把它想成老板,只有老板才有权利分配人员工作,调用员工的时候需要一个经理帮老板干活,比如xuanju就是经理,它可以调用员工工作,strcam,strcam,strcam我知道这个是c语言里的,c++可以使用,但被列入c++标准了吗?

strcmp.    strcmp strcmp  strcmp.  strcmp. strcmp. strcmp
我写出strcam都没人说出来

把学习时间浪费在混坛上是傻瓜行为,更何况自己的水平连一两都没到。
2020-02-13 15:01



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-499203-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016167 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved