學生總成績的c語言
A. C語言:輸入6個學生3門課程的成績,統計每個學生的總成績並輸出總分最高的那位學生的3門課程的成績和總分
#include#define N 3#define M 6void main(void){ int a[M][N]={0}; int ar[M] = {0}; int i, j, k=0, n; for(i=0; i
B. C語言如何把已經錄入的學生各科成績的總成績計算出並調用去排序
要看復你數據類型,用冒泡排序思制路循環比較總分,交換對應各科成績:
一、比如,一個學生的各科成績用數組保存,那麼,n個學生就是二維數組。總分再定義一個一維數組用行下標將兩者對應。冒泡排序時比較總分,需交換時,兩個數組分別同時交換(行下標一樣)。
二、這種多屬性表示一個對象,定義成結構體更好,各科成績和總分都定義成學生結構體的成員變數,還可根據需求增加姓名年齡等屬性。n個學生就是結構數組,排序的時候要用總分這個成員變數來比較,交換直接用結構變數相交換。
三、對第二點升級做法,當學生人數很多且經常增刪,且人數不定,那麼把結構數組改成結構鏈表就更方便。排序時,保留結構指針的值,交換其餘成員變數。
C. C語言 求學生總成績和平均成績、不及格人數,代碼一部分已給出,求補充~
#include<stdio.h>
#include<stdlib.h>
structstudent
{
intNum;
charName[20];
charSex;
floatScore;
};
voidmain()
{
structstudentstu[5];
structstudent*p;
doublesum=0;
inti,fail=0;
for(i=0;i<5;i++)
{
printf("請輸入第%d個學生的信息 ",i+1);
scanf("%d%s%c%f",&stu[i].Num,stu[i].Name,&stu[i].Sex,&stu[i].Score);
fflush(stdin);
sum+=stu[i].Score;
if(stu[i].Score<60)fail++;
}
printf("No.NameSexScore ");
for(p=stu;p<stu+5;p++)
printf("%3d%-8s%2c%.2lf ",p->Num,p->Name,p->Sex,p->Score);
printf("總分:%d平均分:%.2lf不及格人數:%d ",sum,sum/5.0,fail);
}
D. c語言編程從鍵盤上輸入學生5門課的成績計算出總成績和平均成績。
#include "stdafx.h"
#include "stdio.h"
int main()
{
int sum=0,i,score;
float ave=0;
for(i=0;i<5;i++) //變數i控制輸入回答
{
scanf("%d",&score);
sum=sum+score;
}
ave=sum/5.0;
printf("sum=%3d,ave=%4.2f.\n",sum,ave);
return 0;
}
E. c語言:學生成績等級
給出的問題不嚴密:
只有大於和小於,沒有等於的情況,比如說平均分在50到70之間,然後第2個和第3個數之和正好等到於140分時,一樓上程序便沒有輸出,我想是題目出得不太嚴密吧,不可能出題者是故意把這些情況漏掉吧!所以呢,經過筆者的修改呢,我覺得以下程序能包括出題者的全部意思:
如果題目非我所想,那你也可以自己根據情況改一下那幾個>或者=號,你自己看看吧!
#include
<stdio.h>
main()
{
float
a[3],i,average;
for(i=0;i<3;i++)
scanf("%f",&a[i]);
average=(a[0]+a[1]+a[2])/3.0;
if(average>=90)
printf("Grade=A");
if(average>=70&&average<90&&a[2]>=90)
printf("Grade=A");
if(average>=70&&average<90&&a[2]<90)
printf("Grade=B");
if(average>=50&&average<70&&a[1]+a[2]>=140)/*這個地方與以一樓上程序不同,題目要求的是第2和3個數之和要大於140,一樓上的是第1和2個之和大於140,與題意不合(因為數組是從0開始計數的)*/
printf("Grade=C");
if(average>=50&&average<70&&a[1]+a[2]<140)
printf("Grade=D");
if(average<50)
printf("Grade=F");
}
F. C語言菜鳥問題(統計學生總成績和平均分)
#include<stdio.h>
void
main()
{
int
n,i;
float
score,sum=0.0,aver;//sum
一開始來要源賦值,經常出現這種錯誤
printf("請輸入學生人數:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
printf("請輸入學生成績:");
scanf("%f",&score);
if(score<0||score>100)//邏輯問題,一開始你的把正確的分數都過濾了
continue;
sum=score+sum;
}
printf("學生總成績為:%f\n",sum);
aver=sum/n;
printf("學生平均成績為:%f\n",aver);
}
G. 用C語言編一個求學生總成績和平均成績的程序
#include <stdio.h>
void main()
{
int score[5]={58,70,86,76,54};
int sum=0;
int i=0;
for(i=0;i<5;i++)
{
sum+=score[i];
}
printf("總分是%d,平均成績%f\n",sum,sum/5.0);
}
//絕對專簡單屬版
H. 求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位小數輸出結果
}
I. c語言編程:輸入三個學生的成績,輸出總分及平均值
可以參考下面的代碼抄:
int x, y, z;
float sum, avg;
printf("請輸入3個學生的成績");
scanf("%d%d%d", &x, &y, &z); //要先接收才能運算,先運算結果當然不對
sum = x + y + z;
avg = sum / 3;
printf("3個學生的總成績及平均分為");
printf("sum=%.2f,avg=%.2f ", sum, avg);
return 0;
(9)學生總成績的c語言擴展閱讀:
C語言floor()函數:求不大於x的最大整數(向下取整)
C語言fabs()函數:求雙精度浮點數的絕對值
C語言abs()函數:求整數的絕對值
C語言div()函數:求兩個數的商和余數
C語言fmod()函數:求x/y的余數(針對浮點數)
double log(double x) 返回logex的值
double log10(double x) 返回log10x的值
double pow(double x,double y) 返回x^y的值
J. C語言 計算5個學生的成績,總成績和平均成績,輸入最大值和最小值.
#include <stdio.h>
int main()
{
int i;
float score[5],all = 0,avg = 0;
printf("請輸入這五位學生的成績:
");
for(i = 0; i < 5; i++)
scanf("%f",&score[i]);
float max=score[0],min=score[0];
for(i = 0; i < 5; i++)
{
all += score[i];
if(score[i]>max)
max = score[i];
if(score[i]<min)
min = score[i];
}
avg=all/5;
printf("總成績:%g
平均成績:%3.2f
最大值:%g
最小值:%g
",all,avg,max,min)
return 0;
}
/* %g是自動簡化輸出版,省略後權面的0 */
經過調試 沒有有問題
運行如下