C语言问题,请问思路和代码该怎么打?

给你n个数,让你找到这n个数中比k大的有多少个?

/*

find:函数名字;

输入:

*pData:要比较的数据集合

cnt :数据集合的个数

num :要比较的数字

返回:

返回比num大的个数

*/

int find(int *pData,int cnt,int num)

{

int i = 0;

int k = 0;

for (i = 0;i<cnt;i++)

{

if (pData[i] > num)

{

k++;

}

}

return k;

}

int main()

{

int a[]={1,2,3,4,5,6,7,8,9,0};

int k = 5;

int b= find(a,10,k);

printf("数据集合中比%d大的数据有%d个\n",k,b);

rerurn 0;

}

运行结果

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-11-21
说一下思路吧,代码别人给了。
这n个数,放在数组里面。定义个变量max,把a[0]赋给它,然后通过for循环,逐个跟它比较。定义个变量t,如果比较的时候,有数大于k,则让t加1,最后打印出t就可以了。本回答被网友采纳
第2个回答  2020-11-21
#include <stdio.h>
int main (){
int i,sum=0,m,n,j,s[1000];
printf("请输入数据个数\n:");
scanf("%d", &n) ;
if(n<2)
return 44;
printf("请输入%d个正整数\n:",n);
for(i=0;i<n;i++){
scanf("%d" , s+i);
if(s[i]<1) return 44;
}
printf("请输入数k,因为我想找有多少个比k大的数,k=");
scanf("%d", &m);
for(i=0;i<n;i++) if(s[i]>m) sum++;
if(sum) printf("有%d个数比%d大\n",sum,m);
else printf("没有比%d大的数\n",m);
return 0;
}