当前位置:首页 » 编程语言 » C语言求平均成绩和等级
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

C语言求平均成绩和等级

发布时间: 2022-09-11 09:39:49

c语言问题(输入2个学生3门课的成绩并求每个学生的平均分和成绩和)

用数组或者结构都可实现,我这里用数组写。循环输入同时累加总分计算平均值。

#include<stdio.h>

#define MS 2//最大学生人数

#define MC 3//最大科目数

int main()

{

int i,j;

float scs[MS][MC],avg[MC],sum[MC]={0};

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

{

printf("请输入学生%d的%d门成绩:",i+1,MC);

for(j=0;j<MC;j++)

scanf("%f",&scs[i][j]),sum[i]+=scs[i][j];

avg[i]=sum[i]/MC;

}

//-------输出结果-----

for(i=0,printf(" ");i<MS;i++)

printf("学生%d的平均分:%.1f,总成绩:%.0f ",i+1,avg[i],sum[i]);

return 0;

}

⑵ C语言编程 题目:输入30个学生成绩,求最高分,最低分和平均分(用数组存放数据)

#include<stdio。h>

intmain()

{

intmax,min,score;

doubleavg=0;

scanf("%d",&score);

max=min=score;

avg+=score;

for(inti=0;i<29;i++)

{

scanf("%d",&score);

if(score>max)max=score;

if(score<min)min=score;

avg+=score;

}

avg=avg/30;

printf("最高分max=%d,最低分min=%d,平均分avg=%lf ",max,min,avg);

return0;

}

文件输入/输出

在C语言中,输入和输出是经由标准库中的一组函数来实现的。在ANSI C中,这些函数被定义在头文件;中。

标准输入/输出

有三个标准输入/输出是标准I/O库预先定义的:

stdin标准输入

stdout标准输出

stderr输入输出错误

以上内容参考:网络-c语言

⑶ 用C语言编程!!!输入3个学生5门课程的成绩,并求每个学生的平均成绩、最高分和最低分。

#include <stdio.h>

struct

{

int course[5];

}student[3];

void main()

{

int i,j,arg[3]={0},max[3]={0},min[3]={0};

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

{

printf("请输入学生%d成绩 ",i);

scanf("%d,%d,%d,%d,%d",&(student+i)->course[0],&(student+i)->course[1],&(student+i)->course[2],&(student+i)->course[3],&(student+i)->course[4]);

arg[i]=((student+i)->course[0]+(student+i)->course[1]+(student+i)->course[2]+(student+i)->course[3]+(student+i)->course[4])/5;

max[i]= (student+i)->course[0];

min[i]= (student+i)->course[0];

for (j=1;j<5;j++)

{

if (max[i] > (student+i)->course[j])

{

min[i] = (student+i)->course[j];

}

else

{

max[i]= (student+i)->course[j];

}

}

printf("学生%d,平均分%d,最高分数%d,最低分数%d ",i,arg[i],max[i],min[i]);

}

}

⑷ 求平均成绩c语言

#include<stdio.h>

int main()

{ int n,i,x,s=0;

scanf("%d",&n); //求n个成绩的平均分

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

{ scanf("%d",&x);

s+=x;

}

printf("%.2f ",(float)s/n);

return 0;

}

⑸ 如何用C语言编程计算学生的平均成绩

#include<stdio.h>
void main(){
int i,j,score[10],count=0,temp,sum=0;
double avg;
for(i=0;i<10;i++){ //输入10个学生的成绩,并求着10个学生的成绩总和
printf("请输入第%d个学生的成绩:",(i+1));
scanf("%d",&score[i]);
sum+=score[i];
}
avg=sum*1.0/10; //求着这10个学生成绩的平均值
for(i=0;i<10;i++){ //统计小于平均分的学生人数
if(score[i]<avg){
count++;
}
}
for(i=0;i<10;i++){ //使用冒泡排序对这10个学生的成绩逆序排序
for(j=0;j<9-i;j++){
if(score[j]<score[j+1]){
temp=score[j];
score[j]=score[j+1];
score[j+1]=temp;
}
}
}
printf("最高成绩:%d分,平均成绩:%.2f分,低于平均成绩的人数是:%d人!\n",score[0],avg,count);
}

⑹ 平均成绩计算 C语言程序编写

# include<stdio.h>
# include<stdlib.h>
# include<string.h>
#define N 10//修改学生人数
struct data
{ int number;
char name[20];
int score[3];
float ave;
int sum;
}stu[10];
void ave(struct data stu[],int n)
{int sum[3]={0,0,0},i,j;
for(i=0;i<3;i++)
for(j=0;j<n;j++)
sum[i]+=stu[j].score[i];
for(i=0;i<3;i++)
printf("第%d门课程的平均成绩:%d\n",i+1,sum[i]/n);
}
void main()
{int i,j,m;
char str[20];
int a,c;
float d;
for(i=0;i<N;i++)
{printf("the %d student 学号:",i+1);
gets(str);
stu[i].number=atoi(str);
printf("姓名:");
gets(stu[i].name);
printf("3门课的成绩分别为:");
stu[i].sum=0;
stu[i].ave=0;
for(j=0;j<3;j++)
{gets(str);
stu[i].score[j]=atoi(str);
stu[i].sum+=stu[i].score[j];
stu[i].ave+=stu[i].score[j];
}
(float)stu[i].ave/=3;
}
ave(stu,10);
for(i=0;i<N;i++)
printf("\n%2d%6s%3d%10d%9d%9d%8d %4.2f",i+1,stu[i].name,stu[i].number,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].sum,stu[i].ave);
printf("\n");
}

⑺ C语言程序,请你编写一个程序计算每个学生的平均成绩

#include&lt;stdio.h&gt;

void main()

{

float a[10][10];//用来存放10名学生的5门成绩,最后一位用于存放平均成绩

int i,j;

float sum=0.0;

for(i=0;i&lt;10;i++)

{

printf("请输入第%d个学生的5门成绩",i+1);

for(j=0;j&lt;5;j++)

{

scanf("%f",&a&lt;i&gt;[j]);

sum=sum+a&lt;i&gt;[j];

}

a&lt;i&gt;[10]=sum/5.0;

}

printf("10名学生的成绩及平均分 ");

for(i=0;i&lt;10;i++)

{

for(j=0;j&lt;10;j++)

printf("%.3f",a&lt;i&gt;[j]);

printf(" ");

}

}

(7)C语言求平均成绩和等级扩展阅读:

printf的用法

格式

printf函数的原型为:

#include&lt;stdio.h&gt;

int printf(const char*format,...);

在讲每一个函数的时候都会先把它的函数原型写出来,这个原型你们现在看不懂不要紧,等到学完C语言之后再来看这个原型就会发现它是很有参考意义的!它对深刻理解函数有着很大的价值。

printf的格式有四种:

1)printf("字符串 ");

#include&lt;stdio.h&gt;

int main(void)

{

printf("Hello World! ");// 表示换行

return 0;

}

其中 表示换行的意思。它是一个转义字符,前面在讲字符常量的时候见过。其中n是“new line”的缩写,即“新的一行”。

此外需要注意的是,printf中的双引号和后面的分号必须是在英文输入法下。双引号内的字符串可以是英文,也可以是中文。

2)printf("输出控制符",输出参数);

纯文本复制

#include&lt;stdio.h&gt;

int main(void)

{

int i=10;

printf("%d ",i);/*%d是输出控制符,d表示十进制,后面的i是输出参数*/

return 0;

}

⑻ c语言,输入2门课3个人的成绩,求每门课的平均成绩,最高分和最低分

1、你的s没有初值;
2、语句在循环内还是循环外,位置有问题
3、另外,看你的程序求的是每行(每个学生的三科成绩)中的最高分,而不是每门课的最高分,行数只有2行,但是你的max和min数组却是3个元素,逻辑上就出问题了(不会出现编译错误,因为两个数组的元素个数比程序要求的2个更多所以你运行结果会只有2个);你本来是想算每门课的最高最低分吧?要改一下程序;
4、你可能在程序中输入的字符有问题(要注意输入法)。
以下程序只做了轻微修改,不会报错,有运行结果,但非预期。
5.你的a[N][M]数组声明是是int型,可是输入值时用的是“lf”长浮点型,有问题
#define N 2
#define M 3
#include<stdio.h>
void main()
{
int i,j,max[M],s=0,v[M],min[M],a[N][M]; //s初值;
for(i=0;i<N;i++)
for(j=0;j<M;j++){

scanf("%lf",&a[i][j]);}

for(j=0;j<M;j++)
{
for(i=0;i<N;i++)
s=s+a[i][j];
v[j]=s/N;
s=0;
}
for(j=0;j<M;j++)
printf("%d\n",v[j]);

for(i=0;i<N;i++){
max[i]=min[i]=a[i][j]; //此时的j是多大,已经是3了吧?应改为
//max[i]=min[i]=a[i][0];吧?
for(j=0;j<M;j++){
if(max[i]<a[i][j])
max[i]=a[i][j];
if(min[i]>a[i][j])
min[i]=a[i][j];
}
printf("最大数=%d\n",max[i]);
printf("最小数=%d\n",min[i]);
}
}

正确的程序代码我认为应该是:
#define N 2
#define M 3
#include<stdio.h>
void main()
{
int i,j,s=0;
int max[M],v[M],min[M],a[N][M];
for(i=0;i<N;i++)
for(j=0;j<M;j++){

scanf("%d",&a[i][j]);}

for(j=0;j<M;j++)
{
for(i=0;i<N;i++)
s=s+a[i][j];
v[j]=s/N;
s=0;
}
for(j=0;j<M;j++)
printf("%d\n",v[j]);

for(j=0;j<M;j++){
max[j]=min[j]=a[0][j];
for(i=0;i<N;i++){
if(max[j]<a[i][j])
max[j]=a[i][j];
if(min[j]>a[i][j])
min[j]=a[i][j];
}
printf("max=%d\n",max[j]);
printf("min=%d\n",min[j]);
}
}

你把这些代码复制到编辑器中运行一下,没问题了。^_^

⑼ C语言 求平均成绩,最高分,最低分 的程序,跟书上应该是一样的啊

printf("average=%5.2f\nmax=%5.2f\nmin=%.2f\n", average(score, 10), Max, Min);
拆开来吧,静态变量估计在传输的时候还没被修改,
拆成printf("average=%5.2f\n“,average(score, 10));
printf("max=%5.2f\n",Max);
printf("min=%.2f\n",Min);
在处理完Max,Min才进行值传递
改完测了是对的

⑽ C语言:计算全班平均成绩,及统计各分数段人数的程序问题

#include<stdio.h>
intmain(void)
{floatsum=0.0,avg=0.0;
intnum,count,c9,c89,c78,c67,c6;
num=count=c9=c89=c78=c67=c6=0;
scanf("%d",&num);
while(num>=0&&num<101) //这里不能有分号,否则就进入死循环了。另外,还应当允许为0
{sum=sum+num;
count=count+1;
if(num>=90)c9=c9+1;
else
{if(num>=80&&num<90)c89=c89+1;
else
{if(num>=70&&num<80)c78=c78+1;
else
{if(num>=60&&num<70)c67=c67+1;
elsec6=c6+1;
}
}
}
scanf("%d",&num);
}
avg=sum/count;
printf("全班平均成绩为:%f ",avg);
printf("90分以上的(包括90分)的人数是:%d ",c9);
printf("80~90分(包括80分)的人数是:%d ",c89);
printf("70~80分(包括70分)的人数是:%d ",c78);
printf("60~70分(包括60分)的人数是:%d ",c67);
printf("60分以下的人数是:%d ",c6);
return0;
}