按照题目输入10个数保存到一纬数组。
之后对一纬数组进行降序排序。
最后对排序后的数组与平均值比较并输出。
#include<stdio.h>
int checkNum(int num,int nums[],int len);//检查数字是否子数组存在,存在返回1,不存在返回0
int input(int nums[]);//输入10个不重复的数字保存到nums数组,返回数值总和
int main()
{
int i,j,nums[10],sum;
float avg;
sum=input(nums);
avg=(float)sum/10;
for(i=0;i<10;i++)//冒泡排序,降序排列
for(j=i+1;j<10;j++)
if(nums[i]<nums[j])
nums[i]^=nums[j],nums[j]^=nums[i],nums[i]^=nums[j];
for(i=0;i<10;i++)
if(nums[i]<avg)
printf("%d ",nums[i]);
printf("\n");
return 0;
}
int input(int nums[])
{
int i,num,len,sum,flag=1;
while(flag)
{
len=0;
sum=0;
for(i=0;i<10;i++)
{
scanf("%d",&num);
if(!checkNum(num,nums,len))
nums[len]=num,sum+=num,flag=0,len++;
else
{
printf("数字输入有重复!请重新输入10个数字!\n");
flag=1;
fflush(stdin);
break;
}
}
}
return sum;
}
int checkNum(int num,int nums[],int len)//检查数字是否子数组存在,存在返回1,不存在返回0
{
int i;
if(!len)
return 0;
for(i=0;i<len;i++)
if(num==nums[i])
return 1;
return 0;
}