关键词不能为空

当前您在: 主页 > 高中公式大全 >

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

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-01-24 15:47
tags:

谢谢你的爱歌词-李白黄鹤楼打油诗

2021年1月24日发(作者:穆懿夫)
经典
C
语言程序设计
100


1.
数字排列


37.

10
个数进行排序


2.
奖金分配问题

38.

3*3
矩阵对角线 元素之和
3.
已知条件求解整数




4.
输入日期判断第几天

39.
数字插入数组重新排序
4 0.

5.
输入整数进行排序


一个数组逆序输出

6.

*
号显示字母
C
的图案


定义静态变量用法
42.
7.
显示特殊图案

使 用
auto
定义变量用法
43.
使用
8.
打印九九口诀
static
的另一用法

9.
输出国际象棋棋盘


44.
使用
external
的用法

10.< br>打印楼梯并按条件打印笑脸
45.
使用
register
定义变量方法

11.
经典兔子问题


46.

#define
命令练习
(1)
12.
判断素数

47.

#define
命令练习
(2)
13.
水仙花数问题


48.

#define
命令练习
(3)
14.
正整数分解质因数

49.#if
#ifdef

#ifndef
的综合应
15.
学习成绩划分





16.
正整数求其最大公约数和最
50.#include
的应用练习

小公倍数

51.
学习使用按位与

&

17.
统计英文字母
/
空格
/
数字个

52.
学习使用按位或

|



53.
学习使用按位异或

^
18.

s=a+ aa+aaa+aa...a
的值
54.











19.
求解
完数


4

7
位。


20.
球体自由落下物理问题

55.
学习使用按位取反
~

21.
猴子吃桃问题


56.

circle
画圆形

22.
乒乓球比赛抽签问题

57.
学用
line
画直线


23.
打印菱形图案


58.

rectangle
画方形


24.
分数数列求和

59.
画图综合例子
1

25.

1+2!+3!+...+20!
的和
26.
60 .
画图综合例子
2
利用递归方法求
5!

61.
打印杨辉三角形


27.
将输入字符以相反顺序打 印
62.
学习
putpixel
画点

28.
岁数问题

63.
画椭圆
ellipse

29.
求解正整数位数


64.
利用
ellipse
and
rectangle

30.
判断回文数




31.
星期几猜测游戏


65.
画个最优美的图案

32.
改变文本颜色

66.
输入
3
个数字按大小顺序输
33.
学习
gotoxy ()

clrscr()
函数



34.
练习函数调用


67.
输入数组交换元素重新输出
35.
设置文本颜色


68.
多个整数后移位置问题

36.

100
之内的素数

69.
圆圈报数问题



-------------- -------------------------------------------------- ----------------



70.
计算一个字符串长度

71.
编写输入
/
输出函数


72.
创建链表

73.
反向输出链表


74.
连接两个链表


75.
算一道简单题目


76.
调用函数求
1/2+1/4+...+1/n
77.
填空练习
(
指向指针的指针
)
78.
找到年龄最大的人

79.
字符串排序


80.
海滩猴子分桃

81.
已知公式条件求数字

82.
八进制转换为十进制

83.

0-7
所能 组成的奇数个数
84.
由两个素数之和表示的偶数

85.
判断一个素数能被几个
9




86.
两个字符串连接程序

87.
结构体变量传递


88.
读取数字的整数值并打印出
该值个数的*

89.
数据加密


90.
专升本一题


91.
时间函数举例
1

92.
时间函数举例
2
93.
时间函数举例
3

94.
一个猜数游戏


95.
家庭财务管理小程序

96.
计算字符串中子串出现的次


97.
输入字符并保 存到磁盘
98.

符串转换成大写字母并输出保



99.
文件操作应用
1

100.
文件操作应用
2

c
语言经典
100
题【实用】


【程序
1


题目:有
1

2

3

4
个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?< br>
1.
程序分析:可填在百位、十位、个位的数字都是
1

2

3

4
。组成所有的排列后再去







掉不满足条件的排列。


2.
程序源代码:

main()
{
int i,j,k;
printf(
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(



}
}
================================== ============================
【程序
2


题目:企业发放的奖金根据利润提成。利润
(i)
低于或等于
10
万 元时,奖金可提
10%
;利润






10
万元,低于
20
万元时,低于
10
万元的部分按10%
提成,高于
10
万元的部分,
可可提





7.5%

20
万到
40
万之间时,高于
20
万元的部分,可提成
5%

40
万到< br>60
万之间
时高于




40
万 元的部分,
可提成
3%

60
万到
100
万之间时 ,
高于
60
万元的部分,
可提成
1.5%

高于< br>



100
万元时,超过
100
万元的 部分按
1%
提成,从键盘输入当月利润
i
,求应发放奖金
总数?
1.
程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。







2.
程序源代码:

main()
{
long int i;
int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;
sca nf(
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(
}


=================== ===========================================
【程序
3


题目:
一个整数,它加上
100后是一个完全平方数,
再加上
168
又是一个完全平方数,请问
该数是多 少?

1.
程序分析:在
10
万以内判断,先将该数加上
1 00
后再开方,再将该数加上
268
后再开方,
如果开方后







的结果满足如下条件,即是结果。请看具体分析:

2.
程序源代码:

#include
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(

}
}
================== ============================================
【程序
4


题目:输入某年某月某日,判断这一天是这一年的第几天?

1.
程序分析: 以
3

5
日为例,应该先把前两个月的加起来,然后再加上
5
天即本年的第几
天,特殊







情况,闰年且输入月份大于
3
时需考虑多加一天。

2.
程序源代码:

main()
{
int day,month,year,sum,leap;
printf(
scanf(
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;

default:printf(
}
sum=sum+day;

/*
再加上某天的天数
*/

if(year%400 ==0||(year%4==0&&year%100!=0))/*
判断是不是闰年
*/


leap=1;

else


leap=0;
if(leap==1&&month>2)/*
如果是闰年且月份 大于
2,
总天数应该加一天
*/
sum++;
printf(< br>=============================================== ===============
【程序
5


题目:输入三个整数
x,y,z
,请把这三个数由小到大输出。

1 .
程序分析:我们想办法把最小的数放到
x
上,先将
x

y
进行比较,如果
x>y
则将
x

y
的值进行交换,







然后再用
x
z
进行比较,
如果
x>z
则将
x

z
的值进行交换,
这样能使
x

小。

2.
程序源代码:

main()
{
int x,y,z,t;
scanf(
if (x>y)
{t=x;x=y;y=t;} /*
交换
x,y
的值
*/
if(x>z)
{t=z;z=x;x=t;}/*
交换
x,z
的值
*/
if(y>z)
{t=y;y=z;z=t;}/*
交换
z,y
的值
*/
printf(
}
============================= =================================
【程序
6


题目:用
*
号输出字母
c
的图案。

1.
程序分析:可先用
'*'
号在纸上写出字母
c
,再分行输出。

2.
程序源代码:

#include
main()
{
printf(
printf(
printf(
printf(
pr intf(
}
=================================== ===========================
【程序
7


题目:输出特殊图案,请在
c
环境中运行,看一看,
very beautiful!
1.
程序分析:字符共有
256
个。不同字符,图形不一样。







2.
程序源代码:

#include
main()
{
char a=176,b=219;
printf(
printf(
printf(
printf(
printf(
============================ ==================================
【程序
8


题目:输出
9*9
口诀。

1.
程序分析:分行与列考虑,共
9

9
列,
i< br>控制行,
j
控制列。

2.
程序源代码:

#include
main()
{

int i,j,result;

printf(

for (i=1;i<10;i++)


{ for(j=1;j<10;j++)




{





result=i*j;





printf(
表示左对齐,占
3

*/




}



printf(
每一行后换行
*/


}
}
============================================== ================
【程序
9


题目:要求输出国际象棋棋盘。

1.
程序分析:

i控制行,
j
来控制列,
根据
i+j
的和的变化来控制输出黑方格 ,
还是白方格。

2.
程序源代码:

#include
main()
{
int i,j;
for(i=0;i<8;i++)

{


for(j=0;j<8;j++)



if((i+j)%2==0)




printf(



else




printf(



printf(

}
}
================================== ============================

【程序
10


题目:打印楼梯,同时在楼梯上方打印两个笑脸。


1.
程序分析 :用
i
控制行,
j
来控制列,
j
根据
i
的 变化来控制输出黑方格的个数。

2.
程序源代码:

#include
main()
{
int i,j;
printf(
输出两个笑脸
*/
for(i=1;i<11;i++)

{

for(j=1;j<=i;j++)



printf(

printf(

}
}
【程序
11


题目:
古典问题:有一对兔子,
从 出生后第
3
个月起每个月都生一对兔子,
小兔子长到第三
个月




后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

1.
程序分析:

兔子的规律为数列
1,1,2,3,5,8,13,21....
2.
程序源代码:

main()
{
long f1,f2;
int i;
f1=f2=1;
for(i=1;i<=20;i++)

{ printf(



if(i%2==0) printf(
控制输出,每行四个
*/



f1=f1+f2; /*
前两个月加起来赋值给第三个月
*/



f2=f1+f2; /*
前两个月加起来赋值给第三个月
*/

}
}
================================== ============================
【程序
12


题目:判断
101-200
之间有多少个素数,并输出所有素数。

1.
程序分析:判断素数的方法:用一个数分别去除
2

sqrt(
这个数
)
,如果能被整除,







则表明此数不是素数,反之是素数。








2.
程序源代码:

#include
main()
{

int m,i,k,h=0,leap=1;

printf(

for(m=101;m<=200;m++)


{ k=sqrt(m+1);



for(i=2;i<=k;i++)





if(m%i==0)






{leap=0;break;}



if(leap) {printf(








if(h%10==0)








printf(








}



leap=1;


}

printf(
}
================== ============================================
【程序
13


题目:打印出所有的“水仙花数”
,所谓“ 水仙花数”是指一个三位数,其各位数字立方和
等于该数



< br>本身。例如:
153
是一个“水仙花数”
,因为
153=1
的 三次方+
5
的三次方+
3
的三次
方。

1.
程序分析:利用
for
循环控制
100-999
个数,每个数分解出个位, 十位,百位。

2.
程序源代码:

main()
{
int i,j,k,n;
printf(

for(n=100;n<1000;n++)

{


i=n/100;/*
分解出百位
*/


j=n/10%10;/*
分解出十位
*/


k=n%10;/*
分解出个位
*/


if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)



{



printf(



}

}
printf(
}
======= ================================================== =====
【程序
14


题目:将一个正整数分解质因数。例如 :输入
90,
打印出
90=2*3*3*5


程序分析: 对
n
进行分解质因数,应先找到一个最小的质数
k
,然后按下述步骤完成:< br>

(1)
如果这个质数恰等于
n
,则说明分解质因数的过程 已经结束,打印出即可。

(2)
如果
n<>k
,但
n能被
k
整除,则应打印出
k
的值,并用
n
除以
k
的商
,
作为新的正整数你
n,

重复执行第一步。

(3)
如果
n
不能被
k
整除,则用
k+1
作为
k
的值
,
重复执行第一步。

2.
程序源代码:

/* zheng int is divided yinshu*/
main()
{
int n,i;
printf(
scanf(
printf(
for(i=2;i<=n;i++)

{


while(n!=i)


{



if(n%i==0)



{ printf(




n=n/i;



}



else




break;


}
}
printf(< br>=============================================== ===============
【程序
15


题目:利用条件 运算符的嵌套来完成此题:
学习成绩
>=90
分的同学用
a
表示,< br>60-89
分之间
的用
b
表示,




60
分以下的用
c
表示。

1.
程序分析:
(a>b)?a:b
这是条件运算符的基本例子。

2.
程序源代码:

main()
{

int score;

char grade;

printf(

scanf(

grade=score>=90?'a':(score>=60?'b':'c');

printf(
}
============================= =================================
【程序
16


题目:输入两个正整数
m

n
,求其最大公约数和最小公倍数。

1.
程序分析:利用辗除法。

2.
程序源代码:

main()
{

int a,b,num1,num2,temp;

printf(

scanf(

if(num1

{ temp=num1;


num1=num2;




num2=temp;

}
a=num1;b=num2;
while(b!=0)/*
利用辗除法,直到
b

0
为止
*/

{


temp=a%b;


a=b;


b=temp;

}
printf(
printf(
}
================== ============================================
【程序
17


题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

1 .
程序分析:利用
while
语句
,
条件为输入的字符不为
'n'.







2.
程序源代码:

#include
main()
{char c;

int letters=0,space=0,digit=0,others=0;

printf(

while((c=getchar())!='n')

{

if(c>='a'&&c<='z'||c>='a'&&c<='z')


letters++;

else if(c==' ')


space++;



else if(c>='0'&&c<='9')







digit++;





else







others++;
}
printf(
space,digit,others);
}
==== ================================================== ========
【程序
18


题目:求
s=a+aa +aaa+aaaa+aa...a
的值,其中
a
是一个数字。例如
2+22 +222+2222+22222(






共有
5
个数相加
)
,几个数相加有键盘控制。

1.
程序分析:关键是计算出每一项的值。

2.
程序源代码:

main()
{

int a,n,count=1;

long int sn=0,tn=0;

printf(

scanf(

printf(

while(count<=n)

{


tn=tn+a;


sn=sn+tn;


a=a*10;


++count;

}
printf(
}
============================= =================================
【程序
19


题目:一个数如果恰好等于它的因子之和,这个数就 称为“完数”
。例如
6=1

2

3.
编程




找出
1000
以内的所有完数。

1.
程序分析:请参照程序
<--
上页程序
14.

2.
程序源代码:

main()
{
static int k[10];
int i,j,n,s;
for(j=2;j<1000;j++)

{

n=-1;

s=j;


for(i=1;i


{



if((j%i)==0)



{

n++;




s=s-i;




k[n]=i;



}


}

if(s==0)

{

printf(

for(i=0;i

printf(

printf(

}
}
}
============================================== ================

【程序
20


题 目:一球从
100
米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在





10
次落地时,共经过多少米?第
10
次反弹多高?

1.
程序分析:见下面注释

2.
程序源代码:

main()
{
float sn=100.0,hn=sn/2;
int n;
for(n=2;n<=10;n++)

{


sn=sn+2*hn;/*

n
次落地时共经过的米数
*/


hn=hn/2; /*

n
次反跳高度
*/

}
printf(
printf(
}
题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个




第二天早上又将剩下的桃子吃掉一半,
又多吃了一个。
以后每天早上都吃了前一天剩





的一半零一个。 到第
10
天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多
少。

1.
程序分析:采取逆向思维的方法,从后往前推断。

2.
程序源代码:

main()
{
int day,x1,x2;
day=9;
x2=1;
while(day>0)

{x1=(x2+1)*2;/*
第一天的桃子数是第
2
天桃子数 加
1
后的
2

*/

x2=x1;

day--;

}
printf(
}
======= ================================================== =====
【程序
22


题目:两个乒乓球队进行比赛,各出三 人。甲队为
a,b,c
三人,乙队为
x,y,z
三人。已抽签决
定< br>



比赛名单。有人向队员打听比赛的名单。
a
说他不和
x
比,
c
说他不和
x,z
比,请编
程序找 出




三队赛手的名单。


1.< br>程序分析:判断素数的方法:用一个数分别去除
2

sqrt(
这个数
)
,如果能被整除,







则表明此数不是素数,反之是素数。








2.
程序源代码:

main()
{
char i,j,k;/*i

a
的对手,
j

b
的对手,
k

c
的对手
*/
for(i='x';i<='z';i++)

for(j='x';j<='z';j++)

{

if(i!=j)


for(k='x';k<='z';k++)


{ if(i!=k&&j!=k)



{ if(i!='x'&&k!='x'&&k!='z')



printf(



}


}

}
}
============================= =================================
【程序
23



题目:打印出如下图案(菱形)

*
***
******
********
******
***
*
1.
程序分析:先把图形分成两部分来看待,前四行一个规律, 后三行一个规律,利用双重







for
循环,第一层控制行,第二层控制列。


2.
程序源代码:

main()
{
int i,j,k;
for(i=0;i<=3;i++)

{

for(j=0;j<=2-i;j++)


printf(

for(k=0;k<=2*i;k++)


printf(

printf(

}
for(i=0;i<=2;i++)

{

for(j=0;j<=i;j++)


printf(

for(k=0;k<=4-2*i;k++)


printf(

printf(

}
} < br>=============================================== ===============
【程序
24



题目 :有一分数序列:
2/1

3/2

5/3

8/ 5

13/8

21/13...
求出这个数列的前
20< br>项之和。

1.
程序分析:请抓住分子与分母的变化规律。


2.
程序源代码:

main()
{
int n,t,number=20;
float a=2,b=1,s=0;
for(n=1;n<=number;n++)

{

s=s+a/b;

t=a;a=a+b;b=t;/*
这部分是程序的关 键,请读者猜猜
t
的作用
*/

}
printf(
}
============================= =================================
【程序
25



题目:求
1+2!+3!+...+20!
的和

1.
程序分析:此程序只是把累加变成了累乘。


2.
程序源代码:

main()
{
float n,s=0,t=1;
for(n=1;n<=20;n++)

{

t*=n;

s+=t;

}
printf(
}
============================= =================================
【程序
26



题目:利用递归方法求
5!


1.
程序分析:递归公式:
fn=fn_1*4!
2.
程序源代码:

#include
main()
{
int i;
int fact();
for(i=0;i<5;i++)

printf(
}
int fact(j)
int j;
{
int sum;
if(j==0)

sum=1;
else

sum=j*fact(j-1);
return sum;
}
======================================== ======================
【程序
27



题目:利用递归函数调用方式,将所输入的
5
个字符,以相反顺序打印出来。

1.
程序分析:

2.
程序源代码:

#include
main()
{
int i=5;
void palin(int n);
printf(
palin(i);
printf(
}
void palin(n)
int n;
{
char next;
if(n<=1)

{

next=getchar();

printf(

putchar(next);

}
else

{

next=getchar();

palin(n-1);

putchar(next);

}
}
========== ================================================== ==
【程序
28



题目:有
5
个人 坐在一起,问第五个人多少岁?他说比第
4
个人大
2
岁。问第
4个人岁数,
他说比第




3
个人大
2
岁。问第三个人,又说比第
2
人大两岁。问第
2
个人,说比第一 个人大两
岁。最后





问第一个人,他说是
10
岁。请问第五个人多大?

1.
程 序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需
知道







第四人的岁数,依次类推,推到第一人(
10
岁)
,再往回推。

2.
程序源代码:

age(n)
int n;
{
int c;
if(n==1) c=10;
else c=age(n-1)+2;
return(c);
}
main()
{ printf(
}
=========================== ===================================
【程序
29



题目:给一个不多于
5
位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

1.
程序分析 :学会分解出每一位数,如下解释:
(
这里是一种简单的算法,师专数
002
班赵
鑫提供
)

2.
程序源代码:

main( )
{
long a,b,c,d,e,x;
scanf(
a=x/10000;/*
分解出万位
*/
b=x%10000/1000;/*
分解出千位
*/
c=x%1000/100;/*
分解出百位
*/
d=x%100/10;/*
分解出十位
*/
e=x%10;/*
分解出个位
*/
if (a!=0) printf(
else if (b!=0) printf(


else if (c!=0) printf(




else if (d!=0) printf(






else if (e!=0) printf(
}
========= ================================================== ===
【程序
30



题目:一个
5
位数,判断它是不是回文数。即
12321
是回文数,个位与万位相同,十位与千
位相 同。




1.
程序分析:同
29


2.
程序源代码:

main( )
{
long ge,shi,qian,wan,x;
scanf(
wan=x/10000;
qian=x%10000/1000;
shi=x%100/10;
ge=x%10;
if (ge==wan&&shi==qian)/*
个位等于万位并且十位等于千位
*/

printf(
else

printf(
}
【程序
31


题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续




判断第二个字母。

1.
程序分析:用情况 语句比较好,如果第一个字母一样,则判断用情况语句或
if
语句判断第
二个字母。< br>
2.
程序源代码:

#include

void main()
{
char letter;
printf(
while ((letter=getch())!='y')/*
当所按字母为
y
时才结束
*/
{ switch (letter)
{case 's':printf(





if((letter=getch())=='a')






printf(





else if ((letter=getch())=='u')









printf(







else printf(





break;
case 'f':printf(
case 'm':printf(
case 't':printf(





if((letter=getch())=='u')






printf(





else if ((letter=getch())=='h')









printf(







else printf(





break;
case 'w':printf(
default: printf(


}

}
}
============================= =================================
【程序
32


题目:
press any key to change color, do you want to try it. please hurry up!
1.
程序分析:













2.
程序源代码:

#include

void main(void)
{
int color;
for (color = 0; color < 8; color++)

{


textbackground(color);/*
设置文本的背景颜色
*/

cprintf(

cprintf(

getch();/*
输入字符看不见
*/

}
} < br>=============================================== ===============
【程序
33


题目:学习
gotoxy()

clrscr()
函数




1.
程序分析:

2.
程序源代码:

#include

void main(void)
{
clrscr();/*
清屏函数
*/
textbackground(2);
gotoxy(1, 5);/*
定位函数
*/
cprintf(
textbackground(3);
gotoxy(20, 10);
cprintf(
}
======================= =======================================
【程序
34


题目:练习函数调用

1.
程序分析:


2.
程序源代码:

#include

void hello_world(void)
{
printf(
}
void three_hellos(void)
{
int counter;
for (counter = 1; counter <= 3; counter++)
hello_world();/*
调用此函数
*/
}
void main(void)
{
three_hellos();/*
调用此函数
*/
}
=== ================================================== =========
【程序
35


题目:文本颜色设置

1.
程序分析:

2.
程序源代码:

#include

void main(void)
{
int color;
for (color = 1; color < 16; color++)

{

textcolor(color);/*
设置文本颜色
*/

cprintf(

}
textcolor(128 + 15);
cprintf(
}
============================ ==================================
【程序
36


题目:求
100
之内的素数




1.
程序分析:

2.
程序源代码:

#include

#include
#define n 101
main()
{
int i,j,line,a[n];
for(i=2;ifor(i=2;i

for(j=i+1;j

{


if(a[i]!=0&&a[j]!=0)


if(a[j]%a[i]==0)


a[j]=0;}
printf(
for(i=2,line=0;i{

if(a[i]!=0)

{printf(

line++;}

if(line==10)

{printf(
line=0;}
}
}
========= ================================================== ===
【程序
37


题目:对
10
个数进行排序

1.
程序分析:
可以 利用选择法,
即从后
9
个比较过程中,
选择一个最小的与第一个元素交换,< br>






下次类推,即用第二个元素与后
8
个进行比较,并进行交换。









2.
程序源代码:

#define n 10
main()
{int i,j,min,tem,a[n];
/*input data*/
printf(
for(i=0;i{
printf(
scanf(
printf(
for(i=0;iprintf(
printf(
/*sort ten num*/
for(i=0;i{min=i;
for(j=i+1;jif(a[min]>a[j]) min=j;
tem=a[i];
a[i]=a[min];
a[min]=tem;
}
/*output data*/
printf(
for(i=0;iprintf(
}
========= ================================================== ===
【程序
38


题目:求一个
3*3
矩阵对角线元素之和


1.
程序分析:利用双重
for
循环控制输入二维数组,再将
a[i][i]
累加 后输出。

2.
程序源代码:

main()
{
float a[3][3],sum=0;
int i,j;
printf(
for(i=0;i<3;i++)

for(j=0;j<3;j++)

scanf(
for(i=0;i<3;i++)

sum=sum+a[i][i];
printf(
}
======== ================================================== ====
【程序
39


题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

1.
程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入< br>后






此元素之后的数,依次后移一个位置。


2.
程序源代码:

main()
{
int a[11]={1,4,6,9,13,16,19,28,40,100};
int temp1,temp2,number,end,i,j;
printf(
for(i=0;i<10;i++)

printf(< br>printf(
printf(
scanf(
end=a[9];
if(number>end)

a[10]=number;
else

{for(i=0;i<10;i++)


{ if(a[i]>number)



{temp1=a[i];




a[i]=number;



for(j=i+1;j<11;j++)



{temp2=a[j];




a[j]=temp1;




temp1=temp2;



}



break;



}


}
}
for(i=0;i<11;i++)

printf(
}
============================= =================================
【程序
40


题目:将一个数组逆序输出。

1.
程序分析:用第一个与最后一个交换。

2.
程序源代码:

#define n 5
main()
{ int a[n]={9,6,5,4,1},i,temp;

printf(

for(i=0;i

printf(

for(i=0;i

{temp=a[i];


a[i]=a[n-i-1];


a[n-i-1]=temp;

}
printf(
for(i=0;i

printf(
}
程序
41


题目:学习
static
定义静态变量的用法




1.
程序分析:

2.
程序源代码:

#include
varfunc()
{
int var=0;
static int static_var=0;
printf(
printf(
printf(
var++;
static_var++;
}
void main()
{int i;

for(i=0;i<3;i++)


varfunc();
}
========================= =====================================
【程序
42



题目:学习使用
auto
定义变量的用法

1.
程序分析:







2.
程序源代码:

#include
main()
{int i,num;
num=2;

for (i=0;i<3;i++)

{ printf(


num++;


{


auto int num=1;


printf(


num++;


}

}
}
============= =================================================
【程序
43


题目:学习使用
static
的另一用法。




1.
程序分析:

2.
程序源代码:

#include
main()
{
int i,num;
num=2;
for(i=0;i<3;i++)
{
printf(
num++;
{
static int num=1;
printf(
num++;
}
}
}
====== ================================================== ======
【程序
44


题目:学习使用
external
的用法。

1.
程序分析:

2.
程序源代码:

#include
int a,b,c;
void add()
{ int a;
a=3;
c=a+b;
}
void main()
{ a=b=4;
add();
printf(
}
===== ================================================== =======
【程序
45


题目:学习使用
register
定义变量的方法。

1.
程序分析:

2.
程序源代码:

void main()
{
register int i;
int tmp=0;
for(i=1;i<=100;i++)
tmp+=i;
printf(
}
============================= =================================
【程序
46


题目:宏
#define
命令练习
(1)




1.
程序分析:

2.
程序源代码:

#include
#define true 1
#define false 0
#define sq(x) (x)*(x)
void main()
{
int num;
int again=1;
printf(
while(again)
{
printf(
scanf(
printf(
if(num>=50)

again=true;
else

again=false;
}
}
================= =============================================
【程序
47


题目:宏
#define
命令练习
(2)
1.
程序分析:













2.
程序源代码:

#include
#define exchange(a,b) { /*
宏定义中允许包含两道衣裳命令的情形,此时必须在最右边加上













int t;












t=a;












a=b;












b=t;











}
void main(void)
{
int x=10;
int y=20;
printf(
exchange(x,y);
printf(
}
================================================= =============

【程序
48


题目:宏
#define
命令练习
(3)




1.
程序分析:

2.
程序源代码:

#define lag >
#define sma <
#define eq ==
#include
void main()
{ int i=10;
int j=20;
if(i lag j)
printf(
else if(i eq j)
printf(
else if(i sma j)
printf(
else
printf(
}
========= ================================================== ===
【程序
49


题目:
#if #ifdef

#ifndef
的综合应用。

1.
程序分析:


2.
程序源代码:

#include
#define max
#define maximum(x,y) (x>y)?x:y
#define minimum(x,y) (x>y)?y:x
void main()
{ int a=10,b=20;
#ifdef max
printf(
#else
printf(
#endif
#ifndef min
printf(
#else
printf(
#endif
#undef max
#ifdef max
printf(
#else
printf(
#endif
#define min
#ifndef min
printf(
#else
printf(
#endif
}
======================================== ======================
【程序
50


题目:
#include
的应用练习




1.
程序分析:

2.
程序源代码:

test.h
文件如下:

#define lag >
#define sma <
#define eq ==
#include
一个新文件
50.c
,包含
test.h*/
#include
void main()
{ int i=10;
int j=20;
if(i lag j)
printf(
else if(i eq j)
printf(
else if(i sma j)
printf(
else
printf(
}
程序
51


题目:学习使用按位与

&





1.
程序分析:
0&0=0; 0&1=0; 1&0=0; 1&1=1
2.
程序源代码:

#include
main()
{
int a,b;
a=077;
b=a&3;
printf(
b&=7;
printf(
}
============================= =================================
【程序
52


题目:学习使用按位或

|


1.
程序分析:
0|0=0; 0|1=1; 1|0=1; 1|1=1













2.
程序源代码:

#include
main()
{
int a,b;
a=077;
b=a|3;
printf(
b|=7;
printf(
}
============================= =================================
【程序
53


题目:学习使用按位异或

^





1.
程序分析:
0^0=0; 0^1=1; 1^0=1; 1^1=0
2.
程序源代码:

#include
main()
{
int a,b;
a=077;
b=a^3;
printf(
b^=7;
printf(
}
============================= =================================
【程序
54


题目:取一个整数
a
从右端开始的
4

7
位。

程序分析:可以这样考虑:


(1)
先使
a
右移
4
位。

( 2)
设置一个低
4
位全为
1,
其余全为
0
的数。可 用
~(~0<<4)
(3)
将上面二者进行
&
运算。

2.
程序源代码:

main()
{
unsigned a,b,c,d;
scanf(
b=a>>4;
c=~(~0<<4);
d=b&c;
printf(
}
================== ============================================
【程序
55


题目:学习使用按位取反
~





1.
程序分析:
~0=1; ~1=0;
2.
程序源代码:

#include
main()
{
int a,b;
a=234;
b=~a;
printf(
a=~a;
printf(
}

=== ================================================== =========
【程序
56


题目:画图,学用
circle
画圆形。




1.
程序分析:

2.
程序源代码:

/*circle*/
#include
main()
{int driver,mode,i;
float j=1,k=1;
driver=vga;mode=vgahi;
initgraph(&driver,& mode,
setbkcolor(yellow);
for(i=0;i<=25;i++)
{
setcolor(8);
circle(310,250,k);
k=k+j;
j=j+0.3;
}
}

============================= =================================

【程序
57


题目:画图,学用
line
画直线。

1.
程序分析:












2.
程序源代码:

#include
main()
{int driver,mode,i;
float x0,y0,y1,x1;
float j=12,k;
driver=vga;mode=vgahi;
initgraph(&driver,&mode,
setbkcolor(green);
x0=263;y0=263;y1=275;x1=275;
for(i=0;i<=18;i++)
{
setcolor(5);
line(x0,y0,x0,y1);
x0=x0-5;
y0=y0-5;
x1=x1+5;
y1=y1+5;
j=j+10;
}
x0=263;y1=275;y0=263;
for(i=0;i<=20;i++)
{
setcolor(5);
line(x0,y0,x0,y1);
x0=x0+5;
y0=y0+5;
y1=y1-5;
}
}
============================================== ================
【程序
58


题目:画图,学用
rectangle
画方形。




1.
程序分析:利用
for
循环控制
100-999个数,每个数分解出个位,十位,百位。

2.
程序源代码:

#include
main()
{int x0,y0,y1,x1,driver,mode,i;
driver=vga;mode=vgahi;
initgraph(&driver,& mode,
setbkcolor(yellow);
x0=263;y0=263;y1=275;x1=275;
for(i=0;i<=18;i++)
{
setcolor(1);
rectangle(x0,y0,x1,y1);
x0=x0-5;
y0=y0-5;
x1=x1+5;
y1=y1+5;
}
settextstyle(default_font,horiz_dir,2);
outtextxy(150,40,
line(130,60,480,60);
setcolor(2);
circle(269,269,137);
} ================================================ ==============
【程序
59

谢谢你的爱歌词-李白黄鹤楼打油诗


谢谢你的爱歌词-李白黄鹤楼打油诗


谢谢你的爱歌词-李白黄鹤楼打油诗


谢谢你的爱歌词-李白黄鹤楼打油诗


谢谢你的爱歌词-李白黄鹤楼打油诗


谢谢你的爱歌词-李白黄鹤楼打油诗


谢谢你的爱歌词-李白黄鹤楼打油诗


谢谢你的爱歌词-李白黄鹤楼打油诗



本文更新与2021-01-24 15:47,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/561279.html

C语言程序设计100个简单的经典例子的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文