输出:26 1a 2(2) 输入:1 0
输出:2.000000
实验三 选择结构程序设计
四、设计流程(算法描述)
(请写出上机内容2(2)题的算法描述) 主要是两两比较,然后得出最大的数 五、程序清单
2(1) 输入整数x和a,计算并输出下列分段函数f(x)的值(保留2位小数),请调用log函数求自然对数,调用fabs函数求绝对值。 程序为:
#include
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
int a,b,c,x;
scanf(\ if(a>=b)
x=a;
else
x=b;
if (x x=c; printf(\ return 0; } 3.改错题 正确程序为: #include } 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 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 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 { if(i%j == 0) } if(i == sum) //sum为因子和,如果和i相等,则输出 printf(\sum +=j;