|  | 
 
 发表于 2013-12-11 22:27:17
|
显示全部楼层 
| 本帖最后由 maomingkun 于 2013-12-11 22:29 编辑 
 #include <stdio.h>
 
 main()
 {
 int a[5]={7,4,3,5,2};
 int i,j,x=0,y=0,k=1,max,min;
 float sum=0.0;
 
 for(i=0;i<5;i++)
 {
 for (j=0;j<5;j++)
 {
 if (a==a[j]&&i!=j)     //如果两个数相同,a不算入sum
 {
 x=0;
 y++;      //判断有几个数相同,当有三个数相同时,1跟2比,y++,然后跳出循环;然后2跟1比;3跟1比,所以正好求出几个数相同
 break;
 }
 x=1;   / /x==1时,说明没有与a重复的a[j]。
 }
 if (x==1)   //下边是将不重复的数进行运算
 {
 if (k>=1)
 {
 max=a;    //将没有重复的第一个数赋值给max和min用于初始化这两个变量
 min=a;
 k-=1;  //这个if语句仅使用一次
 }
 max=max>a?max:a;   //求出最大值
 min=min<a?min:a;    //求出最小值
 
 
 sum+=a;     //求和
 printf("%d\t",a);
 }
 
 }
 printf("\n");
 switch (y)    //判断有几个数相同,根据不同的值有不同的输出。这些你自己完善一下吧
 {
 case 0:
 {
 sum=sum-max-min;
 printf("有5个不同的数, 去掉最大数%d和最小数%d,总和是%d,平均数是%1.1f\n",max,min,(int)sum,sum/3);
 break;
 }
 case 2:
 {
 sum=sum-max-min;
 printf("有3个不同的数, 去掉最大数%d和最小数%d,总和是%d,平均数是%1.1f\n",max,min,(int)sum,sum/1);
 break;
 }
 case 3:
 {
 break;
 }
 case 4:
 {
 
 printf("有1个不同的数, 和是%d,平均数是%d\n",(int)sum,(int)sum);
 break;
 }
 case 5:
 {
 printf("5个数都相同!");
 break;
 }
 }
 }
 
 对不住了兄弟,有点事儿,发的有点晚了!
 | 
 |