一道C语言编程题

qq_47712720 2020-05-11 11:14:28
假设学生人数最多不超过100。从键盘输入学生人数n及n个学生的分数到数组中,求最大值、最小值、平均值、不及格的人数。
...全文
113 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_47712720 2020-05-11
  • 打赏
  • 举报
回复
我刚刚试着编了一下,但是还是有错误但是我不知道咋改啊 #include<stdio.h> void main() { int max,min; int i,n,sum=0,t=0; int a[i]; float avge; printf("请输入学生的个数:"); scanf("%d",&n); printf("请输入%d个学生的成绩:"); {for(i=0;i<n;i++) scanf("%d",&a[i]); max=a[n-1]; min=a[0]; for(i=0;i<n;i++) {if(min>a[i]) min=a[i]; if(max<a[i]) max=a[i]; if(a[i]<60) t++; sum+=a[i]; } avge=sum*1.0/n; printf("最大值%d\n,最小值%d\n,不及格人数%d\n,平均分%lf",max,min,t,avge); }}
chxchxkkk 2020-05-11
  • 打赏
  • 举报
回复
引用 2 楼 qq_47712720 的回复:
[quote=引用 1 楼 chxchxkkk的回复:]这样的数组题不难吧,就是个排序和判断
刚学C语言,我做了一早上了[/quote] 给你个思路 定义变量: int max, min; //最大值、最小值 int i, sum = 0, t = 0; float avge; //平均值 int arr[10]; //假定10个学生 //数组输入应该会吧 max = arr[9]; min = arr[0]; for (i=0; i<10; i++) { if (min > a[i]) min = a[i] //比最小值小则赋值给最小值 if (max < a[i]) max = a[i] //比最大值大则赋值给最大值 if (a[i] < 60) t++; //不及格人数 sum += a[i]; } avge = sum * 1.0 / 10; //平均值 输出 max min avge t
qq_47712720 2020-05-11
  • 打赏
  • 举报
回复
引用 1 楼 chxchxkkk的回复:
这样的数组题不难吧,就是个排序和判断
刚学C语言,我做了一早上了
chxchxkkk 2020-05-11
  • 打赏
  • 举报
回复
这样的数组题不难吧,就是个排序和判断
qq_47712720 2020-05-11
  • 打赏
  • 举报
回复
引用 5 楼 弦之弈的回复:
int main()
{
int max, min, ave, unq;
int i;
int n; // number of students
scanf("%d",&n);
char c;
scanf("%c",&c);
int str[n]; //
for(i=0 ; i<n ; i++)
{
scanf("%d",&str[i]);
}
max = str[0];
min = str[0];
for(i=0 ; i<n-1 ; i++)
{
if(str[i]>str[i+1])
{
max = str[i];
min = str[i+1];
}
else
{
min = str[i];
max = str[i+1];
}
}
unq = 0;
for(i=0 ; i<n ; i++)
{
if(str[i] < 60)
{
unq++;
}
}
ave = 0;
for(i=0 ; i<n ; i++)
{
ave = ave+str[i];
}
ave = ave/n;
// print
}


大概就是这样,题主加上输出和.h应该就行了
我知道了谢谢
qq_47712720 2020-05-11
  • 打赏
  • 举报
回复
引用 5 楼 弦之弈的回复:
int main()
{
int max, min, ave, unq;
int i;
int n; // number of students
scanf("%d",&n);
char c;
scanf("%c",&c);
int str[n]; //
for(i=0 ; i<n ; i++)
{
scanf("%d",&str[i]);
}
max = str[0];
min = str[0];
for(i=0 ; i<n-1 ; i++)
{
if(str[i]>str[i+1])
{
max = str[i];
min = str[i+1];
}
else
{
min = str[i];
max = str[i+1];
}
}
unq = 0;
for(i=0 ; i<n ; i++)
{
if(str[i] < 60)
{
unq++;
}
}
ave = 0;
for(i=0 ; i<n ; i++)
{
ave = ave+str[i];
}
ave = ave/n;
// print
}


大概就是这样,题主加上输出和.h应该就行了
谢谢!!! 我会了谢谢谢谢
弦之弈 2020-05-11
  • 打赏
  • 举报
回复
int main()
{
int max, min, ave, unq;
int i;
int n; // number of students
scanf("%d",&n);
char c;
scanf("%c",&c);
int str[n]; //
for(i=0 ; i<n ; i++)
{
scanf("%d",&str[i]);
}
max = str[0];
min = str[0];
for(i=0 ; i<n-1 ; i++)
{
if(str[i]>str[i+1])
{
max = str[i];
min = str[i+1];
}
else
{
min = str[i];
max = str[i+1];
}
}
unq = 0;
for(i=0 ; i<n ; i++)
{
if(str[i] < 60)
{
unq++;
}
}
ave = 0;
for(i=0 ; i<n ; i++)
{
ave = ave+str[i];
}
ave = ave/n;
// print
}


大概就是这样,题主加上输出和.h应该就行了

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧