C语言实验报告参考答案 下载本文

int n=1; int find=0; while(!find) { } }

六、调试和测试结果

if(n%5==1 && n%6==5 && n%7==4 && n==10) { } n++;

printf(\find =1;

1:结果:the sum is:5050

the square sum is:338350 2:结果:6 28 496

实验五 函数和预处理命令

四、设计流程(算法描述)

(请写出上机内容1的算法描述) 利用循环将m乘n次 五、程序清单

1.编写自定义函数long power(int m,int n),计算mn的值。利用此函数编程序实现:从键盘输入两个整数m和n,计算出mn的值。 #include

long power(int m,int n)//要返回的是long型 { int i;

long s;//因为是要返回的数,所以这里也定义为long型 s=1;

for(i=1;i<=n;i++) { }

return s; }

int main(void) {

int m,n;

scanf(\

printf(\ return 0; }

2、写出两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果,两个整数由键盘输入。

1. 源程序如下:

int zdgys(int n1,int n2) s *=m;

{int y,i;

for(i=n2;i<=1;i--) if(n1%i==0&&n2%i==0) {y=i;break;} return y; }

int zxgbs(int n1,int n2) {int y,i;

for(i=n1;i<=n1*n2;i++) if(i%n1==0&&i%n2==0) {y=i;break;} return y; } main() {int n1,n2,t;

scanf(\ if(n1

{t=n1;n1=n2;n2=t;}

printf(\}

3、改错题 正确程序如下:

#include int fact(int n); int multi(int n); main() {int i;

double sum,item,eps; eps=1E-6; sum=1; item=1;

for(i=1;item>=eps;i++) {item=fact(i)/multi(2*i+1); sum=sum+item; }

printf(“PI=%0.5lf\\n”,sum*2); return 0; }

int fact(int n) {int i; int res=1; for(i=0;i<=n;i++) res=res*i; return res;

}

int multi(int n) {int i; int res=1;

for(i=3;i<=n;i=i+2) res=res*i; return res; }

六、调试和测试结果 1、输入:2 3 输出:s=8

2、 输入:n1=24 n2=16

输出:zdgys=8 zxgbs=48 2.

3、输出结果为:

实验六 数组

四、设计流程(算法描述)

(请写出上机内容1的算法描述)

设置两个变量分别指示头和尾。第一个和最后一个元素值互换,然后头和尾变量向里移动,最终到两变量相遇为止。 五、程序清单

1.编写程序:从键盘输入一串整数保存到数组中,调用函数antitone()将数组反序输出。自定义函数void antitone(int a[],int n)实现将数组中的n个数据按逆序存放。