囊括C语言必背经典程序.docx

上传人:b****2 文档编号:23123237 上传时间:2023-05-08 格式:DOCX 页数:210 大小:70.51KB
下载 相关 举报
囊括C语言必背经典程序.docx_第1页
第1页 / 共210页
囊括C语言必背经典程序.docx_第2页
第2页 / 共210页
囊括C语言必背经典程序.docx_第3页
第3页 / 共210页
囊括C语言必背经典程序.docx_第4页
第4页 / 共210页
囊括C语言必背经典程序.docx_第5页
第5页 / 共210页
点击查看更多>>
下载资源
资源描述

囊括C语言必背经典程序.docx

《囊括C语言必背经典程序.docx》由会员分享,可在线阅读,更多相关《囊括C语言必背经典程序.docx(210页珍藏版)》请在冰豆网上搜索。

囊括C语言必背经典程序.docx

囊括C语言必背经典程序

C语言必背经典程序

【程序1】

题目:

809*?

?

=800*?

?

+9*?

?

+1其中?

?

代表的两位数,8*?

?

的结果为两位数,9*?

?

的结果为3位数。

求?

?

代表的两位数,及809*?

?

后的结果。

1.程序分析:

2.程序源代码:

output(longb,longi)

{printf("\n%ld/%ld=809*%ld+%ld",b,i,i,b%i);

}

main()

{longinta,b,i;

a=809;

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

{b=i*a+1;

if(b>=1000&&b<=10000&&8*i<100&&9*i>=100)

output(b,i);}}

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

【程序2】

题目:

八进制转换为十进制

1.程序分析:

           

2.程序源代码:

main()

{char*p,s[6];intn;

p=s;

gets(p);

n=0;

while(*(p)!

='\0')

{n=n*8+*p-'0';

p++;}

printf("%d",n);

}

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

【程序3】

题目:

求0—7所能组成的奇数个数。

1.程序分析:

2.程序源代码:

main()

{

longsum=4,s=4;

intj;

for(j=2;j<=8;j++)/*jisplaceofnumber*/

{printf("\n%ld",sum);

if(j<=2)

s*=7;

else

s*=8;

sum+=s;}

printf("\nsum=%ld",sum);

}

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

【程序4】

题目:

一个偶数总能表示为两个素数之和。

1.程序分析:

2.程序源代码:

#include"stdio.h"

#include"math.h"

main()

{inta,b,c,d;

scanf("%d",&a);

for(b=3;b<=a/2;b+=2)

{for(c=2;c<=sqrt(b);c++)

if(b%c==0)break;

if(c>sqrt(b))

d=a-b;

else

break;

for(c=2;c<=sqrt(d);c++)

if(d%c==0)break;

if(c>sqrt(d))

printf("%d=%d+%d\n",a,b,d);

}

}

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

【程序5】

题目:

判断一个素数能被几个9整除

1.程序分析:

2.程序源代码:

main()

{longintm9=9,sum=9;

intzi,n1=1,c9=1;

scanf("%d",&zi);

while(n1!

=0)

{if(!

(sum%zi))

n1=0;

else

{m9=m9*10;

sum=sum+m9;

c9++;

}

}

printf("%ld,canbedividedby%d\"9\"",sum,c9);

}

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

【程序6】

题目:

两个字符串连接程序

1.程序分析:

2.程序源代码:

#include"stdio.h"

main()

{chara[]="acegikm";

charb[]="bdfhjlnpq";

charc[80],*p;

inti=0,j=0,k=0;

while(a[i]!

='\0'&&b[j]!

='\0')

{if(a[i]{c[k]=a[i];i++;}

else

[k]=b[j++];

k++;

}

c[k]='\0';

if(a[i]=='\0')

p=b+j;

else

p=a+i;

strcat(c,p);

puts(c);

}

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

【程序7】

题目:

回答结果(结构体变量传递)

1.程序分析:

     

2.程序源代码:

#include"stdio.h"

structstudent

{intx;

charc;

}a;

main()

{a.x=3;

a.c='a';

f(a);

printf("%d,%c",a.x,a.c);

}

f(structstudentb)

{

b.x=20;

b.c='y';

}

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

【程序8】

题目:

读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。

1.程序分析:

2.程序源代码:

main()

{inti,a,n=1;

while(n<=7)

{do{

   scanf("%d",&a);

   }while(a<1||a>50);

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

 printf("*");

printf("\n");

n++;}

getch();

}

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

【程序9】

题目:

某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:

   每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。

1.程序分析:

2.程序源代码:

main()

{inta,i,aa[4],t;

scanf("%d",&a);

aa[0]=a%10;

aa[1]=a%100/10;

aa[2]=a%1000/100;

aa[3]=a/1000;

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

 {aa[i]+=5;

 aa[i]%=10;

 }

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

 {t=aa[i];

 aa[i]=aa[3-i];

 aa[3-i]=t;

 }

for(i=3;i>=0;i--)

printf("%d",aa[i]);

}

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

【程序10】

题目:

专升本一题,读结果。

1.程序分析:

2.程序源代码:

#include"stdio.h"

#defineM5

main()

{inta[M]={1,2,3,4,5};

inti,j,t;

i=0;j=M-1;

while(i{t=*(a+i);

*(a+i)=*(a+j);

*(a+j)=t;

i++;j--;

}

for(i=0;iprintf("%d",*(a+i));

}

【程序11】

题目:

学习使用按位与&。

   

1.程序分析:

0&0=0;0&1=0;1&0=0;1&1=1

2.程序源代码:

#include"stdio.h"

main()

{

inta,b;

a=077;

b=a&3;

printf("\40:

Thea&b(decimal)is%d\n",b);

&=7;

printf("\40:

Thea&b(decimal)is%d\n",b);

}

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

【程序12】

题目:

学习使用按位或|。

1.程序分析:

0|0=0;0|1=1;1|0=1;1|1=1            

2.程序源代码:

#include"stdio.h"

main()

{

inta,b;

a=077;

b=a|3;

printf("\40:

Thea&b(decimal)is%d\n",b);

b|=7;

printf("\40:

Thea&b(decimal)is%d\n",b);

}

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

【程序13】

题目:

学习使用按位异或^。

   

1.程序分析:

0^0=0;0^1=1;1^0=1;1^1=0

2.程序源代码:

#include"stdio.h"

main()

{

inta,b;

a=077;

b=a^3;

printf("\40:

Thea&b(decimal)is%d\n",b);

b^=7;

printf("\40:

Thea&b(decimal)is%d\n",b);

}

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

【程序14】

题目:

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

程序分析:

可以这样考虑:

(1)先使a右移4位。

(2)设置一个低4位全为1,其余全为0的数。

可用~(~0<<4)

(3)将上面二者进行&运算。

2.程序源代码:

main()

{

unsigneda,b,c,d;

scanf("%o",&a);

b=a>>4;

c=~(~0<<4);

d=b&c;

printf("%o\n%o\n",a,d);

}

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

【程序15】

题目:

学习使用按位取反~。

   

1.程序分析:

~0=1;~1=0;

2.程序源代码:

#include"stdio.h"

main()

{

inta,b;

a=234;

b=~a;

printf("\40:

Thea's1complement(decimal)is%d\n",b);

a=~a;

printf("\40:

Thea's1complement(hexidecimal)is%x\n",a);

}

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

【程序16】

题目:

画图,学用circle画圆形。

   

1.程序分析:

2.程序源代码:

/*circle*/

#include"graphics.h"

main()

{intdriver,mode,i;

floatj=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;

}

}

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

【程序17】

题目:

画图,学用line画直线。

1.程序分析:

           

2.程序源代码:

#include"graphics.h"

main()

{intdriver,mode,i;

floatx0,y0,y1,x1;

floatj=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;

}

}

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

【程序18】

题目:

画图,学用rectangle画方形。

   

1.程序分析:

利用for循环控制100-999个数,每个数分解出个位,十位,百位。

2.程序源代码:

#include"graphics.h"

main()

{intx0,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,"Howbeautifulitis!

");

line(130,60,480,60);

setcolor

(2);

circle(269,269,137);

}

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

【程序19】

题目:

画图,综合例子。

1.程序分析:

2.程序源代码:

#definePAI3.1415926

#defineB0.809

#include"graphics.h"

#include"math.h"

main()

{

inti,j,k,x0,y0,x,y,driver,mode;

floata;

driver=CGA;mode=CGAC0;

initgraph(&driver,&mode,"");

setcolor(3);

setbkcolor(GREEN);

x0=150;y0=100;

circle(x0,y0,10);

circle(x0,y0,20);

circle(x0,y0,50);

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

{

 a=(2*PAI/16)*i;

 x=ceil(x0+48*cos(a));

 y=ceil(y0+48*sin(a)*B);

 setcolor

(2);line(x0,y0,x,y);}

setcolor(3);circle(x0,y0,60);

/*Make0timenormalsizeletters*/

settextstyle(DEFAULT_FONT,HORIZ_DIR,0);

uttextxy(10,170,"pressakey");

getch();

setfillstyle(HATCH_FILL,YELLOW);

floodfill(202,100,WHITE);

getch();

for(k=0;k<=500;k++)

{

 setcolor(3);

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

 {  a=(2*PAI/16)*i+(2*PAI/180)*k;

  x=ceil(x0+48*cos(a));

  y=ceil(y0+48+sin(a)*B);

  setcolor

(2);line(x0,y0,x,y);

 }

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

 {

  a=(2*PAI/16)*i+(2*PAI/180)*k-1;

  x=ceil(x0+48*cos(a));

  y=ceil(y0+48*sin(a)*B);

  line(x0,y0,x,y);

 }

}

restorecrtmode();

}

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

【程序20】

题目:

画图,综合例子。

   

1.程序分析:

2.程序源代码:

#include"graphics.h"

#defineLEFT0

#defineTOP0

#defineRIGHT639

#defineBOTTOM479

#defineLINES400

#defineMAXCOLOR15

main()

{

intdriver,mode,error;

intx1,y1;

intx2,y2;

intdx1,dy1,dx2,dy2,i=1;

intcount=0;

intcolor=0;

driver=VGA;

mode=VGAHI;

initgraph(&driver,&mode,"");

x1=x2=y1=y2=10;

dx1=dy1=2;

dx2=dy2=3;

while(!

kbhit())

{

 line(x1,y1,x2,y2);

 x1+=dx1;y1+=dy1;

 x2+=dx2;y2+dy2;

 if(x1<=LEFT||x1>=RIGHT)

 dx1=-dx1;

 if(y1<=TOP||y1>=BOTTOM)

  dy1=-dy1;

 if(x2<=LEFT||x2>=RIGHT)

  dx2=-dx2;

 if(y2<=TOP||y2>=BOTTOM)

  dy2=-dy2;

 if(++count>LINES)

 {

  setcolor(color);

  color=(color>=MAXCOLOR)?

0:

++color;

 }

}

closegraph();

}

【程序21】

题目:

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

都是多少?

1.程序分析:

可填在百位、十位、个位的数字都是1、2、3、4。

组成所有的排列后再去

      掉不满足条件的排列。

2.程序源代码:

main()

{

inti,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);

   }

}

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

【程序22】

题目:

企业发放的奖金根据利润提成。

利润(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()

{

longinti;

intbonus1,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;

 elseif(i<=200000)

     bonus=bonus1+(i-100000)*0.075;

    elseif(i<=400000)

        bonus=bonus2+(i-200000)*0.05;

       elseif(i<=600000)

           bonus=bonus4+(i-400000)*0.03;

          elseif(i<=1000000)

              bonus=bonus6+(i-600000)*0.015;

             else

              bonus=bonus10+(i-1000000)*0.01;

printf("bonus=%d",bonus);

}

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

【程序23】

题目:

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

1.程序分析:

在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 社交礼仪

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1