長沙極客營IT夢想學院

7x24小時咨詢熱線

400-660-3310

當前位置 : 好學校 長沙極客營IT夢想學院 學習資訊 資訊詳情

極客營為大家分享十個基礎C語言小程序

2016-01-11

今天給大家分享10個比較基礎的C語言的小程序,希望給C語言初學者帶來一定幫助。

1、題目:有1、2、3、4個數字,能組成多少個互不相同且無重復數字的三位數?都是多少?

程序分析:可填在百位、十位、個位的數字都是1、2、3、4。組成所有的排列后再去掉不滿足條件的排列。

程序源代碼:

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ā)放的獎金根據利潤提成。利潤(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,求應發(fā)放獎金總數?

程序分析:請利用數軸來分界,定位。注意定義時需把獎金定義成長整型。

程序源代碼:

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又是一個完全平方數,請問該數是多少?

程序分析:在10萬以內判斷,先將該數加上100后再開方,再將該數加上268后再開方,如果開方后 的結果滿足如下條件,即是結果。

程序源代碼:

#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、題目:輸入某年某月某日,判斷這一天是這一年的第幾天?

程序分析:以3月5日為例,應該先把前兩個月的加起來,然后再加上5天即本年的第幾天,特殊情況,閏年且輸入月份大于3時需考慮多加一天。

程序源代碼:

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,請把這三個數由小到大輸出。

程序分析:我們想辦法把小的數放到x上,先將x與y進行比較,如果x>y則將x與y的值進行交換,然后再用x與z進行比較,如果x>z則將x與z的值進行交換,這樣能使x小。

程序源代碼:

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的圖案。

程序分析:可先用<|>*<|>號在紙上寫出字母C,再分行輸出。

程序源代碼:

#include "stdio.h"  main()  {  printf("Hello C-world!\\n");  printf(" ****\\n");  printf(" *\\n");  printf(" * \\n");  printf(" ****\\n");  }

7、題目:輸出特殊圖案,請在c環(huán)境中運行,看一看,Very Beautiful!

程序分析:字符共有256個。不同字符,圖形不一樣。

程序源代碼:

#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口訣。

程序分析:分行與列考慮,共9行9列,i控制行,j控制列。

程序源代碼:

#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、題目:要求輸出國際象棋棋盤。

程序分析:用i控制行,j來控制列,根據i+j的和的變化來控制輸出黑方格,還是白方格。

程序源代碼:

#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、題目:打印樓梯,同時在樓梯上方打印兩個笑臉。

程序分析:用i控制行,j來控制列,j根據i的變化來控制輸出黑方格的個數。

程序源代碼:

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

如果你也有基礎的C語言小程序,歡迎和我們一起分享。

收藏
分享到:

相關課程

相關資訊

長沙極客營IT夢想學院

長沙極客營IT夢想學院

認證等級

信譽良好,可安心報讀

長沙極客營IT夢想學院

已獲好學校V2信譽等級認證

信譽值

  • (60-80)基礎信譽積累,可放心報讀
  • (81-90)良好信譽積累,可持續(xù)信賴
  • (91-100)充分信譽積累,推薦報讀

與好學校簽訂讀書保障協(xié)議:

  • 100%
  • 28
  • 15640
在線咨詢
;