C语言实验报告
C语言程序设计(B)
(2010-2011-2)
实验报告
教学班级:学号:姓名:
课程教师:王华金实验辅导教师:王华金
P123--五、1、编写函数,找出5*5数组对角线上元素的最小值,并在主函数中调用它。要求元素的值通过键盘输入。
实验前的源程序:
#include
int func(int p[5][5])
{
int i,j,min;
min=p[0][0];
for(i=0;i<5;i++)
for(j=0;j<5;j++)
if(i==j)
if(p[i][j] return min; } void main() { int i,j,m,a[5][5]; printf("请输入a[5][5]:\n"); for(i=0;i<5;i++) for(j=0;j<5;j++) scanf("%d",&a[i][j]); printf("a[5][5]:\n"); for(i=0;i<5;i++) {for(j=0;j<5;j++) printf("%4d",a[i][j]); printf("\n"); } m=func(a); printf("主对角线上元素的最小值为:%d\n",m); } 实验错误报告: [Error] C:\Users\陶鑫\Documents\C-Free\Temp\未命名4.cpp:13: error: `main' must return `int' [Warning] C:\Users\陶鑫\Documents\C-Free\Temp\未命名 4.cpp:27:2: warning: no newline at end of file 构建中止未命名4: 1 个错误, 1 个警告 实验后的源程序: #include int func(int p[5][5]) { int i,j,min; min=p[0][0]; for(i=0;i<5;i++) for(j=0;j<5;j++) if(i==j) if(p[i][j] return min; } main() { int i,j,m,a[5][5]; printf("请输入a[5][5]:\n"); for(i=0;i<5;i++) for(j=0;j<5;j++) scanf("%d",&a[i][j]); printf("a[5][5]:\n"); for(i=0;i<5;i++) {for(j=0;j<5;j++) printf("%4d",a[i][j]); printf("\n"); } m=func(a); printf("主对角线上元素的最小值为:%d\n",m); } P123--五、3、编写从整形数组中检索给定数值的函数,若找到则输出该数值在数组中的位置。 实验前的源程序: #include "stdio.h" int Find(int array[],int Array size,int num) { int i; for(i=0;i if(Array[i]==num) return i++; return 0; } int main() { int a[]={1,2,3,4,5}; num=4,n=5,index; index=find(a,5,num); if(index) printf("%d在数组中第%d位置",num,index); else printf("数组中没有这个数!"); } 实验错误报告: [Error] C:\Users\陶鑫\Documents\C-Free\Temp\未命名 3.cpp:2: error: expected `,' or `...' before "size" [Error] C:\Users\陶鑫\Documents\C-Free\Temp\未命名 3.cpp:5: error: expected `;' before "size" [Error] C:\Users\陶鑫\Documents\C-Free\Temp\未命名 3.cpp:5: error: `size' was not declared in this scope [Error] C:\Users\陶鑫\Documents\C-Free\Temp\未命名 3.cpp:5: error: expected `)' before ';' token [Error] C:\Users\陶鑫\Documents\C-Free\Temp\未命名 3.cpp:5: error: expected `;' before ')' token [Error] C:\Users\陶鑫\Documents\C-Free\Temp\未命名3.cpp:13: error: `num' was not declared in this scope [Error] C:\Users\陶鑫\Documents\C-Free\Temp\未命名3.cpp:13: error: `n' was not declared in this scope [Error] C:\Users\陶鑫\Documents\C-Free\Temp\未命名3.cpp:13: error: `index' was not declared in this scope [Error] C:\Users\陶鑫\Documents\C-Free\Temp\未命名3.cpp:14: error: `find' was not declared in this scope [Warning] C:\Users\陶鑫\Documents\C-Free\Temp\未命名 3.cpp:19:2: warning: no newline at end of file 实验后的源程序: #include "stdio.h" int Find(int Array[], int Array_size, int num) { int i; for(i=0;i if(Array[i]==num) return i+1; return 0; } int main() { int a[]={1,2,3,4,5},num=4,n=5,index; index=Find(a,5,num); if(index) printf("%d在数组中第%d位置",num,index); else printf("数组中没有这个数!"); } P123--五、6、输入10名学生5门课的成绩,分别用函数求:(1)每门课的平均分。(2)找出最高的分数所对应的学生和成绩。 实验前的源程序: #include void input(float a[10][5]) //输入学生成绩 { int i,j; for(i=0;i<10;i++) { printf("输入第%d个学生五门课的成绩:",i+1); for(j=0;j<5;j++) scanf("%f",&a[i][j]); } } void aver_cour(float a[10][5]) //课程的平均分 { int i,j; float sum; for(i=0;i<5;i++) { sum=0; for(j=0;j<10;j++) sum+=a[j][i]; printf("第%d门课的平均成绩为:%6.2f\n",i+1,sum/10); } } void highest(float a[10][5]) //查找最高分 { int i,j,flag1,flag2; float max=0; for(i=0;i<10;i++) { for(j=0;j<5;j++)