
题目
解决代码及点评
/************************************************************************/ /* 24. 统计一个单位职工的年龄,要求把相同年龄最多的那个年龄找出来 (可能有几个这样的年龄),并统计出现的次数。 */ /************************************************************************/ #include <stdio.h> #include <stdlib.h> #include <math.h> #include <string.h> struct ZG { int age; int times; }; void main() { int arr[20]={0}; // 职工年龄 bool iss[20]={0}; struct ZG Szg[20]={0}; int p=0; for (int i=0;i<20;i++) { arr[i]=rand()%30; // 给所有职工年龄赋值 } for (int i=0;i<20;i++) { printf("%5d",arr[i]); // 输出 } printf("\n"); for (int i=0;i<20;i++) { if (iss[i]==1) // iss表示已经处理的数字 { continue; } int num=0; for(int j=0;j<20;j++) // 查找所有和i相同的年龄 { if (arr[i]==arr[j]) { num++; iss[j]=1; } } Szg[p].age=arr[i]; // 保存年龄 Szg[p].times=num; p++; } int maxtime=0; for (int j=0;j<p;j++) // 查找最大次数 { if (maxtime<Szg[j].times) { maxtime=Szg[j].times; } } for (int j=0;j<p;j++) // 打印最大次数 { if (maxtime==Szg[j].times) { printf("年龄为:%d 次数为%d\n",Szg[j].age,maxtime); } } system("pause"); }
代码编译以及运行
由于资源上传太多,资源频道经常被锁定无法上传资源,同学们可以打开VS2013自己创建工程,步骤如下:
1)新建工程
2)选择工程
3)创建完工程如下图:
4)增加文件,右键点击项目
5)在弹出菜单里做以下选择
6)添加文件
7)拷贝代码与运行
程序运行结果