1、 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%
2、; 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 题目:输出特
3、殊图案,请在 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
4、 题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如: 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
5、】 . 14 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 . 14 【程序 18】 . 14 题目:求 s=a+aa+aaa+aaaa+aa.a 的值,其中 a 是一个数字。例如 2+22+222+2222+22222(此时共有 5 个数相加 ),几个数相加有键盘控制。 . 14 【程序 19】 . 15 题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如 6=1 2 3.编程找出 1000 以内的所有完数。1. 程序分析:请参照程序 main(void) int x,y,z,sum; sum=0; printf(“正在 计算中 n“); print
6、f(“n“); for(x=1;x2)/*如果是闰年且月份大于 2,总天数应该加一天 */ sum+; printf(“It is the %dth day.“,sum); = 【程序 5】 题目:输入三个整数 x,y,z,请把这三个数由小到大输出。 1.程序分析:我们想办法把最小的数放到 x 上,先将 x 与 y 进行比较,如果 xy 则将 x 与 y 的值进行交换, 然后再用 x 与 z 进行比较,如果 xz 则将 x 与 z 的值进行交换,这样能使 x 最小。 2.程序源代码: main() int x,y,z,t; scanf(“%d%d%d“, if (xy) t=x;x=y;y=t
7、; /*交换 x,y 的值 */ if(xz) t=z;z=x;x=t;/*交换 x,z 的值 */ if(yz) t=y;y=z;z=t;/*交换 z,y 的值 */ printf(“small to big: %d %d %dn“,x,y,z); = 【程序 6】 题目:用 *号输出字母 C 的图案。 1.程序分析:可先用 *号在纸上写出字母 C,再分行输出。 2.程序源代码: #include “stdio.h“ main() printf(“Hello C-world!n“); printf(“ *n“); printf(“ *n“); printf(“ * n“); printf(“
8、 *n“); = 【程序 7】 题目:输出特殊图案,请在 c 环境中运行,看一看, VeryBeautiful! 1.程序分析:字符共有 256 个。不同字符,图形不一样。 2.程序源代 码: #include “stdio.h“ main() char a=176,b=219; printf(“%c%c%c%c%cn“,b,a,a,a,b); printf(“%c%c%c%c%cn“,a,b,a,b,a); printf(“%c%c%c%c%cn“,a,a,b,a,a); printf(“%c%c%c%c%cn“,a,b,a,b,a); printf(“%c%c%c%c%cn“,b,a,a,
9、a,b); = 【程序 8】 题目:输出 9*9 口诀。 1.程序分析:分行与列考虑,共 9 行 9 列, i 控制行, j 控制列。 2.程序源代码: #include “stdio.h“ main() int i,j,result; printf(“n“); for (i=1;i10;i+) for(j=1;j10;j+) result=i*j; printf(“%d*%d=%-3d“,i,j,result);/*-3d 表示左对齐,占 3 位 */ printf(“n“);/*每一行后换行 */ = 【程序 9】 题目:要求输出国际象棋棋盘。 1.程序分析:用 i 控制行, j 来控制列
10、,根据 i+j 的和的变化来控制输出黑方格,还是白方格。 2.程序源代码: #include “stdio.h“ main() int i,j; for(i=0;i8;i+) for(j=0;j8;j+) if(i+j)%2=0) printf(“%c%c“,219,219); else printf(“ “); printf(“n“); = 【程序 10】 题目:打印楼梯,同时在楼梯上方打印两个笑脸。 1.程序分析:用 i 控制行, j 来控 制列, j 根据 i 的变化来控制输出黑方格的个数。 2.程序源代码: #include “stdio.h“ main() int i,j; printf(“11n“);/*输出两个笑脸 */ for(i=1;i11;i+) for(j=1;j=i;j+) printf(“%c%c“,219,219); printf(“n“);