將三個學生四門課程的成績分別存放
❶ 三個學生、五門課程的成績分別存放在4×6矩陣的前3×5列
#include<stdio.h>
void main()
{
int i,j;
double a[4][6],sum=0;
printf("please enter students' grade.\n");
for(i=0;i<3;i++)
{
sum=0;
for(j=0;j<5;j++)
{
scanf("%lf",a[i]+j);
sum+=a[i][j];
}
a[i][j]=sum/5;
}
for(i=0;i<6;i++)
{
for(j=0,sum=0;j<3;j++)sum+=a[j][i];
a[j][i]=sum;
}
for(i=0;i<3;i++)
{
for(j=0;j<5;j++)
printf("%6.0lf",a[i][j]);
printf("%6.1lf",a[i][j]);
putchar('\n');
}
for(i=0;i<6;i++)
printf("%6.2lf",a[3][i]);
return;
}
❷ 用一個二維數組score[4][3]來存放4個學生3門課的成績,編程實現:(1)輸入學生成績;(2) 求出每個學生的平均
int score[4][3] = {{0}};
int a[4] = {0};
int b[3] = {0};
int i = 0;j = 0;
void inputScore(void)
{
printf("請輸入學生成績,每個學生3門課程成績,共4名學生\n");
for (j = 0; j<4; j++)
{
for(i = 0; i<3; i++)
{
printf("請輸入學生%d的第%d門課的成績\n",j+1,i+1);
scanf("%d",&score[j][i]);
}
}
}
void getOutput(void)
{
for (j = 0; j<4; j++)
{
for(i = 0; i<3; i++)
{
a[j]+= score[j][i];
b[i]+=score[j][i]
}
}
a[4] /= 4;
b[3] /= 3;
}
❸ C語言問題。通過鍵盤輸入3名學生4門課程的成績,分別求每個學生的平均成績和每門課程的平均成績。
void printScore(int score[4][3]){
int i,j;
for(i=0;i<4;i++){
printf("學生%d的三門成績分別為: ",i+1);
for(j=0;j<3;j++){
printf("%d ",score<i>[j]);
if(j==2)
printf(" ");
}
}
printf(" ");
}
(3)將三個學生四門課程的成績分別存放擴展閱讀:
printf()用法:
1、printf()函數是格式化輸出函數,一般用於向回標准答輸出設備按規定格式輸出信息。
格式輸出,它是c語言中產生格式化輸出的函數(在stdio.h中定義)。用於向終端(顯示器、控制台等)輸出字元。格式控制由要輸出的文字和數據格式說明組成。
要輸出的文字除了可以使用字母、數字、空格和一些數字元號以外,還可以使用一些轉義字元表示特殊的含義。
簡單點理解就是,在一段程序中你正確使用該函數,可以在該程序運行的時候輸出你所需要的內容。
2、printf函數是一個標准庫函數,它的函數原型在頭文件「stdio.h」中。但作為一個特例,不要求在使用printf函數之前必須包含stdio.h文件。
❹ c語言編程問題:有3個學生4門課程的成績,用函數計算每個學生的平均成績,然後輸出。
#include"stdio.h"
floataver(int(*p)[4],intn)
{
inti;
floatsum=0;
for(i=0;i<4;i++)
{
sum+=p[n][i];
}
returnsum/4.;
}
voidmain()
{
intA[][4]={{65,67,70,60},
{80,87,90,81},
{90,99,100,98}};
inti;
for(i=0;i<3;i++)
{
printf("第%d個學生平均成績為回%.2f ",i+1,aver(A,i));
}
}
運行結果如下:
請采答納
❺ 定義一個二維數組,存儲3個同學4門課程的成績,編寫程序實現將輸入的成績統計每個學生的平均成績和每門
#include<stdio.h>
int main()
{
int score[3][4],i,j,sum1,sum2;
int ave1[3],ave[4];
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
sum1=0;
scanf("%d",&score[i][j]);
sum1+=score[i][j];
}
ave1[i]=sum1/j;
}
for(i=0;i<4;i++)
{
for(j=0;j<3;j++)
{
sum2=0;
sum2+=score[j][i];
}
ave[i]=sum2/j;
}
for(i=0;i<3;i++)
printf("%d ",ave1[i]);
printf("\n");
for(i=0;i<4;i++)
printf("%d ",ave[i]);
printf("\n");
return 0;
}
輸出的是整數,如果題目要求小數的話再改改
❻ C++將三個學生,四門課程的成績分別放在4*5數組的前3*4行列,計算出每個學生的總成績存放在該
#include<iostream>
usingnamespacestd;
voidmain()
{
inti,j;
floatstu[4][5];
for(i=0;i<3;i++)
{
cout<<"請輸入第"<<i+1<<"個學生成績:"<<endl;
for(j=0;j<4;j++)
cin>>stu[i][j];
}
cout<<"輸入的學生成績為:"<<endl;
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
cout<<stu[i][j]<<" ";
cout<<endl;
}
for(i=0;i<4;i++)
stu[i][4]=(stu[i][0]+stu[i][1]+stu[i][2]+stu[i][3])/4.0;
for(j=0;j<4;j++)
for(i=0;i<3;i++)
stu[3][j]=(stu[j][i]+stu[j][i]+stu[j][i])/3.0;
cout<<"計算後的成績為:"<<endl;
for(i=0;i<4;i++)
{
for(j=0;j<5;j++)
cout<<stu[i][j]<<" ";
cout<<endl;
}
}
❼ 將3位學生4門課成績讀入並存儲在二維數組score中
#include <iostream>
#define N 3
#define M 4
using namespace std;
int main()
{
int score[N][M];
int i,j;
cout<<"請輸入您的數組:"<<endl;
//首先輸入你的數組
for (i=0;i<N;i++)
{
版for (j=0;j<M;j++)
{
cin>>score[i][j];
}
}
int (*p)[M]=score;
cout<<"請輸入您要查詢的學生權的序號(0,1,2):"<<endl;
int n;
cin>>n;
p=&score[n];
cout<<"第"<<n+1<<"個學生的成績是:"<<endl;
//下面是輸出你的數組,完全指針
for (int *q=*p;q!=*p+4;q++)
{
cout<<*q<<" ";
}
cout<<endl;
return 0;
}
❽ C語言數組題:有3個學生,上4門課,要求輸入全部學生各門課的成績並分別求出每門課的平均成績
#include<stdio.h>
//C語言數組題:有3個學生,上4門課,要求輸入全部學生各門課的成績並分別專求出每門課的平屬均成績
intmain()
{
doublescore[3][4]={0.0};
inti,j;
doublesum=0;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
{
printf("請輸入學生%d科目%d的成績:",i+1,j+1);
scanf("%lf",&score[i][j]);
}
for(j=0;j<4;j++)
{
sum=0;
for(i=0;i<3;i++)
{
sum+=score[i][j];
}
printf("科目%d的平均分為%lf :",j+1,sum/4);
}
return0;
}
❾ 輸入3個學生4門課的成績,分別用函數實現以下功能:(1)計算每個學生的平均分
#include<stdio.h>
void xsaver(float (*p1)[4],int n) //每個學生的平均分
{
float stud[n];int i,j;
stud[0]=0;stud[1]=0;stud[2]=0;
for(i=0;i<n;i++)
{
for(j=0;j<4;j++)
stud[i]+=*(*(p1+i)+j);
printf("stud[%d]=%5.2f\t",i,stud[i]/4);
}
printf("\n");
}
void kcaver(float (*p)[4],int n)//每門課程的平均分
{
int i,j;float course[n];
course[0]=0;course[1]=0;course[2]=0;course[3]=0;
for(j=0;j<n;j++)
{
for(i=0;i<3;i++)
course[j]+=*(*(p+i)+j);
printf("course[%d]=%5.2f\t",j,course[j]/3);
}
}
void max(float *p,int n)//p=*score=score[0],score[0]是個列指針,p也是列指針
{
float max=*p;int maxi,maxj,k=0;
for(int j=0;j<=n-1;j++)
if(*(p+j)>max){max=*(p+j);k=j;}
maxi=k/4;maxj=k%4;
printf("\nk=%d maxi=%d maxj=%d max=%5.2f\n",k,maxi,maxj,max);
}
int main()
{
float score[3][4]={{65,67,70,60},{80,87,90,81},{90,99,100,98}};
xsaver(score,3);//每個學生的平均分
kcaver(score,4);//每門課程的平均分
max(*score,12);//求最高分
return 0;
}
❿ 定義一個三行四列的二維數組,存放三個學生四門課的成績,並定義一個指向一維數組的指針變
代碼及運行實況如圖