一个c语言的题,求各位大佬帮帮忙
试题描述输入N个学生的C语言程序设计课程成绩,请你设计一个函数来编程找出这些学生的最高分、并列第一的学生数。函数原型:intsearch(intx[],intn,int*...
试题描述
输入N个学生的C语言程序设计课程成绩,请你设计一个函数来编程找出这些学生的最高分、并列第一的学生数。
函数原型:int search(int x[], int n, int *count);
输入
输入包含两行:
第一行是N(0 < N < 1000)。
第二行是N个整数,代表N个学生的C语言程序设计课程成绩,邻近两数之间用一个空格隔开。
输出
按照题目要求输出最高分和取得最高分的学生数,用一个空格隔开。
输入示例
10
52 95 87 69 78 84 82 95 90 95
输出示例
95 3
数据范围
输入和输出均为int范围的整数,对于100%的数据,0 < N < 1000 展开
输入N个学生的C语言程序设计课程成绩,请你设计一个函数来编程找出这些学生的最高分、并列第一的学生数。
函数原型:int search(int x[], int n, int *count);
输入
输入包含两行:
第一行是N(0 < N < 1000)。
第二行是N个整数,代表N个学生的C语言程序设计课程成绩,邻近两数之间用一个空格隔开。
输出
按照题目要求输出最高分和取得最高分的学生数,用一个空格隔开。
输入示例
10
52 95 87 69 78 84 82 95 90 95
输出示例
95 3
数据范围
输入和输出均为int范围的整数,对于100%的数据,0 < N < 1000 展开
1个回答
展开全部
int search(int x[], int n, int *count)
{
int i,m=*x;
*count=1;
for(i=0;i<n;i++)
{
if(m<*(x+i))
{
m=*(x+i);
*count=1;
}
else if(m==*(x+i))(*count)++;
}
return m;
}
main()
{
int x[100],n,count,i;
scanf("%d",&n);
for(i=0;i<n;i++)scanf("%d",x+i);
printf("%d %d\n",search(x, n, *count),count);
}
{
int i,m=*x;
*count=1;
for(i=0;i<n;i++)
{
if(m<*(x+i))
{
m=*(x+i);
*count=1;
}
else if(m==*(x+i))(*count)++;
}
return m;
}
main()
{
int x[100],n,count,i;
scanf("%d",&n);
for(i=0;i<n;i++)scanf("%d",x+i);
printf("%d %d\n",search(x, n, *count),count);
}
更多追问追答
追问
你好请问*count为什么可以直接赋值呢
我听同学说指针变量不能直接赋值,除了0以外
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询