小甲鱼_结构体_投票系统
本帖最后由 zzp28218 于 2022-5-5 10:53 编辑方法一:使用基础代码完成。
#include <stdio.h>
#include <string.h>
#define N 10 // 定义投票次数
int main(){
char name; // 定义一个数组用于接收键盘输入的字符串
int count={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++;
else if(!strcmp(name,"路人甲")) count++;
else if(!strcmp(name,"晓晓")) count++;
else if(!strcmp(name,"怡宝")) count++;
}
x++;
}
// 打印投票结果
printf("\n\n投票结果:\n");
int i,j;
for(i=0;i<4;i++){
// 用的switch,也可以定义一个二维数组,然后打印二维数组中的行再加上统计的次数
switch(i){
case 0:
printf("小甲鱼票数:%d\n",count);
break;
case 1:
printf("路人甲票数:%d\n",count);
break;
case 2:
printf("晓晓票数:%d\n",count);
break;
case 3:
printf("怡宝票数:%d\n",count);
break;
default:
printf("err");
break;
}
}
}
方法二:使用结构体(只是在输入投票人名的时候用了一下)
#include <stdio.h>
#include <string.h>
#define N 10 // 存放投票结果次数
struct persons{
char name;
}person;
int main(){
printf("欢迎来到投票系统!\n");
printf("请输入要投票的人名:小甲鱼、路人甲、晓晓、怡宝(输入exit结束)\n");
char name1 = {"小甲鱼","路人甲","晓晓","怡宝"}; // 方便后续打印
int x=1,count={0,0,0,0}; // count数组用于保存计数结果
while(x<N+1){
printf("第%d次投票:",x) ;
scanf("%s",person.name);// 键盘输入
if(!strcmp(person.name,"exit")){ // 判断是否结束投票
printf("结束") ;
break;
}
else{
// 开始计数
if(!strcmp(person.name,"小甲鱼")) count++;
else if(!strcmp(person.name,"路人甲")) count++;
else if(!strcmp(person.name,"晓晓")) count++;
else if(!strcmp(person.name,"怡宝")) count++;
}
x++;
}
// 打印投票结果
printf("\n\n投票结果:\n");
int i,j;
for(i=0;i<4;i++){ // 控制二维数组的行
for(j=0;name1!=0;j++){ // 控制二位数组的列
printf("%c",name1);
}
printf(":%d\n",count);
}
return 0;
}
第二个方法最后一个循环是啥意思啊?{:10_266:} 小垃圾. 发表于 2022-5-4 23:13
第二个方法最后一个循环是啥意思啊?
就是打印二维数组中的元素啊 不错,感谢分享!
页:
[1]