输入10个整数,将它们从大到小排序,并查找输出最小数出现的次数。怎样查找最小数输出的次数
#include <stdio.h>
#define N 81
int main()
{
int i,count=0,a[N],temp,j;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
for(j=i+1;j<10;j++)
if(a[i]<a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
for(i=9,j=8;1;i--,j--)
if(a[i]==a[j])
count++;
else
break;
for(i=0;i<10;i++)
printf("%4d",a[i]);
printf("\ncount=%d",count+1);
}
int find_count_of_min_val(const int* a, int n) {
if (a == NULL || n <= 0)
return 0;
int min_val = a[0];
int count = 1;
for (int i = 1; i < n; ++i) {
if (a[i] < min_val) {
min_val = a[i];
count = 1;
} else if (a[i] == min_val) {
++count;
}
}
return count;
}
仅做查找,没有做排序
#include <stdio.h>
int main(int argc, char const *argv[])
{
int min, count, a;
for (int i = 0; i < 10; i++)
{
scanf("%d", &a);
if (i == 0)
{
min = a;
count = 1;
}
else
{
if (min > a)
{
min = a;
count = 1;
}
else if(min == a)
count += 1;
}
}
printf("%d %d",min,count);
return 0;
}