2022年C语言作业 .pdf
《2022年C语言作业 .pdf》由会员分享,可在线阅读,更多相关《2022年C语言作业 .pdf(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言程序设计作业-1-作业 1 数制与编码1.将下列十进制实数分别转换为二进制、八进制和十六进制实数:45 195 10.3125 51.8 2.将下列八进制和十六进制实数转换为二进制实数:(42.14)8(10.01)8(3C.24)16(7F.0E)163.请写出下列整数的8位二进制原码、反码和补码。0 102-15-127 4.请写出下列整数的16位二进制补码(以十六进制形式书写)。0 6207-7225-32768 5.下列 16位二进制补码分别表示什么整数?00000010 10011010 11101100 01000110 6.用16位二进制补码形式完成下列计算:14+(-9)
2、=5(-23)+15=-8 7.下列实数的单精度存储形式是怎样的(根据 Intel格式计算)?0.3125-34.2 8.请写出空格、数字0、大写字母 A和小写字母 a等字符的 ASCII 码。9.仔细观察 ASCII 码表,怎样将小写字母转换为大写字母?怎样将大写字母转换为小写字母?10.汉字“软”的区位码是4077,“件”区位码是2894,它们的内码分别是什么?11.字符串 Welcome!的长度是多少?需占用内存空间多少字节?最后一个字节是什么?12.请将下列字符串按从小到大的顺序排列:ABC 123 abc Rate1 Rate2 pen pencil 1+2 名师资料总结-精品资料欢
3、迎下载-名师精心整理-第 1 页,共 25 页 -C语言程序设计作业-2-作业 2 简单的 C程序1.物体的位移:输入物体的初速度v0,加速度 a和时间 t,计算并输出其位移。2021attvs2.公汽车票:若乘客身高低于1.2米则免费,否则收取车费2元。3.购物优惠活动(一)若顾客购物不足100元,则不优惠;购物达 100元,按九折优惠。输入购物款总额,输出付款金额(保留 2位小数)。4.解一元一次方程:ax+b=0 输入系数 a和常数 b,输出方程的解。要求:讨论所有可能的情况,测试数据如下:2x-1=0 x=0.5 0 x+2=0 无解0 x+0=0 无穷多解5.求和(一)输入正整数 n
4、,计算并输出:S=1+2+3+4+n6.求和(二)输入正整数 n,计算并输出:nS1.4131211名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 25 页 -C语言程序设计作业-3-作业 3 简单函数1.求最大值和最小值(一)求两个整数 x和y的最大值和最小值。最大值函数:int Max(int x,int y);/例:Max(3,5)=5 最小值函数:int Min(int x,int y);/例:Min(3,5)=3 2.仔细观察 ASCII 码表,编写将小写字母转换为大写,和将大写字母转换为小写的函数。转换为大写:char ToUpper(char x);/例:ToUpp
5、er(P)=P,ToUpper(p)=P,ToUpper(+)=+转换为小写:char ToLower(char x);/例:ToLower(P)=p,ToLower(p)=p,ToLower(+)=+注:这里只是练习。C系统库中有 toupper和tolower 函数,需要使用头文件ctype.h。3.正整数中的某位数字求正整数 x的最低位、最高位和第n位(由低位到高位从0开始计数)。最低位函数:int LowDigit(int x);/例:LowDigit(25173)=3 最高位函数:int TopDigit(int x);/例:TopDigit(25173)=2 任意位函数:int D
6、igit(int x,int n);/例:Digit(25173,0)=3,Digit(25173,1)=7,Digit(25173,5)=0 提示:25173 mod 10=3,C/C+的取模运算符为%,即25173%10=3。4.正整数的位数求正整数 x的位数。int Len(int x);/例:Len(25173)=5,Len(450)=3,Len(0)=1 5.玻璃彩球从10个不同色彩的玻璃球中取出4个摆成一行,一共有多少种不同的摆法?(答案:5040)int Arrange(int m,int n);/例:Arrange(5,2)=20)!(!Anmmnm6.阶乘和输入正整数 n,计
7、算阶乘和:1!+2!+3!+n!int SumOfFac(int n);/SumOfFac(3)=9,SumOfFac(9)=153 名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 25 页 -C语言程序设计作业-4-作业 4 表达式1.下列标识符的命名是否正确?如果不正确,请说明原因。short high single double integer int _int_ _001 Isaac_Newton AlbertEinstein Tom&Jerry Tom-and-Jerry 2x x2 x2x22.请用驼峰式命名法重命名下列标识符。common_denominator d
8、etail_estimate greatest_common_divisor is_leap_year least_common_multiple imaginary_part real_part total_cost 3.下列常量的写法是否正确?如果正确,请写出其类型及占用内存字节数(按VC+6.0 编译器计算),如果不正确,请指出错误原因并改正。38 c:windows 38.a 38U E3 3800E-2.0 ab No!,he said.038 38.0+.38E2.38 0 x38 3E x7a 6A 38F Marys car-38UL 38 3E8 4.按照作者的原意,下面的程
9、序应该显示结果2。请改正程序中的错误,使其得到正确的结果。#include#define a 3+4;#define b 2*a;int main()printf(%dn,28/b);return 0;5.阅读下面的程序,分析程序中的错误并改正,然后写出程序的运行结果。#include enum MYENUM zero,one,two,three,first=1,second,third;int main()MYENUM a=two,b=second;printf(%d%dn,a,b);a=a+1;b=b+1;printf(%d%dn,a,b);return 0;6.编写程序,输入一行字符(以
10、换行结束),统计字母、数字和其它字符出现的频率。名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 25 页 -C语言程序设计作业-5-作业 5 综合练习1.已知:int a=5,b=8;试分析下列表达式的值,并上机验证:a/b*10 a*10/b 2.已知:double a=1.0,b=196.0,c=98.0,d=2.0;试分析下列表达式的值,并上机验证:a/c*b-d a*b/c-d 3.已知:int a=1,b=2,x=3;分析执行下面的语句后各变量的值,并上机验证:x+=a+*b;x+=+a*b;4.书写 C/C+表达式:|x-a|(a+b)3x12x22axe)(2axa
11、xeea1ln2xxxxa1logcos 35 18 322 sin cos arctan 2x5.在你的计算机上找出最小的正实数,使你的计算机系统能区别1和1+。6.求级数创建头文件,用int定义整数类型INTEGER,用double定义实数类型 REAL;编写程序文件求下列级数:REAL Prg(INTEGER n);/例:Prg(4)=0.8)1(1.1216121)(Prgnnn7.四舍五入第一版:将实数四舍五入为只有整数部分的实数。double Round0(double x);/例:Round(4.6)=5.0,Round0(4.1)=4.0;Round0(-2.6)=-3.0 提
12、示:x值加/减0.5,后再利用 floor 或ceil函数取整。第二版:将实数四舍五入到小数点后第2位。double Round2(double x);/例:Round2(4.375)=4.38,Round2(-4.374)=-4.37 第三版:将实数四舍五入到小数点后第n位。double Round(double x,int n);/例:Round(3.1548,0)=3,Round(-3.1548,3)=-3.155 名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 25 页 -C语言程序设计作业-6-作业 6 函数和指针1.已知:int a=3;unsigned b=5;分析
13、下面的语句将如何执行,并上机验证:if(a b)printf(a bn);if(a-b 0)printf(a-b 0n);2.已知:int x=0;分析下面的语句将如何执行,并上机验证:if(-1 x 1)printf(-1 x b?c+:d+;printf(%d%d%d%d%d,a,b,c,d,x);x=a b?c+:d+;printf(%d%d%d%d%d,a,b,c,d,x);5.118.韩信点兵(一)求1000以内所有除以 3余2,除以 5余3,除以 7余2的正整数。源自孙子算经:“今有物不知其数。三三数之剩二,五五数之剩三,七七数之剩二。问物几何?”要求:编写下面的函数来判断整数是否
14、符合条件。int IsSpecial(int n);/例:IsSpecial(10)=0,IsSpecial(23)=1 6.判断素数(只能被 1和该数本身整除的数称为素数,1不是素数,如:2,3,5,7,)。int IsPrime(int n);/例:IsPrime(5)=1,IsPrime(6)=0 编写主函数,输出 100以内的全部素数。然后,修改主函数,验证哥德巴赫猜想(任何大于 2的偶数都是两个素数之和):将100以内任何大于2的偶数都表示为两个素数之和。输出结果如下:4=2+2 6=3+3 8=3+5 10=3+7 12=5+7 14=3+11,7.几何图形要求:编写显示如下几何图
15、形的函数,并编写主函数显示菜单“1-直线2-三角形3-菱形0-结束”,由用户进行选择。若选择15,则输入必要的数据,然后调用有关函数显示图形;若选择 0,则结束程序。void Line(int n,char c);/显示字符 c组成的长度为n的直线void Square(int n,char c);/显示字符 c组成的长度为n的正方形void Isoceles(int n,char c);/显示字符 c组成的高为 n底为 2n-1的等腰三角形void Diamond(int n,char c);/显示字符 c组成的高为 n的菱形aaaaa mmmmm mmmmm mmmmm mmmmm mmm
16、mm *Line(5,a);Square(5,*);Isoceles(5,);Diamond(5,*);8.参数方程编写星形线函数:void Star(double*x,double*y,double t);tytx33sincos名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 25 页 -C语言程序设计作业-7-作业 7 选择类语句1.大小写字母互换下面的程序从键盘输入一串字符(以回车结束),然后对这些字符转换后输出。具体转换方法是:将大写字母就转换为小写字母,将小写字母就转换为大写字母,将数字转换为“#”,其它字符转换为“*”。请指出Change函数中的错误并改正。例如,输入
17、:3A$b4%,输出:#a*B#*。#include char Change(char c);int main()char c;while(c=getchar()!=n)putchar(Change(c);putchar(n);return 0;char Change(char c)if(c=A&c=a&c=0&c=9)c=#;else c=*return c;2.破译密电码(一)密文0 1 2 3 4 5 6 7 8 9 其它明文6 0 1 8 3 4 2 9 7 5*按上表所示密电码本对数字字符进行译码,其它非数字字符,一律译为星号。请指出Decode函数中的错误并改正。例:输入密文:2a
18、6b4c5d9,输出明文:1*2*3*4*5。#include char Decode(char c);int main()char c;printf(密文:);c=getchar();printf(明文:);while(c!=n)putchar(Decode(c);c=getchar();putchar(n);return 0;char Decode(char c)char r;switch(c)case 0:r=6;case 1:r=0;case 2:r=1;case 3:r=8;case 4:r=3;case 5:r=4;case 6:r=2;case 7:r=9;case 8:r=7;
19、case 9:r=5;default:r=*;return r;3.个人所得税个人所得税的起征点为2000元,扣除 2000元后的余额,500元以内的部分按5%征税;5002000 元的部分按 10%征税,20005000元的部分按15%征税,500020000元的部分按20%征税,2000040000元的部分按25%征税,4000060000元的部分按 30%征税,6000080000元的部分按 35%征税,80000100000元的部分按40%征税,100000以上的部分按45%征税。float Tax(float income);/例:Tax(5400.00)=385.00 例:个人收入
20、为5400元,其中 2000元不纳税,余额 3400元纳税。其中500元按 5%纳税 25元,1500元按10%纳税 150元,最后 1400元按 15%纳税 210元,税款合计:2000 0%+500 5%+1500 10%+1400 15%=0+25+150+210=385 提示:先对计算公式进行整理,化简后再编写函数。名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 25 页 -C语言程序设计作业-8-4.符号函数double Sgn(double x);0,10,00,1)Sgn(xxxx5.成绩评定输入语文、数学、物理、化学、外语等五门功课的成绩,若全部及格,则输出“升级
21、”;若不及格不超过2门,则输出“补考”;若不及格达到3门,则输出“留级”,若不及格超过3门,则输出“除名”。6.正整数的最高位用递归方法编写函数求正整数的最高位数字:int TopDigit(int x);/例:TopDigit(25173)=2 7.正整数的任意位数字用递归方法求正整数的第n位(由低位到高位从0开始计数)数字:int Digit(int x,int n);/例:Digit(25173,0)=3,Digit(25173,1)=7,Digit(25173,5)=0 8.汉诺塔数列用递归方法编写函数求汉诺塔数列的第n项:int Hanio(int n);1,3,7,15,31,63
22、,127,255,511,9.九连环数列用递归方法编写函数求下面九连环数列的第n项:int Interlink(int n);1,2,5,10,21,42,85,170,341,名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 25 页 -C语言程序设计作业-9-作业 8 循环类语句1.统计(一)编写函数,从键盘输入一组正实数(以零结束),求实数个数、总和、最大值、最小值和平均值。void Stat(int*num,double*sum,double*max,double*min,double*avg);2.韩信点兵(二)任给 a,b,c(0 a3,0 b5,0 c7),求除以 3
23、余a,除以 5余b,除以 7余c的最小正整数解。int Special(int a,int b,int c);源自算术统宗:“三人同行七十稀,五树梅花廿一枝,七子团圆正半月,除百零五便得知。”3.守形数(平方数的低位部分恰为该数本身的数称为守形数,如:52=25,762=5776,5和76都是守形数)编写程序输出1000以内的全部守形数。要求:编写下面的函数来判断守形数。int IsKeeper(int n);/例:IsKeeper(25)=1,IsKeeper(36)=0 4.反序数编写函数求反序数。int RevNum(int n);/例:Reverse(1234)=4321;提示:首先将
24、累加器s清零;然后将累加器s乘以 10,再加上 n的个位得 4,将n除以 10变为 123;再将累加器乘以 10加上取 n的个位 3得43,将 n除以 10变为 12;,如此继续下去,当n变为零时,s变为 4321。利用上面的函数来判断回文数(正看反看都一样的数)。int IsPalNum(int n);/例:IsPalNum(159743)=0,IsPalNum(1258521)=1 5.购物优惠活动(三)某商场推出“满100送30”购物优惠活动:若顾客购物不足100元,则不优惠;购物达 100元,按每 100元送 30元代币券。顾客用代币券购物同样享受优惠。输入购物金额,假设该顾客不再追加
25、购物金额,计算所能购买商品的价值总额,并计算该顾客享受的实际折扣。例:若顾客购物付现金2650元,得代币券2650/100 30=780 元,用这 780元代币券再购物又得代币券 780/100 30=210元,再用 210元代币券购物又可得代币券210/100 30=60元,所购物品价值总额为:2650+780+210+60=3700,实付金额 2650元,折扣为 2650 3700=71.62%。6.余弦函数及其图像根据麦克劳林公式自行编写余弦函数,并与系统库中的余弦函数相比较。double Cos(double x);).()!2()1(.!6!4!21cos2642xnxxxxxnn然
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年C语言作业 2022 语言 作业
限制150内