首页 > 实用文档 > 讲话 >

经典小语言

编辑:  成考报名   发布时间:06-06    阅读:

c语言编程经典小题
经典小语言(一)

1、题目:输出9*9口诀。

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

2.程序源代码:

[code=c]

#include "stdio.h"

main()

{

int i,j,result;

printf("\n");

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

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

{

result=i*j;

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

}

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

}

}

[/code]

2、输入三个整数,输出最大数和最小数。

void main(){

int a,b,c,max,min;

printf("input three numbers: ");

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

if(a>b)

{max=a;min=b;}

else

{max=b;min=a;}

if(max<c)

max=c;

else

if(min>c)

min=c;

printf("max=%d\nmin=%d",max,min);

}

3、判断1-100之间有多少个素数,并输出所有素数。

1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。

2.程序源代码:

#include "math.h"

main()

{

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

printf("\n");

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("%-4d",m);h++;

if(h%10==0)

printf("\n");

}

leap=1;

}

printf("\nThe total is %d",h);

}

4、要求输出国际象棋棋盘。

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

2.程序源代码:

[code=c]

#include "stdio.h"

main()

{

int i,j;

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

{

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

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

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

else

printf(" ");

printf("\n");

}

}

[/code]

51单片机c语言经典小程序
经典小语言(二)

Lesson3.1

#include<reg52.h> //调用头文件 sbit dula=P2^6; //段定义端口 sbit wela=P2^7; //位定义端口

void main() {

wela=1; //打开位端口

P0=0xc0; //赋值,决定显示位 wela=0; //关闭为端口

dula=1; //打开断断口

P0=0x06; //赋值,决定显示数值 dula=0; //关闭断断口

while(1); //进入死循环,防止出现乱码 }

Lesson3.2

#include<reg52.h>

#define uint unsigned int

#define uchar unsigned char //宏定义

sbit dula=P2^6; //段定义端口 sbit wela=P2^7; //位定义端口 uchar num; //定义全局变量 uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71}; //数值代码 void delay(uint z); //延时函数声明 void main() {

wela=1;//11101010 //打开为端口

P0=0xea; wela=0; while(1) {

for(num=0;num<16;num++) {

dula=1; P0=table[num]; dula=0; delay(1000);

} } }

void delay(uint z) {

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--); }

Lesson3.3

#include<reg52.h>

#define uint unsigned int

#define uchar unsigned char sbit dula=P2^6; sbit wela=P2^7; sbit d1=P1^0; uchar num;

uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71}; void delay(uint z);

//赋值,决定显示位 //关闭为端口 //进入死循环

//打开位端口 //显示数值 //关闭为端口 //延时

//掩饰函数体

//宏定义 //

//LED控制端口 //全局变量

//数值段代码 //延时函数声明

void main() {

EA=1; EX0=1; //IT0=1;

TCON=0x01;

wela=1;//11101010 P0=0xea; wela=0; while(1) {

for(num=0;num<16;num++) {

d1=1; dula=1; P0=table[num]; dula=0; delay(1000); } } }

void delay(uint z) {

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--); }

void exter0() interrupt 0 {

d1=0;

}

//开总中断 //开外部中断0 // //打开计数器,开始加数直到加满,执行中断

//LED关闭 //段控制打开

//显示数值代码赋值 //关闭段控制端 //延时

//延时函数

//中断函数

//执行中断,关闭LED

Lesson3.4

#include<reg52.h>

#define uint unsigned int

#define uchar unsigned char //宏定义 sbit dula=P2^6;

sbit wela=P2^7; sbit d1=P1^0; //LE灯控制端口 uchar num;

uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; void delay(uint z); void main() {

EA=1; //开总中断 EX0=1; //开外部中断0 //IT0=1;

TCON=0x01; //打开计数器,开始加数直至加满 wela=1;//11101010 P0=0xf0; wela=0; while(1) {

for(num=0;num<16;num++) {

d1=1; dula=1;

P0=table[num]; dula=0;

delay(500); } } }

void delay(uint z) //延时函数 {

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--); }

void exter0() interrupt 0 {

d1=0; }

Lesson4.1

#include<reg52.h> #include<intrins.h>

#define uint unsigned int #define uchar unsigned char uchar temp,aa,num; sbit dula=P2^6; sbit wela=P2^7; uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; void delay(uint z); void main() {

num=0; aa=0;

TMOD=0x01;

TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; temp=0xfe; P1=temp; dula=1;

//中断函数

c语言10个经典小程序
经典小语言(三)

【程序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;

printf("\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;

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); }

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

【程序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("%d%d%d",&x,&y,&z);

if (x>y)

/*交换x,y的值*/

if(x>z)

/*交换x,z的值*/

if(y>z)

/*交换z,y的值*/

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

}

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

【程序6】

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

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

2.程序源代码:

#include "stdio.h"

main()

{

printf("Hello C-world!\n");

printf(" ****\n");

printf(" *\n");

printf(" * \n");

printf(" ****\n");

}

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

【程序7】

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

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

2.程序源代码:

#include "stdio.h"

main()

{

char a=176,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.程序源代码:

#include "stdio.h"

main()

{

int i,j,result;

printf("\n");

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

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

{

result=i*j;

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

}

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

}

}

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

【程序9】

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

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

2.程序源代码:

#include "stdio.h"

main()

{

int i,j;

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

{

for(j=0;j<8;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("\n");/*输出两个笑脸*/

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

{

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

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

printf("\n");

}

}

经典情感话语
经典小语言(四)

1、人生就八个字,喜怒哀乐忧愁烦恼,八个字里头喜和乐只占两个,看透就好了。

2、咖啡苦与甜不在于怎么搅拌,而在于是否放糖;一段伤痛不在于怎么忘记,而是在于是否有勇气重新开始。

3、不经巨大的困难,不会有伟大的事业。

4、我们把心给了别人,就收不回来了;别人又给了别人,爱便流通于世。经典情感话语

5、走的最急的是最美的风景,伤的最痛的是最真的感情。

6、我这命老和他们算的不一样,不知道是他们没算对,还是我活错了。

7、没有人富有得可以不要别人的帮助,也没有人穷得不能在某方面给他人帮助。

8、通往成功的路,总是在施工中。

9、希望和失望都折磨人,但希望折磨人的时间更长。

10、人生没有如果,11、每一个生命都是美丽的,再小的花也不会拒绝。经典情感话语

12、少年的时光就是晃,用大把时间彷徨,只用几个瞬间来成长。

13、不敢说真话是个人的耻辱,不能说真话是时代的耻辱。

14、有的家庭,几根面条就能撑起热腾腾的日子;有的家庭,一堆金币反而把日子折腾得七颠八倒。

15、蓝天下便是阳光;艰苦后便是甘甜;失败了就当经验;成功时便是灿烂 。

16、过去的一页不要再翻,翻落了灰尘会迷了双眼。

17、生活在希望中的人,没有音乐照样跳舞。

18、在最悲伤的时候不能失去信念,在最幸福的时候不能忘记挫折。

19、小时候,幸福是很简单的事;长大了,简单是很幸福的事!

20、所谓永恒的爱,是从花开一直到花落,从红颜一直爱到白发。

21、在争辩的时候,最难驳倒的观点就是沉默。

22、不要活在别人的嘴里,不要活在别人的眼里,()而是把命运握在自己手里。

23、要成功就不能有借口,有借口就不会成功。

24、成功的人不是赢在起点,而是赢在转折点。

25、生活的美来源于你对生活的热爱,友情的纯真来源于你对朋友真诚的相待。

26、如果你不总在想自己是否幸福的时候,你就幸福了。

27、人们常常慨叹生活中缺少美,那是因为他们缺少一双发现美的眼睛。

28、智者把放下当前进,愚者把放下当绝望,你能放下多少,幸福就有多少。

29、逆风的方向更适合飞翔,不怕万人阻挡,只怕自己投降。

30、不敢生气的是懦夫,不去生气的是智者。

●【往下看,下一篇更精彩】●

下一篇: 企业激励话语

最新成考报名

  • 组织生活会和民主评议党员主持词范文...
  • 2023年度组织生活会主持词三篇
  • 纪检组长在警示教育大会上的讲话3篇
  • 在保密工作会议上的讲话(通用12篇)
  • 让勤俭之花在心中绽放国旗下讲话【6篇】
  • 在全市防范金融风险工作会议上的讲话...
  • 2023年组织生活会领导点评讲话七篇
  • 在保密工作会议上的讲话【8篇】