输入学生各科成绩求平均分
⑴ 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;
}
⑵ 下列excel成绩表中如何求每位学生各科成绩、名次的平均值,跪求大神解决
这个使用数据透视表做最为简便,选中你的数据,插入数据透视表,将姓名、班级回拖入行标答签,将各科成绩、校名次、总分拖入数值区域,然后设置字段汇总方式为平均值,最后进行排序。使用数据透视表的好处就是不用自己手动输入公式汇总,透视表可以自动帮你分析汇总出你需要的数据。很方便快捷。
⑶ C语言输入学生单科成绩,计算并输出这些学生的最低分、最高分、平均
#include<stdio.h>
#include<stdlib.h>
intmain(intargc,constchar*argv[])
{
=0,i=0;
int*score=NULL;
intmin_score=0,max_score=0;
floataverage_score=0;
intsum=0;
printf(" 请输入学生的人数: ");
scanf("%d",&num);
score=malloc(num*sizeof(int));
printf(" 请依次输入学生的分数: ");
for(i=0;i<num;i++)
{
scanf("%d",&score[i]);
}
/*求平均分,最高分,最低分*/
max_score=score[0];
min_score=score[0];
for(i=0;i<num;i++)
{
if(score[i]>max_score)
{
max_score=score[i];
}
if(score[i]<min_score)
{
min_score=score[i];
}
sum+=score[i];
}
average_score=(float)sum/(float)num;
printf(" 经统计分析,成绩结果如下: ");
printf("最高分为:%d ",max_score);
printf("最低分为:%d ",min_score);
printf("平均分为:%.2f ",average_score);
return0;
}
⑷ 输入学生姓名,学号,期末各科成绩,输出姓名,学号,上学期期末总分,平均分。
#include<stdio.h>
#include<conio.h>
int main()
{
char name[2][20]={NULL};
int ID[2]={0};
float score[3][2]={0};
printf("请输入第1个学生的姓名: \n");
gets(name[0]);
printf("请输入第1个学生的学号: \n");
scanf("%d",&ID[0]);
printf("请输入第1个学生的英语成绩: \n");
scanf("%f",&score[0][0]);
printf("请输入第1个学生的数学成绩: \n");
scanf("%f",&score[0][1]);
printf("请输入第1个学生的计算机成绩: \n");
scanf("%f",&score[0][2]);
fflush(stdin);
printf("请输入第2个学生的姓名: \n");
gets(name[1]);
printf("请输入第2个学生的学号: \n");
scanf("%d",&ID[1]);
printf("请输入第2个学生的英语成绩: \n");
scanf("%f",&score[1][0]);
printf("请输入第2个学生的数学成绩: \n");
scanf("%f",&score[1][1]);
printf("请输入第2个学生的计算机成绩: \n");
scanf("%f",&score[1][2]);
printf("第一个学生的姓名为: %s\n",name[0]);
printf("第一个学生的学号为: %d\n",ID[0]);
printf("第一个学生的平均成绩为: %.1f\n\n",(score[0][0]+score[0][1]+score[0][2])/3.0);
printf("第2个学生的姓名为: %s\n",name[1]);
printf("第2个学生的学号为: %d\n",ID[1]);
printf("第2个学生的平均成绩为: %.1f\n",(score[1][0]+score[1][1]+score[1][2])/3.0);
getch();
return 1;
}
输入两个学生的姓名、学号、英语、数学、计算机成绩,输出这两个学生的姓名、学号和平均分
你参考一下
⑸ 求在电子表格中输入学生的各科分数后,自动求出学生成绩的平均分\优秀率\及格率\合格率等。
假设平均分单元格为F1:F1=AVERAGE(参数范围)
G1=IF(F1>=90,"优秀",IF(F1>=80,"及格",IF(F1>=60,"合格","不及格")))
鼠标放在G1右下角拖动“填充柄”即可。
⑹ 输入5个学生3门课程成绩,分别用函数实现输入,计算每个同学的平均分,计算每门课程的平均分,
inline int IsSpace(int c)
{
if(c == 0x20 || c == 0x09 || c== 0x0D)
{
return 1;
}
return 0;
}
template<class T>
T RemovePreAndLastSpace(const T& str)
{
int length = str.size();
int i = 0,j = length -1;
while(i < length && IsSpace(str[i])){i++;}
while(j >= 0 && IsSpace(str[j])){j--;}
cout << i << " :" << j<< endl;
if(j<i) return T();
return str.substr(i,j-i+1);
}
⑺ 求电子表格中输入学生的各科分数后,自动求出学生成绩的平均分\优秀率\及格率等,发我邮箱[email protected]
例如:要统计B2:B100的语文成绩
A B C
1 姓名 语文
2 张三 90
3 李四 85
4 王二 56
........
100 陈一 75
在空白单元格输公式:专
平均分属
=AVERAGE(B2:B100)
优秀率(>=90分)
=TEXT(COUNTIF(B2:B100,">=90")/COUNT(B2:B100),"0.0%")
及格率(>=60分):
=TEXT(COUNTIF(B2:B100,">=60")/COUNT(B2:B100),"0.0%")
说明:
=COUNTIF(B2:B100,">=60")
是计算B2:B100区域中,大于等于60的个数。
=COUNT(B2:B100)
是计算B2:B100区域中分数的个数。
=TEXT(COUNTIF(B2:B100,">=60")/COUNT(B2:B100),"0.0%")
是表示COUNTIF(B2:B100,">=60")除以COUNT(B2:B100)的值的格式用"0.0%"表示,即保留一位小数百分数。
⑻ 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;
}
⑼ java输入若干学生姓名和成绩并计算平均分
importjava.util.Scanner;
/**
*输入数据存入数组
*
*@authorAdministrator
*
*/
publicclassScannerInput{
publicstaticvoidmain(String[]args){
Scannerin=newScanner(System.in);
intsum=0,avg=0;
Stringstr="";
do{
System.out.print("请输入学生的人数:");
intrenshu=in.nextInt();//存储学生的人数
System.out.print("请输入课程的数目:");
intcourseNum=in.nextInt();//存储课程的数目
String[]name=newString[renshu];//声明一个String数组用来存储学生的姓名
String[]course=newString[courseNum];//声明一个String数组用来存储课程的名称
int[][]number=newint[renshu][courseNum];
/*
*用来循环的存储课程的名称
*/
for(inti=0;i<course.length;i++){
System.out.print("请定义第"+(i+1)+"门课程的名字:");
course[i]=in.next();
}
/*
*用来录入学生的各科成绩
*/
for(inti=0;i<renshu;i++){
System.out.print("请输入学生的姓名:");
name[i]=in.next();
for(intj=0;j<courseNum;j++){
System.out.print("请输入学生"+name[i]+"的"+course[j]
+"成绩:");
number[i][j]=in.nextInt();
sum+=number[i][j];
}
System.out.println("学生"+name[i]+"的平均分为:"
+(sum*1.0/courseNum));
}
System.out.print("是否继续输入?(y/n):");
str=in.next();
}while(str.equals("y"));
}
}