C语言程序设计实验报告 下载本文

内容发布更新时间 : 2024/5/19 2:02:34星期一 下面是文章的全部内容请认真阅读。

金陵科技学院实验报告

#define N 3

void fun(int array[3][3]); main() { int i,j,a[3][3]={{100,200,300},{400,500,600},{700,800,900}}; fun(a); for(i=0;i<3;i++) { for(j=0;j<3;j++) { printf(\ } printf(\ } printf(\}

void fun(int array[3][3]) { int i,j,temp; for(i=0;i<2;i++) { for(j=i+1;j<3;j++) {

temp=array[i][j]; array[i][j]=array[j][i]; array[j][i]=temp; } } }

五、实验体会(遇到问题及解决办法,编程后的心得体会) 思考题:

(1)功能:编写函数float fun(),利用以简单迭代方法Xn+1=cos(Xn)求方程:cos(x)-x=0的一个实根。迭代步骤如下:

1)取x1初值为0.0;

2)x0=x1,把x1的值赋给x0;

3)x1=cos(x0),求出一个新的x1;

4)若x0-x1的绝对值小于0.000001,执行步骤(5),否则执行步骤(2);

13

金陵科技学院实验报告

5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。 输出:程序将输出结果Root=0.739085。

#include #include float fun(); main() {

double x1=0.0; x1=fun();

printf(\}

float fun() {

double x1=0.0,x0; do {

x0=x1;

x1=cos(x0);

}while(fabs(x0-x1)>=1e-6); return x1; }

(2)功能:编写float fun(float array[],int n),统计出若干个学生的平均成绩,最高分以及得最高分的人数。

例如:输入10名学生的成绩分别为92,87,68,56,92,84,67,75,92,66,则输出平均成绩为77.9,最高分为92,得最高分的人数为3人。

#include #define N 10

float fun(float array[],int n); main() {

float array[N]; int i; float ave=0.0; for(i=0;i

14

scanf(\

金陵科技学院实验报告

ave=fun(array,N);

printf(\平均成绩为%3.1f\\n\}

float fun(float array[],int n) {

int i,j=0;

float ave=0.0,max,sum=0.0; max=array[0]; for(i=0;i

for(i=0;i

if(max==array[i]) }

printf(\最高分为%3.0f\\n\ printf(\最高分的个数是%d\\n\ ave =sum/n; return ave; }

j++; sum+=array[i]; if(max<=array[i]) {

max=array[i];

}

15

金陵科技学院实验报告

(3)编写函数 int fun(int lim,int aa[MAX]),该函数的功能是求出小于lim的所有素数并放在aa数组中,该函数返回求出素数的个数。

#include #define MAX 100

int fun(int lim,int aa[MAX]); main() {

int lim,k=0,i; int aa[MAX]={0};

printf(\输入一个大于或等于2的整数lim: \ scanf(\ k = fun(lim,aa); for(i=0;i

printf(\}

int fun(int lim,int aa[MAX])

16

printf(\if(i==0)

printf(\