2015华北水院c语言实验报告5,华北水利水电大学C语言实验5.doc

华北水利水电大学C语言实验5

C语言程序设计实验报告

实验5 使用数组的程序设计

班级 2013156 学号 201315613 姓名 吴浩

一、实验目的二、实验内容及步骤#include

int main()

{

int a[5][5]={0};//初始化

int i,j,m,n,temp;

i=0;

j=5/2;

a[i][j]=1;//第一行中间填1

for(temp=2;temp<=5*5;temp++)//循环24次,填剩余的24个数

{

m=i;

n=j;

i--;

j++;

if(i<0)

i=5-1;

if(j>5-1)

j=0;

if(a[i][j]!=0)

{i=m+1;

j=n;}

a[i][j]=temp;

}

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

{

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

printf("%4d",a[i][j]);

printf("\n");

}

return 0;

}

2、完成以下程序,并进行调试

某班期末考试科目为数学、英语和计算机,有最多不超过30人参加考试,考试后要求:

1)计算每个学生的总分和平均分;

2)按总分成绩由高到低排出成绩的名次;

3)打印出名次表,表格内包括学生学号、各科分数、总分和平均分;

4)任意输入一个学号,能够查找出该学生在班级中的排名及其考试分数。

【提示】:用二维数组score存放每个学生各门课程的成绩,用一维数组num存放每个学生的学号,用一维数组sum存放每个学生的总分,用一维数组aver存放每个学生的平均分。

程序代码:

#include

main()

{int num[5],i,j,k,c,e;

float score[5][3],sum[5]={0},aver[5],t,a1,a2,a3,b;

printf("请按从小到大学号输入各个同学的数学、英语和计算机的成绩:\n");

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

num[i]=i+1;

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

{printf("学号%d:",num[i]);

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

{scanf("%f",&score[i][j]);}}

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

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

{sum[i]=score[i][j]+sum[i];}

printf("\n");

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

printf("学号为%d的总分:%.2f\n",num[i],sum[i]);

printf("\n");

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

{aver[i]=sum[i]/3;

printf("学号为%d的平均分:%.2f\n",num[i],aver[i]);}

printf("\n");

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

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

if(sum[i]>sum[k])

{t=sum[i];

sum[i]=sum[k];

sum[k]=t;

c=num[i];

num[i]=num[k];

num[k]=c;

a1=score[i][0];

score[i][0]=score[k][0];

score[k][0]=a1;

a2=score[i][1];

score[i][1]=score[k][1];

score[k][1]=a2;

a3=score[i][2];

score[i][2]=score[k][2];

score[k][2]=a3;

b=aver[i];

aver[i]=aver[k];

aver[k]=b;}}

printf("名次 学号 数学 英语 计算机 总分 平均分\n");

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

printf("%d%9d%10.2f%10.2f%10.1f%10.1f%9.1f\n",i+1,num[i],score[i][0],score[i][1],score[i][2],sum[i],aver[i]);

printf("\n");

printf("输入学号查询成绩:\n");

scanf("%d",&e);

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

if (num[i]==e)

printf("名次%d:学号%d|数学:%3.2f|英语:%3.2f|计算机:%3.2f|总成绩:%3.2f|平均分:%3.2f\n",i+1,num[i],score[i][0],score[i][1],score[i][2],sum[i],aver[i]);}

3.编写一个程序

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值