程序语言设计练习13.doc
第 页 共 3 页1 C 程序设计练习 练习一 P12 页 1. 1.1、1.2、1.3、1.4 简答题在课本上完成; 2.完成并上机运行验证 1.5、1.6 练习二 P36 页 2.4(3)用传统流程图求解。 (4 )用 N—S 流程图求解。 (7 )用盒图求解。 (8)用伪代码求解 2.7 补充习题 用盒图求解:个位数为 7 且能被 3 整除的 6 位数的个数。 练习三 P66 注意:3.4、3.11 在书上表中完成 3.3(1)(3)(5)(7)、 3.5 、 3.6 、 3.9 、 3.10、 3.12(1)(3)(5) 注意:3.4、3.11 在书上表中完成 补充习题: 先手工分析下列程序的运行结果,再上机验证。(注意输出格式) (1)#include void main() { int a=1,b=1; a+=b+=1; printf(”a=%d,b=%d\n”,a,b); a*=a*=b*10; printf(”a=%d,b=%d\n”,a,b); } 练习四 P88 练习 4.4 4.6 4.8 补充题 1. 写出下列程序的运行结果 (1) 程序 1 #include void main( ) { int a,b,d=241; a=d/100%9; b=d/a; printf(”%d,%d\n”,a,b); } (3)以下程序输入 x=1.23,y=50 后的执行结果 为: #include void main( ) { float x,y; scanf(”x=%f,y=%f”, printf(”x=%7.2f,y=%7.2f\n”,x,y); } (5)以下程序输入 ABC 后的运行结果为: #include void main() { char c; scanf(”%3c”, printf(”c=%c\n”,c);} (2) #include void main() { int a=1,b=2,c=3; a++; b+=++c; printf(”a=%d,b=%d,c=%d\n”,a,b,c); } (2)程序 2 #include void main( ) { float f=3.1415927; printf(”%5.4f,%3.3f\n”,f,f); } (4)程序 4 #include void main() { short i=-1; printf(”dec:%hd,oct:%ho,hex:%hx, unsigned:%hu\n”,i,i,i,i); } 第 页 共 3 页2 2.编程:从键盘输入四门功课成绩,求总成绩和平均成绩并输出。 3.编程用于小商店卖糖售货员算帐:奶糖每斤 12.5 元,水果糖每斤 8.5 元,巧克力每斤 15.7 元,要 求输入各类糖果的重量,打印出应付钱数,再输入顾客付款数,打印应找钱数。 练习五 P111 页 5.3 5.6 5.10 补充习题: 1. 用嵌套的 if 语句写程序,求: (a 值为正,通过键盘输入 ) )(02axxay或 2.某公司规定代理商代理费按下表计算: 交易金额(元) 代理费 (0,3000) 18+本金的 1.2% [3000, 6000) 36+本金的 0.6% [6000, 10000) 54+本金的 0.3% 编程计算并打印本金在 10000 元以下的任一笔交易金额所应提取的代理费。 (1、用 switch 语句完成; 2、用 if 语句完成) 练习六 P129 6.1 6.6 6.7 6.11 补充题: 1.写出下列程序的运行结果: #include void main() { int i, j, k; for (i=1; i=4; 2. 已知 unsigned int x=35; 求(x/*函数原型声明*/ void main() { char string[50]; gets(string); pt(string); } void pt(char str[ ]) { int i=0; while ( ) i++; for (i=i-1; ;i--) printf(”%c”, ); } 练习十二 P328 12.1 12.2 12.3 练习九 P217 页 9.3 9.5 9.8 练习十 P278 10.3 10.5 10.7 10.17 补充题:1. 编写把字符串 string 中的字符 ch 删除的函数和主函数。函数原型为: void DeleteChar(char *string,char ch); 2. 编写函数将字符串 string 中的空格替换为指定的字符 ch,并编写主函数完成字符串的输 入及输出。 函数原型为:void ReplaceChar(char *string,char ch); 练习十一 P318 11.3 11.4 11.5 11.11 补充 1:使用结构体变量实现两复数的加减运算。 提示:定义一个结构体变量,其数据域是两个实型变量,分别存放一个复数的实部和虚部。 typedef struct { float real; float imag; }COMPLEX; COMPLEX cn1, cn2, result; 2.编写函数与主程序计算:2012~2013 学年度第 2 学期(从 2013 年 2 月 25 日开始至 2013 年 7 月 12 日结束)有多少天?要求应用如下结构体类型: struct Date { int day,month,year,days; char MonthName[4]; }; 练习十三 P348 页 13.6 13.7 13.8 补充题:编程实现:(1)用函数完成将一个整数转换成字符串(如 483→“483”) ; 函数原型:void itos(int number, char *str); (2)用函数完成将一个字符串转换成整数(如“483”→483) ; 函数原型:int stoi(char *str); )0(1nxn 第 页 共 3 页3 (3)在 main( )中实现:输入整数和字符串,将转换后的结果写入一个文件中, 然后读该文件,将写入的数据显示在屏幕上。