C语言10个经典小程序——小白必备!

网上有很多的人说编程有多么多么无聊。。。。So Boring ! 。。。其实小编想说:不要管别人怎么说,别人说什么,做你自己喜欢做的事就好。坚持下来,你会发现编程的乐趣的。。。。当然,如果你觉得学习编程语言很痛苦,坚持了一段时间后无果,南无果断放弃未必不是一个好的选择。。。。哈哈哈哈。。。

英国作家和评论家约翰逊说过:

Great works are performed not by strength , but by perseverance.

完成伟大的事业不在于体力,而在于坚韧不拔的毅力。 ——Samuel Johnson

【程序1】

题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去

掉不满足条件的排列。

2.程序源代码:

#include

void main()

{

int i,j,k;

printf(" ");

for(i=1;i

for(j=1;j

for (k=1;k

{

if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/

printf("%d,%d,%d ",i,j,k);

}

}

【程序2】

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

1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊

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

2.程序源代码:

#include

void main()

{

int day,month,year,sum,leap;

printf(" please input year,month,day ");

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;

defaultrintf("data error");break;

}

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("It is the %dth day.",sum); }

【程序3】

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

1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,

然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。

2.程序源代码:

#include

void main()

{

int x,y,z,t;

scanf("%d%d%d",&x,&y,&z);

/*交换x,y的值*/

/*交换x,z的值*/

/*交换z,y的值*/

printf("small to big: %d %d %d ",x,y,z);

}

【程序4】

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

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

2.程序源代码:

#include

void main()

{

printf("Hello C-world! ");

printf(" **** ");

printf(" * ");

printf(" * ");

printf(" **** ");

}

【程序5】

题目:输出特殊图案,请在c环境中运行,看一看,Very Beautiful!

1.程序分析:字符共有256个。不同字符,图形不一样。

2.程序源代码:

#include

void main()

{

char a=176,b=219;

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

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

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

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

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

【程序6】

题目:输出9*9口诀。

1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。

2.程序源代码:

#include

void main()

{

int i,j,result;

printf(" ");

for (i=1;i

{ for(j=1;j

{

result=i*j;

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

}

printf(" "); /*每一行后换行*/

}

}

【程序7】

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

1.程序分析:用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格。

2.程序源代码:

#include

void main()

{

int i,j;

for(i=0;i

{

for(j=0;j

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

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

else

printf(" ");

printf(" ");

}

}

【程序8】

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

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

2.程序源代码:

#include

void main()

{

int i,j;

printf(" ");/*输出两个笑脸*/

for(i=1;i

{

for(j=1;j

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

printf(" ");

}

}

9.求两个数的最小公倍数。

最小公倍数和最大公约数之间的关系为两数的乘积除以两数的最大公约数的值即为两个数的最小公倍数

#include

int main()

{

int a, b, c,d;

int t;

printf("请输入两个整数:");

scanf("%d%d", &a, &b);

d = a*b;

if (a > b&&a%b == 0)

{

printf("最小公倍数为:%d ", a);

}

else if (a

{

t = a;

a = b;

b = t;

}

c = a%b;

while (c != 0)

{

a = b;

b = c;

c = a%b;

}

printf("最小公倍数为:%d ",d/b );

return 0;

}

10.斐波那契数列

Fibonacci 数列的特点是第1、2个数为1、1;从第三个数开始,该数是前两个数之和,求这个数列的前30个元素

#include

int main()

{

int i;

int long F[31];

F[1] = 1; //第一个和第二个数为1

F[2] = 1;

for (i = 3; i

{

F[i] = F[i - 1] + F[i - 2]; //从第三项开始,每项为前三项之和

}

for (i = 1; i

{

printf("%-15d", F[i]);

if (i % 5 == 0) //控制每行输出5个值

{

printf(" ");

}

}

return 0;

}

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20180923A0ZNFX00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券