C语言程序设计100个经典例子

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

The C Language



Made by 2016。

07.20
经典C语言程序设计100例
1.数字排列 (4)
2.奖金分配问题 (4)
3.已知条件求解整数 (5)
4。

输入日期判断第几天 (5)
5。

输入整数进行排序 (6)
6. 用*号显示字母C的图案 (7)
7. 显示特殊图案 (7)
8。

打印九九口诀 (7)
9. 输出国际象棋棋盘 (8)
10. 打印楼梯并按条件打印笑脸 (8)
11。

经典兔子问题 (8)
12. 判断素数 (9)
13. 水仙花数问题 (9)
14。

正整数分解质因数 (10)
15. 学习成绩划分 (11)
16。

正整数求其最大公约数和最小公倍数 (11)
17. 统计英文字母/空格/数字个数 (12)
18。

求s=a+aa+aaa+aa。

a的值 (12)
19. 求解"完数" (13)
20. 球体自由落下物理问题 (13)
21. 猴子吃桃问题 (14)
22。

乒乓球比赛抽签问题 (14)
23。

打印菱形图案 (15)
24。

分数数列求和 (16)
25. 求1+2!+3!+。

.+20!的和 (16)
26. 利用递归方法求5! (16)
27. 将输入字符以相反顺序打印 (17)
28. 岁数问题 (17)
29。

求解正整数位数 (18)
30。

判断回文数 (18)
31。

星期几猜测游戏 (19)
32. 改变文本颜色 (20)
33。

学习gotoxy()与clrscr()函数 (20)
34。

练习函数调用 (20)
35. 设置文本颜色 (21)
36。

求100之内的素数 (21)
37。

对10个数进行排序 (22)
38. 求3*3矩阵对角线元素之和 (22)
39。

数字插入数组重新排序 (23)
40。

将一个数组逆序输出 (24)
41。

static定义静态变量用法 (24)
42. 使用auto定义变量用法 (25)
43. 使用static的另一用法 (25)
44。

使用external的用法 (25)
45. 使用register定义变量方法 (26)
46. 宏#define命令练习(1) (26)
47。

宏#define命令练习(2) (27)
48. 宏#define命令练习(3) (27)
49. #if #ifdef和#ifndef的综合应用 (28)
50。

#include 的应用练习 (28)
51. 学习使用按位与 & (29)
52。

学习使用按位或 | (29)
53. 学习使用按位异或 ^ (30)
54。

取一个整数从右端开始的4~7位。

(30)
55。

学习使用按位取反~ (30)
56。

用circle画圆形 (31)
57. 学用line画直线 (31)
58。

用rectangle画方形 (32)
59。

画图综合例子 (33)
60. 画图综合例子2 (34)
61。

打印杨辉三角形 (35)
62. 学习putpixel画点 (36)
63. 画椭圆ellipse (36)
64. 利用ellipse and rectangle画图 (36)
65. 画个最优美的图案 (37)
66。

输入3个数字按大小顺序输出 (38)
67. 输入数组交换元素重新输出 (39)
68. 多个整数后移位置问题 (40)
69. 圆圈报数问题 (40)
70。

计算一个字符串长度 (41)
71。

编写输入/输出函数 (42)
72。

创建链表 (43)
73. 反向输出链表 (43)
74。

连接两个链表 (44)
75。

算一道简单题目 (46)
76. 调用函数求1/2+1/4+.。

.+1/n (46)
77. 填空练习(指向指针的指针) (48)
78。

找到年龄最大的人 (48)
79。

字符串排序 (48)
80。

海滩猴子分桃 (49)
81。

已知公式条件求数字 (50)
82. 八进制转换为十进制 (50)
83。

求0—7所能组成的奇数个数 (50)
84。

由两个素数之和表示的偶数 (51)
85. 判断一个素数能被几个9整除 (51)
86. 两个字符串连接程序 (52)
87. 结构体变量传递 (52)
88。

读取数字的整数值并打印出该值个数的* (53)
89。

数据加密 (53)
90。

专升本一题 (54)
91. 时间函数举例1 (54)
92. 时间函数举例2 (54)
93. 时间函数举例3 (55)
94。

一个猜数游戏 (55)
95. 家庭财务管理小程序 (56)
96. 计算字符串中子串出现的次数 (60)
97。

输入字符并保存到磁盘 (60)
98. 字符串转换成大写字母并输出保存 (61)
99。

文件操作应用1 (62)
100。

文件操作应用2 (63)
—----——--———---—--—----——-—--—-———-——-—---—--———-—--——-———-—----——-————-———-——-—
c语言经典100题【实用】
【程序1】
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。

组成所有的排列后再去
掉不满足条件的排列。

2.程序源代码:
main()

int i,j,k;
printf(”\n");
for(i=1;i<5;i++) /*以下为三重循环*/
for(j=1;j〈5;j++)
for (k=1;k〈5;k++)
{
if (i!=k&&i!=j&&j!=k)/*确保i、j、k三位互不相同*/
printf("%d,%d,%d\n”,i,j,k);
}

==============================================================
【程序2】
题目:企业发放的奖金根据利润提成。

利润(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,求应发放奖金总数?1。

程序分析:请利用数轴来分界,定位。

注意定义时需把奖金定义成长整型。

2.程序源代码:
main()

long int i;
int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;
scanf("%ld",&i);
bonus1=100000*0。

1;bonus2=bonus1+100000*0.75;
bonus4=bonus2+200000*0。

5;
bonus6=bonus4+200000*0.3;
bonus10=bonus6+400000*0。

15;
if(i<=100000)
bonus=i*0.1;
else if(i<=200000)
bonus=bonus1+(i—100000)*0。

075;
else if(i〈=400000)
bonus=bonus2+(i-200000)*0。

05;
else if(i〈=600000)
bonus=bonus4+(i—400000)*0.03;
else if(i<=1000000)
bonus=bonus6+(i-600000)*0.015;
else
bonus=bonus10+(i-1000000)*0。

01;
printf(”bonus=%d”,bonus);

==============================================================
【程序3】
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后
的结果满足如下条件,即是结果。

请看具体分析:
2.程序源代码:
#include ”math。

h”
main()
{
long int i,x,y,z;
for (i=1;i〈100000;i++)
{ x=sqrt(i+100);/*x为加上100后开方后的结果*/
y=sqrt(i+268);/*y为再加上168后开方后的结果*/
if(x*x==i+100&&y*y==i+268)/*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/
printf("\n%ld\n”,i);
}

==============================================================
【程序4】
题目:输入某年某月某日,判断这一天是这一年的第几天?
1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊
情况,闰年且输入月份大于3时需考虑多加一天。

2.程序源代码:
main()
{
int day,month,year,sum,leap;
p rintf(”\nplease input year,month,day\n");
scanf(”%d,%d,%d”,&year,&month,&day);
switch(month)/*先计算某月以前月份的总天数*/
{
case 1:sum=0;break;
case 2:sum=31;break;
case 3:sum=59;break;
case 4:sum=90;break;
case 5:sum=120;break;
case 6:sum=151;break;
case 7:sum=181;break;
case 8:sum=212;break;
case 9:sum=243;break;
case 10:sum=273;break;
case 11:sum=304;break;
case 12:sum=334;break;。

相关文档
最新文档