m0_53588922
小阿giao ?
2021-05-12 21:57
采纳率: 100%
浏览 85

C语言投票系统,急用!

选举者有三人,分别为A,B,C。投票者一共有10人。不投票者视为弃票。但是投票者并不一定要投给A,B,C三人,他们可以投给不参加选举的人,比如小明小红等。最后要输出A,B,C的票数,弃票的票数,和不参加选举的人的名字和它们获得的票数!

  • 点赞
  • 收藏

5条回答 默认 最新

  • it_xiangqiang
    C和C++技术博客 2021-05-13 17:27
    已采纳

    参考一下:https://blog.csdn.net/it_xiangqiang/article/details/109611902,望采纳,不懂的可以关注私信我。

    点赞 评论
  • software7503

    他们可以投给不参加选举的人?不参加选举的人都是用一个字母表示吧。

    点赞 评论
  • benbenli
    benbenli 2021-05-12 22:36

     

    
    #include <stdio.h>
    #include <string.h>
    
    int main()
    {
        printf("Voting system. You can enter A, B, C or any other name. Press ENTER for abstaining from voting.\n");
        char* c[10] = { "A", "B", "C" };
        int v[10] = {0};
        int n = 3;
        int a = 0;
        char buffer[256];
        
        for (int i = 0; i < 10; ++i) 
        {
            printf("Voter %d vote for: ", i + 1);
            gets(buffer);
            
            if (buffer[0] == 0)
            {
                ++a;
            }
            else 
            {
                int j = 0;
                while (j < n && strcmp(c[j], buffer) != 0)
                    ++j;
                if (j < n) 
                {
                    ++v[j];
                }
                else
                {
                    c[n] = (char*)malloc(strlen(buffer) + 1);
                    strcpy(c[n], buffer);
                    v[n++] = 1;
                }
            }
        }
        
        printf("Election result: \n");
        for (int i = 0; i < n; ++i)
        {
            printf("Candidate %s got %d vote(s);\n", c[i], v[i]);
        }
        printf("Number of abstained votes: %d", a);
        
        return 0;
    }
    
    // Output
    Voting system. You can enter A, B, C or any other name. Press ENTER for abstaining from voting.                                                                                      
    Voter 1 vote for: A                                                                                                                                                                  
    Voter 2 vote for: B                                                                                                                                                                  
    Voter 3 vote for: C                                                                                                                                                                  
    Voter 4 vote for: A                                                                                                                                                                  
    Voter 5 vote for: A                                                                                                                                                                  
    Voter 6 vote for:                                                                                                                                                                    
    Voter 7 vote for: Adam                                                                                                                                                               
    Voter 8 vote for: Bobby                                                                                                                                                              
    Voter 9 vote for:                                                                                                                                                                    
    Voter 10 vote for: B  
                                                                                                                                                                   
    Election result:                                                                                                                                                                     
    Candidate A got 3 vote(s);                                                                                                                                                           
    Candidate B got 2 vote(s);                                                                                                                                                           
    Candidate C got 1 vote(s);                                                                                                                                                           
    Candidate Adam got 1 vote(s);                                                                                                                                                        
    Candidate Bobby got 1 vote(s);                                                                                                                                                       
    Number of abstained votes: 2                                                                                                                                                         
     
    点赞 评论
  • QA_Assistant
    有问必答小助手 2021-05-13 12:53

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    点赞 评论
  • QA_Assistant
    有问必答小助手 2021-05-13 15:24

    非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

    速戳参与调研>>>https://t.csdnimg.cn/Kf0y

    点赞 评论

相关推荐