當前位置:首頁 » 編程語言 » c語言編程五門課成績
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言編程五門課成績

發布時間: 2022-07-20 14:51:13

『壹』 c語言編程5門課程成績判斷

#include<stdio.h>
boolsuck(double*);//不要在意函數的名字==
intmain()
{
printf("拿來你的分數吧!:");
doublescore[5]={0};
for(inti=0;i<5;++i)//輸入
scanf("%lf",&score[i]);
if(suck(score))//通過返回的bool值檢測
printf("你通過了,年輕人! ");
else
printf("真遺憾,你未通過。 ");
return0;
}
boolsuck(double*score)
{
doubletotal=0;
for(inti=0;i<5;++i){
if(*score<60)
returnfalse;//如果有1們小於60想都不用想返回false吧!==
total+=*(score++);//不然就+到total里,順便前往下一個分數
}
//根據total的值。。等於320算不算
returntotal>=320?true:false;
}

『貳』 用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語言編寫程序,從鍵盤輸入6名學生5門功課成績,分別統計出每個學生的平均成績

一、問題分析

需要保存6名學生5門功課的成績,需要設計一個6行5列大小的二維數組scores[6][5]來存儲30個成績數據。保存6名學生的平均成績,需要設計一個6列大小的一維數組來avgs[6]存儲平均成績。

為使程序具有更好的通用性,使用宏定義定義學生人數M和課程門數N。

計算每個學生的平均成績時,累加該行所有列的成績數據,並除以列大小即為該學生的平均成績。


二、參考程序

#include<stdio.h>

#defineM6 /*學生人數*/
#defineN5 /*課程門數*/

/*輸入row個學生col門課程的成績*/
voidinput(doublescores[][N],introw,intcol);

/*計算row個學生的平均成績並保存在avgs數組中*/
voidaverage(doublescores[][N],introw,intcol,doubleavgs[]);

/*輸出所有學生的平均成績*/
voidoutput(doubleavgs[],intsize);

voidmain()
{
doublescores[M][N];
doubleavgs[M];

input(scores,M,N);

average(scores,M,N,avgs);

output(avgs,M);
}

/*輸入row個學生col門課程的成績*/
voidinput(doublescores[][N],introw,intcol)
{
inti,j;

printf("請輸入%d個學生%d門課程的成績,每個學生成績在一行,以空格分隔成績: ",row,col);
for(i=0;i<row;i++)
{
for(j=0;j<col;j++)
{
scanf("%lf",&scores[i][j]);
}
}
}

/*計算row個學生的平均成績並保存在avgs數組中*/
voidaverage(doublescores[][N],introw,intcol,doubleavgs[])
{
inti,j;

for(i=0;i<row;i++)
{
avgs[i]=0.0;
for(j=0;j<col;j++)
{
avgs[i]+=scores[i][j];
}
avgs[i]/=col;
}
}

/*輸出所有學生的平均成績*/
voidoutput(doubleavgs[],intsize)
{
inti;

printf("%6s%10s ","序號","平均成績");
printf("---------------------------- ");
for(i=0;i<size;i++)
{
printf("%6d%10.2lf ",i+1,avgs[i]);
}
}


三、運行測試

『肆』 C語言編程,輸入五個學生的五科成績,求每科的平均分,最高分,最低分。已有程序,在此基礎上改錯。

#include<stdio.h>
main()
{
doublea[8][5]={0};
inti,j;
for(i=0;i<5;i++){
for(j=0;j<5;j++)
scanf("%lf",&a[i][j]);}
for(j=0;j<5;j++){
for(i=0;i<5;i++)
a[5][j]+=(a[i][j]/5.0);
printf("課程%d的平均分=%g ",j+1,a[5][j]);}
for(i=0;i<5;i++){
a[6][i]=a[0][i];
for(j=1;j<5;j++){
if(a[6][i]>a[j][i])
a[6][i]=a[j][i];}
printf("課程%d的最低分=%g ",i+1,a[6][i]);}
for(i=0;i<5;i++){
a[7][i]=a[0][i];
for(j=0;j<5;j++){
if(a[7][i]<a[j][i])
a[7][i]=a[j][i];}
printf("課程%d的最高分=%g ",i+1,a[7][i]);}
}

『伍』 C語言編程,輸入10個學生5門課的成績,分別用函數實現以下功能:

#include<stdio.h>
#include<windows.h>
main()
{
int i,j,li=0,lj=0;
float score[10][5],average[10],a1,a2,a3,a4,a5,largest=0,fc=0,a=0;
//score是50個學生的成績,average是5門課的平均成績,a1-a5分別是5門課的平均成績,li是最高分的學生
//lj是最高分的學科,largest是最高分,fc是平均分方差,a是50個成績的平均分
printf("請輸入10個學生的成績,按照語文、數學、英語、物理、化學的順序依次輸入:\n");
for(i=0;i!=10;++i)
{
printf("第%d個學生:\n",i+1);
for(j=0;j!=5;++j)
{
scanf("%f",&score[i][j]);
if(largest<score[i][j])
{
largest=score[i][j];
li=i+1;
lj=j+1;
}
a=a+score[i][j];
}
average[i]=(score[i][0]+score[i][1]+score[i][2]+score[i][3]+score[i][4])/5;
a1=a1+score[i][0];
a2=a2+score[i][1];
a3=a3+score[i][2];
a4=a4+score[i][3];
a5=a5+score[i][4];
}
a=a/50;
for(i=0;i!=10;++i)
{
for(j=0;j!=5;++j)
{
fc=fc+(score[i][j]-a)*(score[i][j]-a);
}

}
fc=fc/50;
a1=a1/10;
a2=a2/10;
a3=a3/10;
a4=a4/10;
a5=a5/10;
printf("50個學生的成績如下:\n");
printf("學生編號 語文 數學 英語 物理 化學\n");
for(i=0;i!=10;++i)
{
printf("%8d ",i);
for(j=0;j!=5;++j)
{
printf("%2.2f ",score[i][j]);
}
printf("\n");
}
for(i=0;i!=10;++i)
printf("第%d個學生的平均分為:%.2f\n",i+1,average[i]);
printf("第1門課的平均分為:%.2f\n",a1);
printf("第2門課的平均分為:%.2f\n",a2);
printf("第3門課的平均分為:%.2f\n",a3);
printf("第4門課的平均分為:%.2f\n",a4);
printf("第5門課的平均分為:%.2f\n",a5);
printf("50個分數中最高的分數是第%d個學生的第%d門課,分數為:%.2f\n",li,lj,largest);
printf("平均分方差為:%.2f\n",fc);
system("pause");
}

『陸』 C語言編程:輸入10個學生5門課成績,分別用函數求: 1)每個學生平均分; 2)每門課的平均分;

#include <stdio.h>

#include <math.h>

void aver_stu(int t[][5]); //定義學生平均分函數

void aver_course(int t[][5]); //定義課程平均分函數

void high(int t[][5]); //定義最高分函數

void vari(int t[][5]); //定義方差函數

int main()

{

int stu[10][5];

int i, j;

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

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

scanf("%d", &stu[i][j]); //輸入10個學生各5門課的成績

aver_stu(stu); //調用學生平均分函數

aver_course(stu); //調用課程平均分函數

high(stu); //調用最高分函數

vari(stu); //調用方差函數

return 0;

}

//學生平均分函數

void aver_stu(int t[][5])

{

int i, j;

float k, ave;

for (i=0; i<10; i++){

for (j=0, k=0.0; j<5; j++)

k+=t[i][j];

ave=k/5;

printf("No.%d student average is %f ", i+1, ave);

}

}

//課程平均分函數

void aver_course(int t[][5])

{

int i, j;

float k, ave;

for (j=0; j<5; j++){

for (i=0, k=0.0; i<10; i++)

k+=t[i][j];

ave=k/10;

printf("No.%d course average is %f ", j+1, ave);

}

}

//最高分函數

void high(int t[][5])

{

int i, j, h, stu, cour;

for (i=0, h=0, stu=0, cour=0; i<10; i++){

for (j=0, j<5; j++)

if (t[i][j]>h){

h=t[i][j];

stu=i+1;

cour=j+1;

}

}

printf("The highest score is %d, from No.%d student & No.%d course ", h, stu, cour);

}

//方差函數

void vari(int t[][5])

{

int i, j, k, m;

float temp[10], var, x1, x2;

for (i=0, m=0; i<10; i++, m++){

for (j=0, k=0; j<5; j++)

k+=t[i][j];

temp[m]=k/5;

}

for (i=m=x1=x2=0; i<10; i++){

x1+=pow(temp[i], 2);

x2+=temp[i];

}

var=x1/10-pow(x2/10, 2);

printf("The variance is %f ", var);

}

(6)c語言編程五門課成績擴展閱讀:

scanf()用法:

輸出的值只是空格前面的字元是因為scanf函數的輸入格式錯誤,輸入參數的變數前需要加&。

scanf("%s",s);改為scanf("%s",&s);

scanf的用法是:scanf("格式控制字元串",輸入參數一,輸入參數二);

格式控制字元串包含:格式控制說明,普通字元。

1、格式控制字元串表示輸入的格式,(int型用%d,float用%f,double型用%lf)

2、普通字元:在輸出數據的時候,按照原樣輸出的字元,如:"fahr=%d,celsius=%d "中的fahr=,celsius=。

3、輸入的參數是變數的地址,所以要在變數前面加&。

『柒』 求C語言編寫程序,輸入學生五門課程的成績,計算並輸出總成績和平均數

代碼如下:
#include<stdio.h>
#include<stdlib.h>
int main()
{
float score,total=0,ave;
for(int i=0;i<5;i++)
{
printf("請輸入第%d門成績:",i+1);
scanf("%f",&score);
total+=score;
}
ave=total/5;
printf("該生的總分為:%f\n",total);
printf("該生的平均分為:%f\n",ave);
system("pause");
return 0;
}

『捌』 c語言程序,輸入十名同學的五門課程成績,完成以下操作;

平均方差沒做,其他用最土的方法,沒有涉及到結構體。有一點注釋,附幾張圖的效果。

#include<stdio.h>
#include<stdlib.h>

main(){
charname[10][30]; //學生姓名
floatnumber[10][5],sum[10],average[10]; //學生成績,單個學生總分,單個學生平均分
inti,j;
printf("【錄入10位學生的5門課程】 ");
for(i=0;i<10;i++){
printf("請輸入第%d位學生姓名: ",i+1);
scanf("%s",&name[i]); //錄入姓名
for(j=0;j<5;j++){
printf("第%d門課成績: ",j+1,i,j);
scanf("%f",&number[i][j]); //錄入5門課成績
sum[i]+=number[i][j]; //5門總分
}
//1.計算每個學生平均分
average[i]=sum[i]/5;
printf("%s五科總分為%.2f平均分為:%.2f ",name[i],sum[i],average[i]);
}
/*
*2.計算全體每門課平均分
*3.找出50個分數中最高的分數所對應的學生和課程
*4.計算平均分方差(不會)
*5.每個學生平均分按大小排列
*/

//2.計算每門課平均分
printf(" 【每門課平均分】 ");
floatan_average[5]; //定義5門課所需要用到的數組
for(i=0;i<5;i++){ //初始化5個數組
an_average[i]=0.00;
}
for(i=0;i<10;i++){
for(j=0;j<5;j++){
an_average[j]+=number[i][j]; //10個學生,5門課全部輪一遍
}
}
for(i=0;i<5;i++){ //輸出5門科目的平均分
printf(" 第%d門平均分:%.2f",i+1,an_average[i]/10);
}

//3.找出50個分數中最高的分數所對應的學生和課程
printf(" 【50個分數分別為】 ");
floattotal[50]; //50個分數集合
intidentifier[50];//姓名所對應的下標集合
intsubject[50]; //課程下標集合
intcounter=0; //計數器
for(i=0;i<10;i++){
for(j=0;j<5;j++){
total[counter]=number[i][j]; //將所有科目所有分數全部集合在1個數組
identifier[counter]=i; //i指代的為name對應下標的姓名
subject[counter]=j+1; //j指代第幾門課
counter++;
}
}
for(i=0;i<50;i++){
printf("%d姓名:%s",i,name[identifier[i]]);
printf("課程:第%d門",subject[i]);
printf("分數:%.2f ",total[i]);
}
printf(" 【50個分數中最高分數】 ");
floatfirst=0.00;
intname_temp; //記錄下標
intsubject_temp; //記錄下標
for(i=0;i<50;i++){
if(first<total[i]){ //相鄰比較
first=total[i];
name_temp=identifier[i];
subject_temp=subject[i];
}
}
printf(" 姓名:%s課程:第%d門分數:%.2f ",name[name_temp],subject_temp,first); //輸出最高分

//4.計算平均分方差(不會)
//5.每個學生平均分按大小排列
printf(" 【每個學生的平均分按大小排列】 ");
floatflag;
for(i=0;i<10-1;i++){ //冒泡升序法
for(j=0;j<10-i-1;j++){
if(average[j]>average[j+1]){
flag=average[j+1];
average[j+1]=average[j];
average[j]=flag;
}
}
}
for(i=9;i>-1;i--){
printf("%.2f ",average[i]);
}
}

『玖』 C語言編程:從鍵盤上輸入某個學生的5門課程成績,求其成績、平均成績和總成績除5的余數 (設單科成績

intmain()
{
intscore[5],sum=0;
printf("請輸入成績:");
for(inti=0;i<5;i++)
scanf("%d%d%d%d%d",score+i);

for(inti=0;i<5;i++)
sum+=score[i];
printf("該學生成績為:%d",sum);
printf("該學生平均成績為:%.2f",sum/5.0);
//printf("該學生平均成績為:%d",sum/5);
printf("該學生總成績余數為:%d",sum%5);

return0;
}