上机实验二 简单C语言程序设计
一.目的要求
1.巩固scanf()函数、printf()函数的用法,包括整型int、单精度浮点型float、双精度浮点型double
的输入输出格式。
2.用for语句实现简单的循环功能。 3.掌握多项式求和的基本算法。 4.掌握函数的定义和调用方法。
二.实验内容
【实验题1】请将下列源程序填写完整。
#include
12 34
5.6789 -7.8237 12.4592 2.191768 则输出结果显示为:
如将标有/* line 9 */、/* line 10 */、/* line 11 */的三个语句分别改写为:
printf(\ printf(\ printf(\
重新编译、连接并运行,输入内容同上,则输出结果显示为:
思考题——位于%与字母d或f之间加入的数字起什么作用?其中, ]中的5: %.2f中的2: %8.f中的8:
【实验题2】.程序填空:求100~200之间奇数之和,输出求和的结果。
思路1:对每一个数字1,2,3,4,5,…,99,100判断奇偶性,如果是奇数累加到sum中,源程序如下。 #include
思路2:直接将101,103,105,…,199等奇数累加到sum中。那么,循环变量i的值应如何改变? #include
【实验题3】.程序填空:输入正整数n,求多项式1?留3位小数(参考 例2-11)。源程序如下: #include
n 2 5 8 sum 11111?????...的前n项之和,输出时保47101316在标有/* line 8 */这一行的末尾加上分号“;”,即 这一行改写为 for(i=1; i<=n; i++); 重新编译、连接并运行程序,则测试结果为:
n 2 5 8 sum 为什么输入相同的整数n,会出现不同的求和结果?
【实验题4】程序填空:定义函数max(x,y), 用于求两个实数x,y中的最大数; 在主函数中输入三个实数p, q和r, 调用自定义函数max(), 输出三者中的最大者。
提示:分两次调用max函数:第一次求p,q的最大数,第二次求该数值与r的最大数。未完成的源程序: #include
p 2.5 5 -8.312 q 3.12 -1 22.05 r 4.654 3 10.2 s
【实验题5】程序设计题:(1)定义函数fact(n),计算n的阶乘,形参n的类型是int,函数类型是double。(2) 定义主函数main(),输入两个正整数m和n(m>n),要求调用fact函数计算并输出
m!的值。
n!?m?n?!