c语言输入一个学生成绩求各科平均分
⑴ C语言程序,请你编写一个程序计算每个学生的平均成绩
#include<stdio.h>
void main()
{
float a[10][10];//用来存放10名学生的5门成绩,最后一位用于存放平均成绩
int i,j;
float sum=0.0;
for(i=0;i<10;i++)
{
printf("请输入第%d个学生的5门成绩",i+1);
for(j=0;j<5;j++)
{
scanf("%f",&a<i>[j]);
sum=sum+a<i>[j];
}
a<i>[10]=sum/5.0;
}
printf("10名学生的成绩及平均分 ");
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
printf("%.3f",a<i>[j]);
printf(" ");
}
}
(1)c语言输入一个学生成绩求各科平均分扩展阅读:
printf的用法
格式
printf函数的原型为:
#include<stdio.h>
int printf(const char*format,...);
在讲每一个函数的时候都会先把它的函数原型写出来,这个原型你们现在看不懂不要紧,等到学完C语言之后再来看这个原型就会发现它是很有参考意义的!它对深刻理解函数有着很大的价值。
printf的格式有四种:
1)printf("字符串 ");
#include<stdio.h>
int main(void)
{
printf("Hello World! ");// 表示换行
return 0;
}
其中 表示换行的意思。它是一个转义字符,前面在讲字符常量的时候见过。其中n是“new line”的缩写,即“新的一行”。
此外需要注意的是,printf中的双引号和后面的分号必须是在英文输入法下。双引号内的字符串可以是英文,也可以是中文。
2)printf("输出控制符",输出参数);
纯文本复制
#include<stdio.h>
int main(void)
{
int i=10;
printf("%d ",i);/*%d是输出控制符,d表示十进制,后面的i是输出参数*/
return 0;
}
⑵ c语言问题,跪求高手解答,输入一个班学生的成绩,求全班的平均成绩。我写了如下程序
do。。while语句的复while(score>=0)有问题,你程序的意思是制,输入成绩只要大于等于0就一直执行do语句,因为成绩通常没有复数的,所以是个死循环,这样后面的程序根本无法执行,应该改成while(n<=x-1) x是你需要设定的班级的人数,这样输入x个数就可以求x个人的平均成绩了。当然付初值n=0也是必须的。
#include<stdio.h>
void main()
{float score,average=0;
int n=0,x=3;
do
{
scanf("%f",&score);
if (score>=0)
{average+=score;
n++;};
}
while (n<=x-1);
average/=n;
printf("%6.2f\n",average);
}
这是我帮你改的,这是假如班里有3个人的情况。
do。。。while要实现输入任意数求平均值,sorry我不会,,, 呵呵
⑶ C语言输入一个班级的成绩,求总分,平均分,最低分和最高分,输入-1表示结束
一楼基本上是对的,不过循环这些有错,还是必须加上循环的中止条件,调试无误代码如下:
#include "stdio.h"
int main()
{
signed int n; //因为要与-1比较,所以n定义为有符号的int类型
int max,min,sum,i;
double average;//平均分数可能出现小数
max=0,min=100,i=0,n=0,average=0,sum=0;
for(i=1;;i++)
{
scanf("%d",&n);
if(n==-1)
break;//当输入-1时表示数据输入完,必须中止循环,计算总和,均值
if(max<=n)max=n;
if(min>=n)min=n;
sum+=n;
}
average=1.0*sum/(i-1);
printf("sum=%d\naverage=%f\nmax=%d\nmin=%d\n",sum,average,max,min);
return 0;
}
⑷ 求c语言输入一个学生五门成绩,然后计算、输出该学生总成绩、平均成绩、最高成绩
#include<stdio.h>
#defineN5//科目数
/*主程序*/
intmain()
{
floata[N+3]={0};//定义成绩数组.a[0-(N-1)]:N科成绩
//a[N]:总分,a[N+1]:平均分,a[N+2]:最高分
inti;
for(i=0;i!=N;++i){//输入N科成绩
scanf("%f",&a[i]);
if(a[N+2]<a[i])
a[N+2]=a[i];
a[N]+=a[i];
}
a[N+1]=a[N]/N;
printf("总成绩:%0.2f,平均分:%0.2f,高最分:%0.2f. ",a[N],a[N+1],a[N+2]);
//保留2位小数输出结果
}
⑸ c语言程序设计 输入一个学生的学号和各门功课的成绩 求出学生的平均成绩 再按平均
是输入几个学生的成绩还是不限个数
⑹ 有一组学生成绩c语言编写程序,输出每个人的平均分和各科平均分。(考虑使用一维数组和二维数组)
#include <stdio.h>
void main()
{
char n,i,j;
unsigned int score[100][100];
printf("input number of student:")
getchar(n)
for (i=o;i<n;i++)
for (j=o;i<5;j++)
scanf("%d",int[i][j])
for (i=o;i<n;i++)
{
for (j=o;i<5;j++)
printf("")
}
puchar('\n')
}
大致框架来,自自己修饰吧,我假定的科目5门,人数需输入
⑺ C语言考试题大神求代码啊!!!!输入科目数、学生个数、各科成绩,计算平均分。
#include<iostream>
using namespace std;
int main()
{
int num, stu;
cout << "how many subjects and how many students:" << endl;
cin >> num >> stu;
while (cin.fail())/*输入数据不匹配处理,这里我就只处理一个,后面的就不写了,反正对于你来说这个也算多余的。*/
{
cin.clear();
while (cin.get() != '\n')
continue;
cout << "how many subjects and how many students:" << endl;
cin >> num >> stu;
}
//指针分配内存
double *pn = new double[stu*num];
double *pb = pn;
for (int i = 0; i < stu; i++)
{
cout << "第:" << i + 1 << "个学生成绩:";
for (int j = 0; j < num; j++)
{
cin >> *pb++;
}
}
double value = 0;
pb = pn;
for (int i = 0; i < stu; i++)
{
for (int j = 0; j < num; j++)
value += *pb++;
cout << "第:" << i + 1 << "个学生平均成绩:" << value / num << endl;
value = 0;
}
delete[] pn;
pn = NULL;
return 0;
}
⑻ c语言输入一个学生的10门课成绩,输入成绩求平均值。下面程序错在哪里,怎么改
分析你的错误
#include <stdio.h>
void main()
{int n=10,a[i];//这里的i换成个常数,因为数组的大小不能动态定义,何况这里的i并没有定义
float x;
i=10;//这里很明显i没有被定义就被赋值是不对的。
printf("请输入课程门数:");
scanf("%d",&n);//n开始已经被赋值啦,为什么还要输入呢?
printf("请输入各科成绩:");
scanf("%d",a[i]);//这里应该有个for循环,输入10个值
x=Ave(n,a[i]);//这里也有问题,数组作为参数应该是这样的x=Ave(a,10)
printf("成绩平均值为:%.2f\n",x);
}
float Ave(int a,n)//形参要对应实参
{int i,s=0;
for (i=0;i<n;i++)
s=s+a[i];
return (float)s\n;//这里除号应是/
}
修改后的
#include <stdio.h>
void main()
{int n=10,a[10];
float x;
printf("请输入各科成绩:");
for(i=0;i<10;i++)
scanf("%d",a[i]);
x=Ave(a,10);
printf("成绩平均值为:%.2f\n",x);
}
float Ave(int a[],int n);
{int i,s=0;
for (i=0;i<n;i++)
s=s+a[i];
return (float)s/n;
}
⑼ 用c语言输入100个学生的成绩求平均值 最低分及格率
把100分定为最高来分,60分为及格源分数线。用C语言实现如下: