C语言程序设计实验手册 下载本文

4.2 编写程序

输入一批正整数(以0或负数为结束标志),求其中的偶数和。

4.3编写程序

给一个不多于5位的正整数,要求:

a. 求出它是几位数;

b. 分别输出每一位数字;

c. 按逆序输出各位数字,例如原数为321,应输出123

4.4 统计素数并求和

输入 2 个正整数m 和n(1<=m,n<=500),统计并输出m 和n 之间的素数的个数以及这些素数的和(素数就是只能被1 和自身整除的正整数,1 不是素数,2 是素数)。

4.5 编写程序

用一张一元票换1分、2分和5分的硬币(至少各一枚),问有哪几种换法?各几枚?

4.6 猜数游戏

先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平;否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10次,如果猜了10次仍未猜中的话,结束游戏。 【思考】如果用scanf输入用户猜测的数据时,如果用户不小心输入了非法字符,如字符a,那么程序运行就会出错,用什么方法可以避免这样的错误发生呢?请编写程序验证方法的有效性。

实验总结:

学号: 姓名: 成绩:

实验五 函数程序设计

实验目的:

1.熟练掌握函数的定义和调用 2.熟练掌握使用函数编写程序

3.掌握函数的实参、形参和返回值的概念和使用 4. 掌握单步调试进入函数和跳出函数的方法 实验内容: 5.1 改错

改正下列程序中的错误,计算1!+2!+3!+4!+?+10!的值,要求定义并调用函数fact(n),计算n!,函数类型是double。 #include double fact(int n) int main(void ) { int i;

double sum;

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

sum = sum + fact(i); /*设置断点*/ printf(\\\n\ return 0; }

double fact(int n); {

int i;

double result;

for (i = 1 ; i <=n; i++) fact(n)=fact(n)*i; return result; }

注:1. 需要修改的语句直接在程序上标注并修改

2. 设置断点,单步进入函数和从函数返回主调函数

5.2 求a+aa+aaa+aa?a

输入 2 个正整数a 和n, 求a+aa+aaa+aa?a(n 个a)之和。

要求定义并调用函数 fn(a,n),它的功能是返回aa?a(n 个a)。例如,fn(3,2)的返回值是33。