|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
4.1.6 输入10个整数,将它们从大到小排序,并查找输出最小数出现的次数。
排序整数按照%4d格式输出。输出数列结束后换行。
输入输出样例为:
5 3 6 1 3 2 1 5 7 1
7 6 5 5 3 3 2 1 1 1
count=3
“=”等号两边无空格,输出结束无换行符。
错误解法如下:
#define N 10
#include<stdio.h>
int main()
{
int i,j,a[N],tmp,count=0,min;
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(i=0;i<N;i++)
for(j=0;j<N-i;j++)
if(a[j]<a[j+1])
{
tmp=a[j];
a[j]=a[j+1];
a[j+1]=tmp;
}
for(i=0;i<N;i++)
printf("%4d",a[i]);
printf("\n");
for(i=0;i<N;i++)
{min=a[9];
if(a[i]==min)
count++;
}
printf("count=%d",count);
return 0;
}
我的疑惑;这个最小值为什么还要通过比较才能得到,已经排过序了,a[9]一定是最小值啊?为什么不能直接让min=a[9],但这样出来的答案确实不对 |
|