C语言程序设计实验电子稿 下载本文

f(0.00) = 0.00

成本 编程题3

有一函数:

x (-5

y= x-1 (x=0) x+1 (0

编写程序,要求用scanf函数输入x的值,输出y的值。 具体要求如下:

(1)用if语句实现分支,自变量和函数值均用实数类型。 (2)自变量用scanf函数输入,给一些输入提示。

(3)运行程序,输入x的值(分别为-5

某服装店经营成套服装的买卖,同时也允许单件销售。若一次购买不少于70套,则每套90元;若不足70套,则每套110元;只买上衣每件70元;只买裤子每条60元。请编写程序假设用户买入x件上衣和y条裤子,请编写程序计算相应的应付款是多少? 编程题5

编写程序实现:输入一个整数,判断它能否被3 、5 、7整除,同时输出如下信息。 (1) 能同时被3 、5 、7整除; (2) 能同时被其中的哪二个数整除; (3) 能被其中的哪一个数整除;

(4) 不能被3 、5 、7任一个数整除。

3.较难编程题

编程题1

请用switch语句编程计算员工每月的薪水。(exph3_1.cpp)

已知某公司员工的保底薪水为500,某月所接工程的利润profit(整数)与提成的关系如下(计量单位:元): profit≤1000 没有提成; 1000<profit≤2000 提成10%; 2000<profit≤5000 提成15%; 5000<profit≤10000 提成20%; 10000<profit 提成25%。 分析:为使用switch语句,必须将利润profit与提成的关系,转换成某些整数与提成的关系。分析本题可知,提成的变化点都是1000的整数倍(1000、2000、5000、……),如果将利润profit整除1000,则相邻两个区间的重叠。为解决相邻两个区间的重叠问题,最简单的方法就是:利润profit先减1(最小增量),然后再整除1000即可: profit≤1000 对应0 1000<profit≤2000 对应1 2000<profit≤5000 对应2、3、4 5000<profit≤10000 对应5、6、7、8、9

10000<profit

对应10、11、12、……

编程题2

编写程序实现如下功能:输入二个运算数(exp1,exp2)和一个运算符(op),计算表达式exp1 op exp2的值,其中OP可以为+、-、*、/、%五个符号中的任一种(提示:用switch语句实现)。

4.5 实验四 循环结构程序设计 一、实验目的与要求

1. 熟练掌握用while语句,do-while语句实现循环的方法。 2. 熟练掌握用for语句实现循环的方法。

3. 对循环语句的三种形式进行分析、比较,以掌握各种形式的共同之处与其特点。 4. 掌握循环结构的嵌套,掌握break语句和continue语句在循环体中的作用。 5. 实验4学时

二、实验内容

1. 程序验证题与改错题 (1)程序验证

从键盘输入一个整数,在屏幕上将其逆序数输入,例如输入8193,输出3918。 #include void main() {

int x,number;

printf(\请输入一个整数:\ scanf(\ do{

x=number; number=number/10; printf(\ }while(number!=0); printf(\}

如果输入的是一个负整数,程序应该如何改? (2)程序改错

计算表达式1+2!+3!+…10!的值,改正下面程序中的多处错误。 源程序(有错误的程序) #include void main(void) {

int sum1,sum2, i,j; for(i=1;i<10;i++) for(j=1,j<=i,i++) sum1*=j; sum1+=sum2; printf(\ } 3.一般编程题 编程题1

用三种循环结构(while语句、do-while语句、for语句),求1000以内奇数的和。 编程题2

输入一个正整数n,计算 1?11??? 的前n项之和,输出时保留6位小数。 35输入输出示例1: Enter n:5 sum = 1.787302

输入输出示例2: Enter n:23 sum = 2.549541 编程题3

编写程序求a+aa+aaa+……+aa……a,a是一个数字,有n个a,实际的n和a值由键盘输入,输出格式如下示例(此时a是3,n是5)。 3+33+333+3333+33333=37035

提示:将a乘上10倍并加上a,变成aa,再将aa乘上10倍并加上a,变成aaa,依次类推,在变化的同时将a,aa,aaa进行累加。 编程题4

统计从键盘输入的一行字符中的英文字母的个数。

4.较难编程题

编程题1

输出1-999之间的所有同构数。(同构数:一个数出现在它的平方数的右端,这个数就称为同构数,如5出现在25的右端,5是同构数,25出现在625右端,25也是同构数。 编程题2

如下程序利用c语言的数学函数库,求解sinx的近似值, 根据高等数学的公式,sinx =x-x3/3!+x5/5!-...(-1)k-1*x2k-1/(2k-1)!+... ,直到最后一项的绝对值小于1e-7为止。请阅读此程序,并根据cosx =1-x2/2!+x4/4!-...(-1)k*x2k/(2k)!+..., 实现计算cosx的程序代码。(exph4_1.cpp)

5.4 实验五 函数与预处理 一、实验目的与要求

1. 掌握C语言函数的定义方法、函数的声明及函数的调用方法。 2. 理解函数实参与形参的对应关系以及“值传递”的方式。

3. 掌握全局变量和局部变量动态变量、静态变量的概念和使用方法。 4. 掌握动态存储分配的方法。

5. 掌握宏定义和文件包含处理方法。 6. 实验4学时

二、实验内容

1.程序验证与改错题

(1) 程序验证题

① 下面程序执行的结果是什么 void swap(int x, int y) {

int temp; temp=x; x=y; y=temp;

}

void main() {

int a,b;

scanf(“%d%d”, &a,&b); if(a>b) swap(a, b);

printf(“%d\\t %d”, a,b); }

思考:为什么a,b的值没有交换?