真题c语言

你好,C语言经典100题:

程序1

题目:有1,2,3,4个数字,没有重复的数字可以组成多少个不同的三位数?

它们多少钱?

1.程序分析:可以填写100,10,1的数字,都是1,2,3,4,全部排列成型后再去。

删除不符合条件的安排。

2.程序源代码:

主()

{

(同Internationalorganizations)国际组织

I,j,k;

printf(" \ n ");

for(I 1;我& lt5;i++)

/*以下是三重循环*/

for(j 1;j & lt5;j++)

(k 1;k & lt5;k++)

{

如果

(我!k & amp& amp我!强生公司。& ampj!k)

/*确保I,J,k J和K互不相同*/

printf("%d,%d,%d\n ",I,j,k);

}

}

程序2

题目:企业发放的奖金按利润扣除。利润(I)小于或等于65438+万元时,奖金可上调10%;高利润

654.38+万元时,不足20万元的,654.38+万元以下部分支付654.38+00%的佣金,654.38+万元以上部分可提。

7.5%;20-40万元之间,20万元以上部分可扣除5%;40万到60万之间高于

40万元的部分可以扣除3%;60万元至654.38+0万元之间,60万元以上部分可抵扣654.38+0.5%,高于。

1万元时,超过1万元的部分,奖励1%的佣金。从键盘输入当月的利润I,要求支付奖金总额。

1.程序分析:请用数轴分割定位。注意,定义时奖金要定义为增长整数。

2.程序源代码:

主()

{

长的

(同Internationalorganizations)国际组织

我;

(同Internationalorganizations)国际组织

bonus1,bonus2,bonus4,bonus6,bonus10,奖金;

scanf("%ld ",& ampI);

bonus 1100000 * 0.1;bonus 2 bonus 1+100000 * 0.75;

bonus 4 bonus 2+200000 * 0.5;

bonus 6 bonus 4+200000 * 0.3;

bonus 10 bonus 6+400000 * 0.15;

如果(我& lt100000)

博努西* 0.1;

其他

如果(我& lt200000)

bonus bonus 1+(I-100000)* 0.075;

其他

如果(我& lt400000)

bonus bonus 2+(I-200000)* 0.05;

其他

如果(我& lt600000)

bonus bonus 4+(I-400000)* 0.03;

其他

如果(我& lt1000000)

bonus bonus 6+(I-600000)* 0.015;

其他

bonus bonus 10+(I-1000000)* 0.01;

printf("奖金%d ",奖金);

}

程序3

题目:一个整数,加100后是一个完整的正方形,加168后也是一个完整的正方形。数字是多少?

1.方案分析:如果判断在65438+百万以内,开药前在这个数上加100,再开药前在这个数上加268。如果是规定的,

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

2.程序源代码:

#包括

" math.h "

主()

{

长的

(同Internationalorganizations)国际组织

I,x,y,z;

(I 1;I2)/*如果是闰年,月份大于2,总天数要加一天*/

sum++;

printf("it

%dth

日。“,求和);}

程序4

题目:输入某年的某一天,决定这一天是一年中的哪一天。

1.方案分析:以3月5日为例,先把前两个月加起来,再加5天,就是今年的这一天,比较特殊。

如果是闰年,输入月份大于3,应考虑多加一天。

2.程序源代码:

主()

{

(同Internationalorganizations)国际组织

日、月、年、和、闰;

printf(" \ n请

投入

年、月、日\ n ");

scanf("%d,%d,%d ",& amp年份& amp月份& amp天);

Switch(month)/*计算某个月之前一个月的总天数*/

{

情况

1:sum 0;打破;

情况

2:sum 31;打破;

情况

3:sum 59;打破;

情况

4:sum 90;打破;

情况

5:sum 120;打破;

情况

6:sum 151;打破;

情况

7:sum 181;打破;

情况

8:sum 212;打破;

情况

9:sum 243;打破;

情况

10:sum 273;打破;

情况

11:sum 304;打破;

情况

12:sum 334;打破;

默认值:printf("data

错误”);打破;

}

sumsum+日;

/*加上一天中的天数*/

if(year % 4000 | |(year % 40 & amp;& amp年份%100!0))/*判断是否是闰年*/

leap 1;

其他

leap0

if(leap 1 & amp;& amp月份& gt2)/*如果是闰年,月份大于2,总天数要加一天*/

sum++;

printf("It

%dth

日。“,求和);}

计划5

题目:输入三个整数x,Y,z Y,Z,请从小到大输出这三个数。

1.程序分析:我们尽量把最小的数放在X上,先比较X和Y。如果X >;交换x和y的值,

然后比较x和z,如果x >;Z交换X和Z的值,可以使X最小.

2.程序源代码:

主()

{

(同Internationalorganizations)国际组织

x,y,z,t;

scanf("%d%d%d ",& ampx & amp;y & amp;z);

如果

(x & gty)

{ txxy;yt;}

/*交换x,y的值*/

if(x & gt;z)

{ tzzx;XT;}/*交换x和z的值*/

如果(y & gtz)

{ tyyz;ZT;}/*交换z和y的值*/

printf("小

大:

%d

%d

%d\n ",x,y,z);

}

程序6

标题:用*输出字母C的图案。

1.程序分析:可以先用' * '在纸上写字母C,然后逐行输出。

2.程序源代码:

#包括

" stdio.h "

主()

{

printf("你好

c-world!\ n ");

printf("

* * * * \ n ");

printf("

* \ n ");

printf("

*

\ n ");

printf("

* * * * \ n ");

}

程序7

题目:输出特殊图案,请在C环境下运行看看,非常。

漂亮!

1.程序分析:有256个字符* * *。不同的角色有不同的图形。

2.程序源代码:

#包括

" stdio.h "

主()

{

a176,b 219;

printf("%c%c%c%c%c\n ",b,a,a,a,b);

printf("%c%c%c%c%c\n ",a,b,a,b,a);

printf("%c%c%c%c%c\n ",a,a,b,a,a);

printf("%c%c%c%c%c\n ",a,b,a,b,a);

printf("%c%c%c%c%c\n ",b,a,a,a,b);}

程序8

标题:输出9*9公式。

1.程序分析:分支列考虑,***9行9列,I控制行,J控制列。

2.程序源代码:

#包括

" stdio.h "

主()

{

(同Internationalorganizations)国际组织

I,j,结果;

printf(" \ n ");

(I 1;我& lt10;i++)

{

for(j 1;j & lt10;j++)

{

resulti * j;

printf("%d*%d%-3d ",I,j,result);/*-3d表示左对齐,占3位数*/

}

printf(" \ n ");/*每行后换行*/

}

}

程序9

标题:需要导出棋盘。

1.程序分析:用I控制行,用J控制列,根据I+J之和的变化控制输出黑方块还是白方块.

2.程序源代码:

#包括

" stdio.h "

主()

{

(同Internationalorganizations)国际组织

I,j;

for(i0;我& lt8;i++)

{

for(j0;j & lt8;j++)

如果((i+j)%20)

printf("%c%c ",219,219);

其他

printf("

");

printf(" \ n ");

}

}

程序10

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

1.程序分析:I控制行,J控制列,J根据I的变化控制输出黑色方块的个数.

2.程序源代码:

#包括

" stdio.h "

主()

{

(同Internationalorganizations)国际组织

I,j;

printf(" \ 1 \ 1 \ n ");/*输出两张笑脸*/

for(I 1;我& lt11;i++)

{

for(j 1;j & lt我;j++)

printf("%c%c ",219,219);

printf(" \ n ");

}

}

程序11

题目:经典问题:有一对兔子。他们从出生后的第三个月开始,每个月生一对兔子,兔子长到第三个月。

之后,每个月都有一对兔子出生。兔子不死,就问每个月兔子总数是多少。

1.程序分析:

兔子的规律是1,1,2,3,5,8,13,21的顺序。....

2.程序源代码:

主()

{

长的

f1,F2;

(同Internationalorganizations)国际组织

我;

f 1f 21;

for(I 1;我& lt20;i++)

{

printf("%12ld

%12ld ",f1,F2);

如果(我%20)

printf(" \ n ");/*控制输出,每行四个*/

f 1f 1+F2;

/*将前两个月相加,分配给第三个月*/

f2f 1+F2;

/*将前两个月相加,分配给第三个月*/

}

}

程序12

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

1.程序分析:判断素数的方法:用一个数除2到sqrt(这个数),如果能整除,

意味着这个数不是质数,而是质数。

2.程序源代码:

#包括

" math.h "

主()

{

(同Internationalorganizations)国际组织

m,I,k,h0,leap 1;

printf(" \ n ");

for(m 101;m & lt200;m++)

{

ksqrt(m+1);

对于(I2;我& ltk;i++)

如果(m%i0)

{ leap0打破;}

如果(跳跃)

{printf("%-4d ",m);h++;

如果(h%100)

printf(" \ n ");

}

leap 1;

}

printf(" \ n

总数

%d”,h);

}