|
发表于 2022-12-6 11:58:53
|
显示全部楼层
本楼为最佳答案
本帖最后由 jhq999 于 2022-12-6 11:59 编辑
你不会输入输出都不会吧?
- #include <stdio.h>
- /*
- 用例:3 王 李 张 6 王 王 王 李 李 张
- 输出结果:
- 请输入候选人数量(大于3个):
- 请输入第1个候选人姓名:
- 请输入第2个候选人姓名:
- 请输入第3个候选人姓名:
- 请输入投票人数量(大于10个):
- 第1个候选人姓名:王
- 第2个候选人姓名:李
- 第3个候选人姓名:张
- 请开始投票:
- 请第1个投票人输入候选人姓名:
- 请第2个投票人输入候选人姓名:
- 请第3个投票人输入候选人姓名:
- 请第4个投票人输入候选人姓名:
- 请第5个投票人输入候选人姓名:
- 请第6个投票人输入候选人姓名:
- 第1个候选人:王的票数为3
- 第2个候选人:李的票数为2
- 第3个候选人:张的票数为1
- */
- struct HXR
- {
- union
- {
- long long nameval;
- char name[8];
- };
- int count;
- };
- int main()
- {
- int i,j, n,m;
- printf("请输入候选人数量(大于3个):");
- scanf("%d",&n);
- struct HXR hxr[n+1];
- for(i=0;i<n;i+=1)
- {
- printf("请输入第%d个候选人姓名:",i+1);
- hxr[i].nameval=0;
- hxr[i].count=0;
- scanf("%s",hxr[i].name);
- }
- hxr[n].nameval=0;
- hxr[n].count=0;
- printf("请输入投票人数量(大于10个):");
- scanf("%d",&m);
- printf("请开始投票:\n");
- for(i=0;i<m;i+=1)
- {
- hxr[n].nameval=0;
- printf("请第%d个投票人输入候选人姓名:",i+1);
- scanf("%s",hxr[n].name);
- for(j=0;j<n;j+=1)
- {
- if(hxr[n].nameval==hxr[j].nameval)
- {
- hxr[j].count+=1;
- break;
- }
- }
- }
- for(j=0;j<n;j+=1)
- {
- printf("第%d个候选人:%s的票数为:%d\n",j+1,hxr[j].name,hxr[j].count);
- }
- return 0;
- }
复制代码 |
|