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

输出:26 1a 2(2) 输入:1 0

输出:2.000000

实验三 选择结构程序设计

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

(请写出上机内容2(2)题的算法描述) 主要是两两比较,然后得出最大的数 五、程序清单

2(1) 输入整数x和a,计算并输出下列分段函数f(x)的值(保留2位小数),请调用log函数求自然对数,调用fabs函数求绝对值。 程序为:

#include #include main() {

int x,a; double y;

printf(\ scanf(\ if(fabs(x)!=a)

y=log(fabs((a+x)/(a-x)))/(2*a);

else

y=0;

printf(\}

(2)输入a、b、c三个整数,输出最大数。 #include main() {

int a,b,c,x;

scanf(\ if(a>=b)

x=a;

else

x=b;

if (x

x=c;

printf(\

return 0;

}

3.改错题 正确程序为: #include main() {

}

double n;

printf(\scanf(\if(n<0)

printf(\

else if(n==0)

printf(\

else

printf(\

六、调试和测试结果

2(1) Enter a and x:5 6

a=5,f(6)=0.24 Enter a and x:5 5 a=5,f(5)=0.00

2(2) 输入:3 2 1 输出:the max number is:3 输入:2 3 1 输出:the max number is:3

输入:1 2 3 输出:the max number is:3

实验四 循环结构程序设计

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

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

首先求出每一个给定数的所有因子和,然后从2到5000循环,那一个数x与因

子之和相等,就是完数。 五、程序清单

1.编写程序:求1+2+3+…+100和12+22+33+…+1002。 #include #include int main() {

int i,j,sum; sum = 0;

for (i=1;i<=100;i++)

sum += i;

printf(\ sum =0;

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

printf(\ return 0; }

2.一个数如果恰好等于它的因子之和,这个数就称为“完数”,编写程序找出2~5000中的所有完数。 #include

j=pow(i,2); sum +=j;

#include main() {

int i,j,sum=0;

for(i=2;i<=5000;i++) //遍历从2到5000的所有数 {

sum = 0;

for (j=1;j<=i/2;j++) //找出给定整数X的所有因子和 }

return 0; } 3. 改错题 正确的程序为: #include main() {

{

if(i%j == 0) }

if(i == sum) //sum为因子和,如果和i相等,则输出

printf(\sum +=j;