题解 | #记票统计#

记票统计

http://www.nowcoder.com/practice/3350d379a5d44054b219de7af6708894

一直段错误,调试了好久,原来是用单个字符变量接收了字符串导致的,改成字符数组就OK了,题目不难,逻辑很简单:

#include<stdio.h>
#include<string.h>
int main(){
    int n,m;  //n候选人数, m投票总数
    int record[101]={0}; //某候选人对应的得票数
    char vote[20];  //投票字符串
    char name[101][20]={'\0'};  //候选人名字字符串
    while(~scanf("%d",&n)){
        int invalid_vote=0;  //无效票数
        for(int i=0;i<n;i++)
            scanf("%s",&name[i]);
        scanf("%d",&m);
        for(int i=0;i<m;i++){
            scanf("%s",&vote);
            int j,mark=0;
            for(j=0;j<n;j++){
               // 注意strcmp(str1,str2)字符串比较函数 若两串相等返回的是0
                if(!strcmp(name[j],vote)){
                    mark=1;
                    record[j]++;
                    break;
                }                   
            }
            if(mark==0)
                invalid_vote++;
        }
        for(int i=0;i<n;i++){
            printf("%s : %d\n",name[i],record[i]);
        }
        printf("Invalid : %d\n",invalid_vote);
    }
}
全部评论

相关推荐

积极的小学生不要香菜:你才沟通多少,没500不要说难
点赞 评论 收藏
分享
自学java狠狠赚一...:骗你点star的,港卵公司,记得把star收回去
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-02 14:45
bg是二本双一流硕,目标是Java后端开发岗,投暑期实习0大厂面试,只有极少的大厂测开,可能投的晚加上简历太烂加上0实习?求大佬们给个建议
程序员小白条:别去小厂,初创或者外包,尽量去中小,100-499和500-999,专门做互联网产品的,有公司自研的平台和封装的工具等等,去学习一些业务相关的,比如抽奖,积分兑换,SSO认证,风控,零售等等,目标 Java 后端开发吗?你要不考虑直接走大厂测开?如果技术不行的话,有面试你也很难过的
实习,不懂就问
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务