文档库 最新最全的文档下载
当前位置:文档库 › C语言经典习题及其答案详解

C语言经典习题及其答案详解

C语言经典习题及其答案详解
C语言经典习题及其答案详解

C语言经典例题和答案

一、求一个任意边长的矩形面积。 #include void main() {int w,h,sum; scanf("%d%d",&w,&h); sum=w*h; printf("area=%d\n",sum); } 二、求一个任意半径的圆的面积及周长。 #define PI 3.14159 #include void main() {float r,area,c; scanf("%f",&r); area=PI*r*r; c=2*PI*r; printf("area=%f\ncircle=%f\n",area,c); } 三、已知:w=5, y=4, z=2, 求表达式:w*y/z的值,并输出。 ##include void main() { int w,y,z,r; w=5; y=4; z=2; r=w*y/z; printf("%5d",r); } 一、从键盘上输入三个数,求出其中的最大值,并输出。 #include void main() {int a,b,c,max; scanf("%d%d%d",&a,&b,&c); max=a; if(max

#include #define PI 3.14159 #include void main() {float a,b,sum; a=30*PI/180; b=60*PI/180; sum=sin(a)+sin(b)+cos(a)+cos(60); printf("total=%f\n",sum); } 三、比较两个数的大小。如果x大于y,则输出:x>y,否则输出:x void main() {int x,y; scanf("%d,%d",&x,&y); if(x>y) printf("x>y\n"); else printf("x void main() {int a,b,c,t; scanf("%d%d%d",&a,&b,&c); if(a>b) { t=b; b=a; a=t; } if(a>c) {t=a; a=c; c=t; } if(b>c) {t=b;b=c;c=t;} printf("%3d%3d%3d\n",a,b,c); }. 二、求自然数1~10之和。。 #include void main()

C语言练习题(带答案)-绝对经典题目不看后悔

1单选题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从C开始执行。 A) 程序中第一条可执行语句B) 程序中第一个函数 C) 程序中的main函数D) 包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B)。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C)。 A.-a1 B.a[i] C.a2_i D.int t 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是(B)。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A)%x B)a+b C)a123 D)123 选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键

最新版c语言经典习题100例(最全面)

C 语言习题100 例(最新整理版) 习题目录:(按住Ctrl 点击可以快速跳转到对应页面) 【程序1】 (5) 题目:有1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? (5) 【程序2】 (6) 题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元 时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%; 40万到60万之间时高于40万元的部分,可提成3%; 60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? (6) 【程序3】 (7) 题目:一个整数,它加上100 后是一个完全平方数,再加上168 又是一个完全平方数,请问该数是多少? (7) 【程序4】 (7) 题目:输入某年某月某日,判断这一天是这一年的第几天? (7) 【程序5】 (8) 题目输入三个整数x,y,z请把这三个数由小到大输出。 (8) 【程序6】 (9) 题目用*号输出字母C的图案。 (9) 【程序7】 (9) 题目:输出特殊图案,请在C环境中运行,看一看,VeryBeautifuI! (9) 【程序8】 (9) 题目:输出9*9 口诀。 (9) 【程序9】 (10) 题目:要求输出国际象棋棋盘。 (10) 【程序10】 (10) 题目:打印楼梯,同时在楼梯上方打印两个笑脸。 (10) 【程序11】 (11) 题目:古典问题:有一对兔子,从出生后第3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? (11) 【程序12】 (11) 题目:判断101-200 之间有多少个素数,并输出所有素数。 (11) 【程序13】 (12) 题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1 的三次方+5的三次方+3的三次方。 (12) 【程序14】 (12) 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5 。 (12) 【程序15】 (13) 题目利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用 C 表示。 (13) 【程序16】 (13) 题目:输入两个正整数m和n ,求其最大公约数和最小公倍数。 (13) 【程序17】 (14) 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。14【程序18】 (14)

C语言练习习题(带详解答案)

欢迎阅读 一、编程题 1.输入2个整数,求两数的平方和并输出。 #include int main(void) { intt a ,b,s; 2. 信息。 scanf("%lf",&r); if (r>=0) { area =PI*r*r; girth =2*PI*r ; printf("the area is %.2f\n", area);

printf("the girth is %.2f\n", girth);} else printf("Input error!\n"); return 0; } 3 4.从键盘上输入一个百分制成绩score,按下列原则输出其等级:score≥90,等级为A;80≤score<90,等级为B;70≤score<80,等级为C;60≤score<70,等级为D;score<60,等级为E。 #include void main(){ int data;

char grade; printf("Please enter the score:"); scanf("%d”, &data); switch(data/10) { case 10: } 5. float fee; printf(“please input hour:\n”); scan f(“%d”,&hour); if(hour<=10) fee=30;

else if(hour>=10&&hour<=50) fee=3*hour; else fee=hour*2.5; printf(“The total fee is %f”,fee); } 6. } 7、编程序实现求1-10之间的所有数的乘积并输出。 #include void main( ) { int i; long sum=1;

c语言-经典常用-习题

c语言-经典常用-习题

1.输入一个字符串,将其按给定的长度n格式化并输出,若n=0,则输出原字符串 输入 输入一个字符串 输出 格式化并输出 样例输入 asdfasdf 3 样例输出 asd fas df 提示 #include #include int main()

{ int n,m,i,j; char a[10000]; gets(a); scanf("%d",&m); n=strlen(a); if(m==0) puts(a); else { for(i = 0; i < n; i += m) { if(a[i] == '\0') return 0; for(j = 0; j < m; ++ j) { if(a[i + j] == '\0') { printf("\n"); return 0; } printf("%c", a[i + j]);

} printf("\n"); } } return 0; } 2.题目描述 输入一个长度不超过100 的字符串,删除串中的重复字符。 输入 输入要检查的字符串,长度不超过100个字符。例如:abacaeedabcdcd。 输出 删除重复字符后的字符串。例如:abced。 样例输入 saas

样例输出 sa 提示 #include int main() { char a[100]; int i,j,m; scanf("%s",a); for(i=0;a[i]!=0;i++) for(j=i+1;a[j]!=0;j++) if(a[i]==a[j]) { for(m=j;a[m]!=0;m++) { a[m]=a[m+1]; } j--;

c语言基础练习题含答案定稿版

c语言基础练习题含答 案 HUA system office room 【HUA16H-TTMS2A-HUAS8Q8-HUAH1688】

第一章 C语言基础知识 1.1 选择题 1. 以下不是C语言的特点的是()。 A、语言简洁紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件操作 D、C语言移植性好 2. 下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.no.1 C._123_ D._ok 3. 正确的C语言标识符是()。 A._buy_2 B.2_buy C.?_buy D.buy? 4. 请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 5. 下列符号中,不属于转义字符的是()。

A.\\ B.\0xAA C.\t D.\0 6. 不属于C语言关键字的是()。 A.int B.break C.while D.character 7. 是C语言提供的合法关键字的是()。 A.Float B.signed C.integer D.Char 8. 以下不能定义为用户标示符的是()。 A.scanf B.Void C._3com_ D.int 9. 一个C程序是由()。 A.一个主程序和若干子程序组成 B.一个或多个函数组成 C.若干过程组成 D.若干子程序组成 10. C语言程序的基本单位是()。 A.程序行B.语句 C.函数 D.字符 11. 下列说法中,错误的是()。

A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号 B.每个函数都有一个函数头和一个函数体,主函数也不例外 C.主函数只能调用用户函数或系统函数,用户函数可以相互调用 D.程序是由若干个函数组成的,但是必须有、而且只能有一个主函数 12. 以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 13. C编译程序是()。 A.C程序的机器语言版本 B.一组机器语言指令 C.将C源程序编译成目标程序 D.由制造厂家提供的一套应用软件 14.以下选项中,合法的用户标识符是()。

C语言编程练习题绝对经典

马克思手稿中有一道趣味数学题:有30个人,其中有男人、女人和小孩,在一家饭馆里吃饭共花了50先令,每个男人各花3先令,每个女人各花2先令,每个小孩各花1先令,问男人、女人和小孩各有几人? 解方程组 编写程序,采用穷举法求出结果。 编写程序,根据以下公式求e的值。要求用两种方法计算: 1) for循环,计算前50项 2)while 循环,直至最后一项的值小于10-4 从键盘中输入一个数字(不限位数),用循环语句编程判断并输出这个数字的位数。 猴子吃桃子问题。猴子第一天摘下若干个桃,当即只一半,又多吃一个。第二天早上又将剩下的一半吃掉一半,双多吃一个。以后每天早上都吃了前天剩下的一半零一个,到第10天早上只剩下最后一个桃。问第一天摘了几个桃。 编程打印九九乘法表 青年歌手参加歌曲大奖赛,有10个评委打分,试编程求选手的平均得分(去掉一个最高分和一个最低分)。 从键盘中输入一个数字(可以包含小数点,其位数在60位以下,求其整数的有效位数,如输入,返回值为整数有效位数为3) 1) 输入数据为浮点型,不用数组,不用字符串,只有变量的算术运算实现此功能。 2) 使用数组来进行编程。 使用数组,编写一个十进制正整数转换为任意进制数的转换工具。 (大进制向小进制的转换。(方法是相除去余) 10进制327转八进制: 327/8 = 40 余数为7 40/8 = 5 余数为0 于是八进制数为507(第一位5是最后的商)) 使用数组,编写一个任意进制正整数转换为十进制的转换工具。(以2,10进制互转为例,其他请举一反三: 二进制数1101转十进制: 1×2的三次幂+1×2的二次幂+0×2的一次幂+1×2的零次幂=8+4+0+1=13) 10个小孩围成一圈分糖果,老师顺次分给每个人的糖块数为12,2,8,22,16,4,10,6,14,20。然后按下列规则调整,所有小孩同时把自己的糖果分一半给右边的小孩,糖块数变为奇数的人,再向老师补要一块,问经过多少次调整后,大家的糖块一样多,且每人多少块。

最新版c语言经典习题100例(最全面)

C语言习题100例(最新整理版) 习题目录:(按住Ctrl点击可以快速跳转到对应页面) 【程序1】 (5) 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? (5) 【程序2】 (6) 题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成 1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? (6) 【程序3】 (7) 题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? (7) 【程序4】 (7) 题目:输入某年某月某日,判断这一天是这一年的第几天? (7) 【程序5】 (8) 题目:输入三个整数x,y,z,请把这三个数由小到大输出。 (8) 【程序6】 (9) 题目:用*号输出字母C的图案。 (9) 【程序7】 (9) 题目:输出特殊图案,请在c环境中运行,看一看,VeryBeautiful! (9) 【程序8】 (9) 题目:输出9*9口诀。 (9) 【程序9】 (10) 题目:要求输出国际象棋棋盘。 (10) 【程序10】 (10) 题目:打印楼梯,同时在楼梯上方打印两个笑脸。 (10) 【程序11】 (11) 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? (11) 【程序12】 (11) 题目:判断101-200之间有多少个素数,并输出所有素数。 (11) 【程序13】 (12) 题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。 (12) 【程序14】 (12) 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 (12) 【程序15】 (13) 题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。 (13) 【程序16】 (13) 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 (13) 【程序17】 (14) 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 (14) 【程序18】 (14)

经典练习C语言编程的题目与答案整理

1.逆序输出正三位数 #include int main() { int input,output= 0; scanf("%d",&input); while(input != 0) { output = output*10 + input%10; input /= 10; } printf("%d\n",output); return 0; } 2.百元找零函数 #include int main() { int amount=100; int price=0; printf("请输入金额(元)"); scanf("%d",&price); printf("请输入票面"); scanf("%d",&amount); int change=amount-price; printf("找您%d元。\n",change); return 0; } 3.求平均数 #include int main() { int a,b; scanf("%d %d",&a,&b);

double c=(a+b)/2.0; /* scanf("%d",&amount); 这是注释,我随便放的,没意义 int change=amount-price;*/ printf("%d和%d的平均值是%f\n",a,b,c); return 0; } 4.写出程序的输出: int i=1; switch ( i/3 ) { case 0: printf("zero"); case 1: printf("one"); case 2: printf("two"); } 正确答案是:zeroonetwo。 5.水仙花数是指一个N位正整数(N>=3),它的每个位上的数字的N次幂之和等于它本身。例如:153 = 13 + 53+33。本题要求编写程序,计算所有N位水仙花数。 输入格式: 输入在一行中给出一个正整数N(3<=N<=7)。 输出格式: 按递增顺序输出所有N位水仙花数,每个数字占一行。 输入样例: 3 输出样例: 153 370 371 407

C语言练习题(带答案)-绝对经典题目不看后悔之欧阳家百创编

1单选题 欧阳家百(2021.03.07) 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从 C开始执行。 A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的main函数 D) 包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B)。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C)。 A.-a1 B.a[i] C.a2_i D.int t 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)

6.下列C语言用户标识符中合法的是( B)。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A) %x B) a+b C) a123 D) 123 选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键字,不满足(3) 9.C语言中的简单数据类型包括(D)。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是C。 A)2.5 B)2 C)1 D)3 详见教材P52~53. %为求余运算符,该运算符只能对整型数据进行运算。且符号与被模数相同。5%2=1;5%(-2)=1;(-5)%2=-1;(-5)%(-2)=-1; /为求商运算符,该运算符能够对整型、字符、浮点等类型的数据进行运算,5/2=2 11.如果int a=3,b=4;则条件表达式"a

C语言经典例题及答案(精心整理)

#include void main() {int w,h,sum; scanf("%d%d",&w,&h); sum=w*h; printf("area=%d\n",sum); } 二、求一个任意半径的圆的面积及周长。 #define PI 3.14159 #include void main() {float r,area,c; scanf("%f",&r); area=PI*r*r; c=2*PI*r; printf("area=%f\ncircle=%f\n",area,c); } 三、已知:w=5, y=4, z=2, 求表达式:w*y/z的值,并输出。 ##include void main() { int w,y,z,r; w=5; y=4; z=2; r=w*y/z; printf("%5d",r); #include void main() {int a,b,c,max; scanf("%d%d%d",&a,&b,&c); max=a; if(max #define PI 3.14159 #include void main() {float a,b,sum; a=30*PI/180; b=60*PI/180; sum=sin(a)+sin(b)+cos(a)+cos(60);

c语言基础练习习题及答案

c语言基础练习习题及答案 一、单项选择题 1.下列标识符中,合法的用户标识符是_(B)_。 A)B#123 B)_1234 C)void D) xy* 2.C语言中,要求参加运算的数必须是整数的运算符是_(C)__。 A)/ B)! C)% D)== 3.下面运算符中,具有右结合性的是__(A)__。 A)= B) + C) / D) % 4.字符串“a\x44\\abcd\101b”的长度是__(A)______。 A) 9 B)10 C) 16 D)18 解释:(a \x44 \\ a b c d \101 b) 5.C语言允许一条语句写在两行上,下列语句不正确的是_(D)_____。 A) int a, B)int a b; ,b; C) int D)int a,b a,b; ; 6.C语言一行写不下时,可以_(C)_。 A) 用逗号换行B)用分号换行 C) 在任意一空格处换行D)用回车符换行 7.下所列的C语言常量中,错误的是_(B)__。

A) 0Xff B) 1.2e0.5(E后面指数必须为整数) C) 2L D) '\72' 8.下列选项中,合法的C语言关键字是_(D)_____。 A) V AR(far) B) cher(char) C) integer(interrupt)D) default 9.以下错误的转义符是__(D)__。 A) ‘\\’ B) ‘\’’ C) ‘\t’ D) ‘\80’ 10.设int类型的数据长度为2个字节,则unsigned int类型数据的取值范围是_(B)___。 A) 0至255 B) 0至65535 C) -256至255 D) -32768至32767 11.以下变量x、y、z均为double类型且已正确赋值,不能正确表示数学式子的C语言表达式是_(A)___。 A) x/y*z B) x*(1/(y*z)) C) x/y*1/z D) x/y/z 12.已知w=1,x=2,y=3,z=4,a=5,b=6;则执行语句(a=w>x)&&(b=y>z);后,a,b的值为_____。 A) 1和1 B) 0和6 C) 5和0 D) 0和0 13.设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为_(C)___。A) 不定值B) 4 C) 3 D) 1 【#include main() { int x,y,t; x=y=3; t=++x||++y; printf("t=%d x=%d y=%d",t,x,y); getch(); /*结果t=1 x=4 y=3*/ }】 14.设有语句int a=4;,则执行了语句a+=a-=a*a后,变量a的值是_(B)__。

C语言练习题集(带答案解析)

1. ( A )是构成C 语言程序的基本单位。 A 、函数 B 、过程 C 、子程序 D 、子例程 2. C 语言程序从 _____ C ______________ 开始执行。 A ) 程序中第一条可执行语句 B )程序中第一个函数 C )程序中的main 函数 D )包含文件中的第一个函数 3、以下说法中正确的是( C )。 A 、 C 语言程序总是从第一个定义的函数开始执行 B 、 在 C 语言程序中,要调用的函数必须在 main ()函数中定义 C 、 C 语言程序总是从 main ()函数开始执行 D 、 C 语言程序中的 main ()函数必须放在程序的开始部分 4. 下列关于C 语言的说法错误的是( B ) 。 A ) C 程序的工作过程是编辑、编译、连接、运行 B ) C 语言不区分大小写。 C ) C 程序的三种基本结构是顺序、选择、循环 D ) C 程序从main 函数开始执行 5. 下列正确的标识符是(C )。 A. -a1 B.a[i] C.a2_i 6. 下列C 语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)u nion 7. 下列四组选项中,正确的 C 语言标识符是(C )。 A ) %x B ) a+b C ) a123 D ) 8、 下列四组字符串中都可以用作 A 、print _3d db8 aBc B C 、str_1 Cpp pow while D 9. C 语言中的简单数据类型包括( A 、整型、实型、逻辑型 C 、整型、字符型、逻辑型 C 语言程序中的标识符的是( A ) 、I\am one_half start$it 3pai 、Pxq My->book line# His.age D )。 B 、整型、实型、逻辑型、字符型 D 、整型、实型、字符型 10.在C 语言程序中,表达式 5%2的结果是—C_ A)2.5 B)2 C)1 D)3 11. 如果int a=3,b=4 ;则条件表达式"a

c语言 经典常用 习题

c语言经典常用习题 1.输入一个字符串,将其按给定的长度n格式化并输出,若n=0,则输出原字符串输入输入一个字符串输出格式化并输出样例输入asdfasdf 3 样例输出asd fas df 提示#include #include int main() { int n,m,i,j; char a[10000]; gets(a); scanf(\ n=strlen(a); if(m==0) puts(a); else { for(i = 0; i printf(\ } } return 0; } 2.题目描述输入一个长度不超过100 的字符串,删除串中的重复字符。输入输入要检查的字符串,长度不超过100个字符。例如:abacaeedabcdcd。输出删除重复字符后的字符串。例如:abced。样例输入saas 样例输出sa 提示#include int main(){char a[100]; int i,j,m;scanf(\

for(i=0;a[i]!=0;i++) for(j=i+1;a[j]!=0;j++) if(a[i]==a[j]) {for(m=j;a[m]!=0;m++) {a[m]=a[m+1]; }j--;}puts(a); return 0;} 3.请编写C程序,输入5个不同的且为字符格式的学生编号,将其先大到小排序,再将最大的学生编号和最小的学生编号互换位置,然后输出此时5位学生的编号。输入输入5位学生的编号(只含数字字符、英文字母或空格)。输出输出按题意要求排序后的5位学生的编号。样例输入good1 tiger100 horse2011 mouse 022 21century 样例输出21century mouse 022 horse2011 good1 tiger100 提示用gets()函数输入字符串。#include int main() { char *temp,*p[5];char str[5][50];int i,j,c; for(i=0;i gets(str[i]); p[i] = str[i]; } for(i=0;i

C语言经典习题集

第三章习题 3-1(选做)分析下列程序的输出结果 #include <> int main(void) { char x ='a',y ='b'; printf(“ xy\bmn\r ”); /*xy 之前四个空格*/ printf("%c\\%c\'\n",x,y); { printf("%c\a\n",'\65'); return 0; } 3-2. 分析程序运行结果。 #include <> int main(void ) { short i,j; \ unsigned short u1,u2; u1=10000; u2=40000; i=u1; j=u2; printf("u1=%u,u2=%u\ni=%d,j=%d\n",u1,u2,i,j); return 0; } . 3-3 若a=3,b=4,c=5,x=,y=,z= ,u=51274,n=128765, c1=‘a’,c2=‘b’.想得到以下的输出格式和结果,请写出 程序(包括定义变量类型和设计输出,?表示空格 ) 注意: 数值的地方必须利用变量的值,不能像下面这行 printf(“ a=?3??b=4??c=?5\n”); a=?3??b=4??c=?5 x=,y=,z= x+y=? ?y+z=??z+x= u=?51274??n=128765 、 c1=‘a’ ?or ?97(ASCII) c2=‘b’ ?or ?98(ASCII) 3-4 写程序输入x 和y, 求x 的y 次方(课本附录四,pow 函数) 第四章 习题 4-1 编程求 ∑=2500 1i 2i 4-2 输出下面的九九乘法表 ]

C语言经典例题(带答案)

C语言复习题纪实解答(有好方法的互相交流!) 1.题: #include "stdio.h" main() { float i,s=0; for(i=3;i<=10;i++) { s=s+(i+2)*(i+3)/(i+4); } printf("s=%.2f",s); } 2.题: #include "stdio.h" void main() {int score; scanf("%d",&score); switch(score/5) { case 20: case 19: case 18:printf("A\n");break; case 17: case 16: case 15:printf("B\n");break; case 14: case 13: case 12:printf("C\n");break; case 11: case 10: case 9: case 8: case 7: case 6: case 5: case 4: case 3: case 2: case 1: case 0:printf(" D I`m so sorry your IQ==0 \n");break; default:break; } }

3.题:(if语句) #include "stdio.h" main() { int x,y; scanf("%d",&x); if(x<-5) y=x; if(x>=-5&&x<=0) y=x+1; if(x>0&&x<=5) y=x-1; if(x>5) y=2*x; printf("y= %d\n",y); } 4.题: 有谁会第四题给我发来。 我真的不会啊!!!! 5.题: 一、 #include "stdio.h" void main() { int max_value(int a[3][3]); int i,j,a[3][3]={3,8,-2,5,6,10,4,9,18}; for(i=0;i<3;i++)

最新最新版c语言经典习题100例(最全面)

C语言习题100例(最新整理版) 1 2 习题目录:(按住Ctrl点击可以快速跳转到对应页面) 【程序1】 (12) 3 4 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多5 少? (12) 【程序2】 (14) 6 7 题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;8 利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,9 可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之10 间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提11 成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求12 应发放奖金总数? (14) 13 【程序3】 (16) 14 题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,15 请问该数是多少? (16) 16 【程序4】 (17) 17 题目:输入某年某月某日,判断这一天是这一年的第几天? (17) 18 【程序5】 (19) 题目:输入三个整数x,y,z,请把这三个数由小到大输出。 (19) 19 20 【程序6】 (20)

21 题目:用*号输出字母C的图案。 (20) 22 【程序7】 (21) 23 题目:输出特殊图案,请在c环境中运行,看一看,VeryBeautiful! (21) 24 【程序8】 (21) 25 题目:输出9*9口诀。 (21) 26 【程序9】 (22) 27 题目:要求输出国际象棋棋盘。 (22) 28 【程序10】 (24) 29 题目:打印楼梯,同时在楼梯上方打印两个笑脸。 (24) 30 【程序11】 (25) 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长 31 32 到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 25 33 【程序12】 (26) 题目:判断101-200之间有多少个素数,并输出所有素数。 (26) 34 35 【程序13】 (27) 36 题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字37 立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次38 方+3的三次方。 (27) 39 【程序14】 (28)

C语言指针经典练习题-及答案

C语言指针练习题及答案 一、选择题 1. 变量的指针,其含义是指该变量的____. a)值b)地址 c)名d)一个标志 2.若有语句int *point,a=4;和point=&a;下面均代表地址的一组选项是__ _. a)a,point,*&a b)&*a,&a,*point c)*&point,*point,&a d)&a,&*point ,point 3.若有说明;int *p,m=5,n;以下正确的程序段的是________. a)p=&n; b)p=&n; scanf("%d",&p); scanf("%d",*p); c)scanf("%d",&n); d)p=&n; *p=n; *p=m; 4. 以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是__ _____. main() { int *p,*q,a,b; p=&a; printf(“input a:”); scanf(“%d”,*p); …… } a)*p表示的是指针变量p的地址 b)*p表示的是变量a的值,而不是变量a的地址 c)*p表示的是指针变量p的值 d)*p只能用来说明p是一个指针变量 5. 已有变量定义和函数调用语句:int a=25; print_value(&a); 下面函数的正确输出结果是______. void print_value(int *x) { printf(“%d\n”,++*x);} a)23 b)24 c)25 d)26 6.若有说明:long *p,a;则不能通过scanf语句正确给输入项读入数据的程序段是 A) *p=&a;scanf("%ld",p); B) p=(long *)malloc(8);scanf("%ld",p); C) scanf("%ld",p=&a); D) scanf("%ld",&a); 7.有以下程序 #include main() { int m=1,n=2,*p=&m,*q=&n,*r; r=p;p=q;q=r; printf("%d,%d,%d,%d\n",m,n,*p,*q); }程序运行后的输出结果是

相关文档
相关文档 最新文档