凯鲁嘎吉
用书写铭记日常,最迷人的不在远方

投票系统:给定候选人名单,从键盘输入候选人的名字,统计票数,并输出最终获胜者。若投票人输入的名字不在其候选名单上,则该票数无效。

//凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/

 1 #include<stdio.h>
 2 #include<string.h>
 3 #define NUM 10  //投票的人数
 4 #define K 4  //候选人数
 5 struct vote{
 6     char name[10];
 7     int num;
 8 }candidate[K]={"Mark", 0, "wrr", 0, "Mary", 0, "Kay", 0};
 9 
10 void main(){
11     char input[10];
12     int i, j, m=0, n=0, max=0;
13 
14     printf("\t\tWelcome to the voting system!\n");
15     printf("\t\tcandidate:");
16     for(j=0;j<K;j++){
17         printf("%s ", candidate[j].name);
18     }
19     printf("\n");
20 
21     for(i=0;i<NUM;i++){
22         printf("No.%d is voting ,name is :", i+1);
23         scanf("%s",input);
24         for(j=0;j<K;j++){
25             if(strcmp(candidate[j].name, input)==0){
26                 n=candidate[j].num++;
27             }
28             if(max<n){
29                 max=n;
30                 m=j;
31             }
32         }
33     }
34     printf("\n\n");
35 //int strcmp(char *a, char *b)  比较字符串a, b    
36 //a<b, 返回负数; a=b,返回 0 ; a>b,返回正数
37     for(j=0;j<K;j++){
38         printf("%s's number of votes is %d\n", candidate[j].name, candidate[j].num);
39     }
40 
41     printf("\nThe victor is %s !!! \nThe number of votes is %d\n\n", candidate[m].name, max+1);
42 }

结果为:

 

posted on 2018-03-18 15:27  凯鲁嘎吉  阅读(4866)  评论(4编辑  收藏  举报