|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 zzp28218 于 2022-5-5 10:53 编辑
方法一:使用基础代码完成。
- #include <stdio.h>
- #include <string.h>
- #define N 10 // 定义投票次数
- int main(){
- char name[20]; // 定义一个数组用于接收键盘输入的字符串
- int count[4]={0}; // 用于计数
- int x=1;
- printf("欢迎来到投票系统!\n");
- printf("请输入要投票的人名:小甲鱼、路人甲、晓晓、怡宝(输入exit结束)\n");
-
- while(x<N+1){
- printf("第%d次投票:",x);
- scanf("%s",name);
- if(!strcmp(name,"exit")){ // 判断是否结束投票
- printf("结束") ;
- break;
- }
- else{
- // 开始计数
- if(!strcmp(name,"小甲鱼")) count[0]++;
-
- else if(!strcmp(name,"路人甲")) count[1]++;
-
- else if(!strcmp(name,"晓晓")) count[2]++;
-
- else if(!strcmp(name,"怡宝")) count[3]++;
- }
- x++;
- }
-
- // 打印投票结果
- printf("\n\n投票结果:\n");
- int i,j;
- for(i=0;i<4;i++){
- // 用的switch,也可以定义一个二维数组,然后打印二维数组中的行再加上统计的次数
- switch(i){
- case 0:
- printf("小甲鱼票数:%d\n",count[i]);
- break;
- case 1:
- printf("路人甲票数:%d\n",count[i]);
- break;
-
- case 2:
- printf("晓晓票数:%d\n",count[i]);
- break;
-
- case 3:
- printf("怡宝票数:%d\n",count[i]);
- break;
- default:
- printf("err");
- break;
- }
- }
- }
复制代码
方法二:使用结构体(只是在输入投票人名的时候用了一下)
- #include <stdio.h>
- #include <string.h>
- #define N 10 // 存放投票结果次数
- struct persons{
- char name[20];
- }person[N];
- int main(){
- printf("欢迎来到投票系统!\n");
- printf("请输入要投票的人名:小甲鱼、路人甲、晓晓、怡宝(输入exit结束)\n");
- char name1[4][20] = {"小甲鱼","路人甲","晓晓","怡宝"}; // 方便后续打印
- int x=1,count[4]={0,0,0,0}; // count[4]数组用于保存计数结果
- while(x<N+1){
- printf("第%d次投票:",x) ;
- scanf("%s",person[x-1].name); // 键盘输入
- if(!strcmp(person[x-1].name,"exit")){ // 判断是否结束投票
- printf("结束") ;
- break;
- }
- else{
- // 开始计数
- if(!strcmp(person[x-1].name,"小甲鱼")) count[0]++;
-
- else if(!strcmp(person[x-1].name,"路人甲")) count[1]++;
-
- else if(!strcmp(person[x-1].name,"晓晓")) count[2]++;
-
- else if(!strcmp(person[x-1].name,"怡宝")) count[3]++;
- }
- x++;
- }
- // 打印投票结果
- printf("\n\n投票结果:\n");
- int i,j;
- for(i=0;i<4;i++){ // 控制二维数组的行
- for(j=0;name1[i][j]!=0;j++){ // 控制二位数组的列
- printf("%c",name1[i][j]);
- }
- printf(":%d\n",count[i]);
- }
- return 0;
- }
复制代码
|
|