輸入學生各科成績求平均分
⑴ 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"));
}
}