C语言习题集1.编写程序,在屏幕上输出以下两行文本(用一个printf()产生)Uppercaseiis‘I’LowercaseIis‘i’2.编写程序,给2个整型变量a和b分别赋值8进制的225和16进制的12e,并用printf()输出变量a所对应的10进制、8进制、16进制数值。(输出8进制整数的格式符为%o输出16进制整数的格式符为%x)3.定义2个长整型变量a和b,并分别赋值1345678和1,编写程序求a与b的和、差、积、商并输出。(输出长整型数据的格式符为%ld)4.定义圆半径为一个双精度型变量r,并赋值5.25,编写程序求该圆的周长和面积(∏取3.14)并输出。(输出实数的格式符为%f)5.假定一个字符变量C1的值为小写的‘c’,编写程序,将其转换成大写的’C’,并输出大写的’C’的ASCⅡ码值。6.编写程序,将一个三位数387的个位、十位、百位分离后输出,输出结果为:a=3,b=8,c=77.编程计算出-48%9、48%-9及-48%-9的结果8.假设每次运算时i的初值均为16,求i+++i和--i-i的值9.编写程序,将”China”译成密码,密码规律:用原来的字母后面第4个字母代替原来的字母,例如:字母“A”后面第4个字母是”E”,用”E”代替“A”,因此,“China”应译为“Glmre”并输出。10.编写程序,输出双引号”和反斜杠\,并以3位8进制数和2位16进制的转义字符形式输出大写的字母A。11.已知x=3.6,y=4.2.编写程序,求表达式x+y及(int)x%(int)y的值12.设b=35.425,c=52.954,编写程序,求b*c并将其值整数化后赋给a1;再将c除以b的值赋给a213.已知a=7,b=3,x=2.5,y=4.7,编写程序,求表达式(float)(a+b)/2+a%3*(int)(x+y)%2的值14.用getchar()和putchar()编写从键盘接收一个字符并输出的程序。15.已知a=123,b=12345678,编写程序,输出a和b所对应的十进制数、十六进制数。16.已知a=654.12345,编写程序输出以下结果:654.123450::654.12::654.12::6.54e+02:17.已知字符数组s[]=”welcometohengyang”,编写程序输出以下结果::welcometohengyang::welcometohengyang::welcome:18.已知银行定期存款的年利率rate为2.25%,并已知存款期为n年,存款本金为capital元,编写程序,计算n年后的本利之和deposit。要求定期存款的年利率rate、存款期n、存款本金capital均由键盘输入,本利之和deposit只要显示2位小数。19.编写程序,输入一个华氏温度,要求输出摄氏温度,公式为C=5/9(F-32),输出结果取3位小数。20.已知a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=’a’,c2=’b’,编写程序,使程序能得到以下的输出格式和结果:a=3,b=4,c=5x=1.200000,y=2.400000,z=-3.600000x+y=3.60,y+z=-1.20,z+x=-2.40u=51274,n=128765c1=’a’or97c2=’b’or9821.编程输出下列表达式的结果:5&3,5&4,5|3,5|4,5&&3,5&&5,5||3,5||511.输入a、b两个整数,如果a=b,则在屏幕输出2行“OK!”“a=b=赋值”12.输入a、b两个整数,如果a=b,则在屏幕输出2行“OK!”“a=b=赋值”否则,则在屏幕输出2行“No!”“a=赋值b=赋值“13.输入a、b两个整数,如果a=b,则在屏幕输出:“a=b”如果ab,则在屏幕输出:“ab”否则,在屏幕输出:“ab”14.用IF的嵌套编写程序,将输入的三个整数x,y,z,求出3个数当中最大的数。15.用switch编一程序,输入ABCD后分别输出”perfect””good”“pass”和”NG’,否则显示“inputerror”16.用IF的嵌套编写程序,将输入的三个整数x,y,z,按大小从左至右依次排列。17.根据输入的年份判断是否为闰年(能被4整除但不能被100整除或能被400整除的年份为闰年)18.用switch编一程序,如输入的分数score≥90,则输出”perfect”70≤score90,则输出”good”60≤score70则输出“pass”其他则输出”Fail’19.用switch编一程序,根据键盘输入的月份,输出对应的季度,如输入3则输出“Spring”19分别用whiledo…while和for循环计算出13+23+33+……+133的和。20.用双重for循环打印出以下列倒三角形***************21.用双重for循环打印出以下九九乘法口诀:1*1=12*1=22*2=43*1=33*2=63*3=94*1=44*2=84*3=124*4=165*1=55*2=105*3=155*4=205*5=256*1=66*2=126*3=186*4=246*5=306*6=367*1=77*2=147*3=217*4=287*5=357*6=427*7=498*1=88*2=168*3=248*4=328*5=408*6=488*7=568*8=649*1=99*2=189*3=279*4=369*5=459*6=549*7=639*8=729*9=8122.打印出以下菱形:----*---**--***-*********-****--***---**----*23.求任意两个正整数的最大公约数和最小公倍数24.打印出所有的“水仙花数”。25.输入以下代码,然后分别设计在i=4时中止循环、继续循环:Main(){Inti;For(i=1;i=6;i++)Printf(“thisis%dloop\n”);Printf(“weareoutoftheloop\n”);}26.将一缸金鱼分5次出售。第1次卖出全部的一半加1/2条,第2次卖出余下的1/3加1/3条,第3次卖出余下的1/4加1/4条,第4次卖出余下的1/5加1/5条,最后卖出余下的11条,问原来共有多少条金鱼。27、定义一个长度为6的整型数组a,并赋初值10、11、12、13、14、15,最后输出a[0]=10,a[1]=11,a[2]=12,a[3]=13,a[4]=14,a[5]=152801.用循环语句输入8个整数,并找出最小数。2802.用循环语句输入8个整数,用冒泡法将8个数从小到大进行排序。29、定义一个3行3列的整型数组a,并赋初值10、11、12、23、24、25、36、37、38,最后输出a[0][0]=10,a[0][1]]=11,a[0][2]=12,a[1][0]=23,a[1][1]=24,a[1][2]=25,a[2][0]=36,a[2][1]=37,a[2][2]=38,30、求一个3行3列的整型数组的对角线元素之和。31、31、定义一个字符数组,用单个字符+scanf()配合循环语句输入“student”,最后用单个字符+printf()配合循环语句输出。32、定义一个字符数组,用整个字符串+scanf()输入“student”,最后用printf()输出。33、输入2个字符串,并用strcmp比较它们大小。34、定义字符数组str1并赋值“mynameis”,将自己的姓名用gets()输入字符数组str2,再用strcat将str2连接到str1,最后用puts输出str1。35、输入2个字符串a和b,要求不用strcat把b的前5个字符连接到a中。36、输入5个国家的名字并按字母顺序排列输出。37、在主函数中输入三个整数,在子函数中用if的嵌套比较出最大的数并返回主函数。38、在子函数中用switch依据主函数输入的月份输出对应的季度,如输入3则输出“Spring”39、在主函数中输入一个整数给变量x,在子函数中用for循环计算出1~2x之间的整数和并返回主函数。39.1、在主函数中建立一个长度为5的float数组并随机输入3个正数和2个负数,然后在子函数中将该数组中的3个正数求和并返回主函数输出。40、在主函数中输入一个同学的5门功课成绩,调用函数统计有几门功课及格。41、在主函数中输入年月日,调用函数计算该日是本年的第几天。42、在主函数中输入任意n个整数,再输入一个整数m,在n中找出与m最接近的整数,并用m置换该数。43、用函数递归调用的方法编写程序计算8的阶乘。44、编写一个求x的y次幂的递归函数,x为double型,y为int型,要求从主函数输入x、y的值,调用函数求其幂。45、hanoi塔问题:一块板上有三根针A、B、C,A针上有3个大小不等的圆盘,大的在下,小的在上,要把这3个圆盘从A针移动到C针上,每次只能移动一个圆盘,移动可以借助B针进行,但在任何时候,任何针上的圆盘都必须保持大盘在下,小盘在上,求移动的步骤。46、编写fac函数,该函数的功能是计算n!,再调用该函数,计算1!+3!+5!+…+9!47、定义一个float变量x并从键盘赋值,再定义一个指向x的指针变量px,最后用指针变量px输出x的地址(格式符%X)及x的值(*px)。48、定义一维整型数组a[5],并初始化其元素值为10,11,12,13,14,再分别用下标法、数组指针法、指针变量法输出其元素值。49、定义一维整型数且a[5],并初始化其元素值为10,11,12,13,14,再定义一个指向数组a的指针变量p,请用指针法输出a[2]、a[4]的值。49、定义二维整型数且a[3][3],并初始化其元素值为10,11,12,20,21,22,30,31,32,再定义一个指向数组a的指针变量p,最后用指针法输出数组a中各元素的值。50、定义一个字符串指针变量p,并将自已姓名的拼音赋值给它,先用下标法显示整个姓名,再通过改变该指针变量的值的方法,只输出你的名字。