
程序1
題目:有1、2、3、4個(gè)數(shù)字,能組成多少個(gè)互不相同且無重復(fù)數(shù)字的三位數(shù)?都是多少??
1.程序分析:
可填在百位、十位、個(gè)位的數(shù)字都是1、2、3、4。組成所有的排列后再去掉不滿足條件的排列。?
2.程序源代碼:
main()?
{?
int i,j,k;?
printf("\n");?
for(i=1;i<5;i++) ?。?以下為三重循環(huán)*/?
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
題目:企業(yè)發(fā)放的獎金根據(jù)利潤提成。利潤(I)低于或等于10萬元時(shí),獎金可提10%;利潤高于10萬元,低于20萬元時(shí),低于10萬元的部分按10%提成,高于10萬元的部分,可可提成7.5%;20萬到40萬之間時(shí),高于20萬元的部分,可提成5%;40萬到60萬之間時(shí)高于 40萬元的部分,可提成3%;60萬到100萬之間時(shí),高于60萬元的部分,可提成1.5%,高于100萬元時(shí),超過100萬元的部分按1%提成,從鍵盤輸入當(dāng)月利潤I,求應(yīng)發(fā)放獎金總數(shù)??小編推薦一個(gè)學(xué)C/C++的學(xué)習(xí)裙【六二七,零一二,四六四】,無論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來了解一起進(jìn)步一起學(xué)習(xí)!裙內(nèi)有很多干貨和技術(shù)分享!

1.程序分析:
請利用數(shù)軸來分界,定位。注意定義時(shí)需把獎金定義成長整型。
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
題目:一個(gè)整數(shù),它加上100后是一個(gè)完全平方數(shù),再加上168又是一個(gè)完全平方數(shù),請問該數(shù)是多少??
1.程序分析:
在10萬以內(nèi)判斷,先將該數(shù)加上100后再開方,再將該數(shù)加上268后再開方,如果開方后的結(jié)果滿足如下條件,即是結(jié)果。
2.程序源代碼:?
#include "math.h"?
main()?
{?
long int i,x,y,z;?
for (i=1;i<100000;i++)?
{ x=sqrt(i+100); /*x為加上100后開方后的結(jié)果*/?
y=sqrt(i+268); /*y為再加上168后開方后的結(jié)果*/?
if(x*x==i+100&&y*y==i+268)/*如果一個(gè)數(shù)的平方根的平方等于該數(shù),這說明此數(shù)是完全平方數(shù)*/?
printf("\n%ld\n",i);?
}?
}?

程序4
題目:輸入某年某月某日,判斷這一天是這一年的第幾天??
1.程序分析:
以3月5日為例,應(yīng)該先把前兩個(gè)月的加起來,然后再加上5天即本年的第幾天,特殊情況,閏年且輸入月份大于3時(shí)需考慮多加一天。
2.程序源代碼:
main()?
{?
int day,month,year,sum,leap;?
printf("\nplease input year,month,day\n");?
scanf("%d,%d,%d",&year,&month,&day);?
switch(month)/*先計(jì)算某月以前月份的總天數(shù)*/?
{?
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; /*再加上某天的天數(shù)*/?
if(year%400==0||(year%4==0&&year%100!=0))/*判斷是不是閏年*/?
leap=1;?
else?
leap=0;?
if(leap==1&&month>2)/*如果是閏年且月份大于2,總天數(shù)應(yīng)該加一天*/?
sum++;?
printf("It is the %dth day.",sum); }?
程序5
題目:輸入三個(gè)整數(shù)x,y,z,請把這三個(gè)數(shù)由小到大輸出。?
1.程序分析:
我們想辦法把最小的數(shù)放到x上,先將x與y進(jìn)行比較,如果x>y則將x與y的值進(jìn)行交換,然后再用x與z進(jìn)行比較,如果x>z則將x與z的值進(jìn)行交換,這樣能使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
題目:輸出特殊圖案,請?jiān)赾環(huán)境中運(yùn)行,看一看,Very Beautiful!?
1.程序分析:
字符共有256個(gè)。不同字符,圖形不一樣。
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來控制列,根據(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
題目:打印樓梯,同時(shí)在樓梯上方打印兩個(gè)笑臉。?
1.程序分析:用i控制行,j來控制列,j根據(jù)i的變化來控制輸出黑方格的個(gè)數(shù)。?
2.程序源代碼:?
#include "stdio.h"?
main()?
{?
int i,j;?
printf("\n");/*輸出兩個(gè)笑臉*/?
for(i=1;i<11;i++)?
{?
for(j=1;j<=i;j++)?
printf("%c%c",219,219);?
printf("\n");?
}?
}?
