程序设计基础C实验报告
void main() {
}
题目9:从键盘上任意键入一个3行4列的矩阵,要求输出其转置矩阵。(文件名:h9.cpp)
程序代码:
#include
}
题目10:有5个学生,考3门功课。求出每一个学生的总分及平均分,统计平均成绩低于 60 分的学生人数。(文件名:h10.cpp) 程序代码:
#include
}
三、实验结果(用截图说明)
四、调试心得(选作)
10
程序设计基础C实验报告
实验9,10 函数实验
教学班级:_______ 学号:__________ 姓名:___________ 实验日期:___________ 实验地点:_________(机房) 实验成绩:___________ 一、 实验目的
1. 理解函数定义的方法。
2. 掌握函数实参与形参的对应关系,以及”参数传递”的方式; 3. 掌握函数的嵌套调用和递归调用的方法;
4. 掌握全局变量和局部变量、动态变量、静态变量的概念和使用方法。
二、 实验任务
1.基本内容 实验9:
题目1:以下程序是求3个数中的最大值(文件名:i1.cpp)
#include
int max(int x,int y); /* 函数声明*/ printf(“input a,b,c=“);
scanf(“%d,%d,%d”,&a,&b,&c); printf(“m=%d\\n”,m); }
int max(int x,int y) /*函数定义*/ { int z;
z=(x>y)?x:y; return z; }
① 完善程序,如果输入4,2,6,程序运行结果:
题目2:(文件名:i2.cpp)
#include
11
程序设计基础C实验报告
void main()
{ int a[][3]={0,2,4,6,8,10,12,14,16},sum;
int func(int a[][3]); /*函数声明*/ sum=func(a);
printf(“\\n sum=%d\\n”,sum); }
int func(int a[][3]) /*函数定义*/ { int i,j,sum=0; for(i=0;i<3;i++) for(j=0;j<3;j++)
if(i==j) sum+=a[i][j]; return sum; }
① 程序的功能:
② 程序运行结果:
题目3:用子函数计算10名学生1门课成绩的平均分。(文件名:i3.cpp)#include
float average(float array[10]) /* 注意数据类型的一致 */ { int i; float aver,sum=0;
for (i=0;i<10;i++) sum+=array[i]; aver=sum/10; return (aver); }
void main()
{ float score[10],aver;
int i;
printf(“\\n input 10 scores:”);
for (i=0;i<10;i++) scanf(“%f”,&score[i]);
aver=average(score[10]); /* error */ printf(“\\n average score is %5.2f\\n”,aver); }
程序中有“error”标注处有错误,请改正,并调试运行程序。
12
程序设计基础C实验报告
题目4:子函数中判断一个大于1的整数是否是素数,数据由主函数中输入,并在主函数中显示结果。(文件名:i4.cpp)
#include
printf(“请输入一个正整数:\\n”); scanf(“%d”,&number); if ( )
printf(“\\n %d是素数:”,number); else
printf(“\\n %d不是素数:”,number); }
int prime(int number) { int flag=1,n;
for (n=2; flag==1 && n<=number/2;n++) if ( ) flag=0; return (flag); }
完善以上程序,并调试运行。
实验10:
题目4:该程序使用了局部变量与全局变量,理解它们的使用方式。(文件名:j4.cpp)
#include
int max(int a,int b) { int c;
c=a>b?a:b; return c; }
void main() { int a=8;
printf(“%d”,max(a,b)); }
①局部变量: 全局变量:
13
程序设计基础C实验报告
②程序运行结果:
题目5:以下是一个求1-10累加和的错误程序,请改正。(文件名:j5.cpp)
#include
for(i=1;i<=10;i++) s=sum(i);
printf(\}
sum(int j)
{ int x=0; /* error */ x+=j; return(x); }
改正为:
2.选择内容 实验9:
题目5:子函数实现一个字符串按反序存放,在主函数中输入和输出字符串。(文件名:i5.cpp)
#include
#include
void main()
{ void inverse(char str[]);
char str[100];
printf(“输入字符串:\\n”); scanf(“%s”,str); inverse(str);
printf(“转换后的字符串是:%s\\n”,str); }
void inverse(char str[]) { char t; int i,j;
for (i=0,j=strlen(str); i 14