现在的位置: 首页 > 综合 > 正文

基于visual Studio2013解决C语言竞赛题之0524职工年龄

2013年01月09日 ⁄ 综合 ⁄ 共 957字 ⁄ 字号 评论关闭


题目

解决代码及点评


/************************************************************************/
/* 
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)选择工程

抱歉!评论已关闭.