欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      C語言作業(yè)總結(jié)

      時(shí)間:2019-05-12 14:19:06下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫寫幫文庫小編為你整理了多篇相關(guān)的《C語言作業(yè)總結(jié)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《C語言作業(yè)總結(jié)》。

      第一篇:C語言作業(yè)總結(jié)

      5.9 判斷素?cái)?shù)

      從鍵盤上輸入一個(gè)大于或等于2的正整數(shù)n,判斷它是否是素?cái)?shù)。n從鍵盤輸入。提示:素?cái)?shù)定義:只能被1或它本身整除的正整數(shù)為素?cái)?shù),例如:2,3,5,7,11,13 且1不是素?cái)?shù)。解題思路:、讓 n 被 i 整除(i 的值從 2 變到 n-1)2、如果 n 能被 2 ~(n-1)之中任何一個(gè)整數(shù)整除,則表示 n 肯定不是素?cái)?shù),不必再繼續(xù)被后面的整數(shù)除,因此,可以提前結(jié)束循環(huán)。注意:此時(shí) i 的值必然小于 n。

      1.2.3.4.5.6.7.8.9.10.11.12.13.#include int main(){ int a,i;scanf(“%d”,&a);

      for(i=2;i<=a;i++){ if(a%i==0)

      break;}

      if(i

      else printf(“是素?cái)?shù)n”);return 0;}

      5.7 統(tǒng)計(jì)個(gè)數(shù)

      n 從鍵盤輸入,統(tǒng)計(jì)在 [1,n] 中,有多少個(gè)是 7 的倍數(shù)或末尾是 7 的數(shù)。例如輸入 20,在 [1,20] 中滿足條件的數(shù)(7,14,17)共有 3 個(gè)。

      1.2.3.4.5.6.7.8.9.10.#include int main(){ int a,b=0,i;scanf(“%d”,&a);

      for(i=1;i<=a;i++){ if(i%7==0||i%10==7)b=b+1;} printf(“%d個(gè)n”,b);

      return 0;}

      5.12 老鼠咬壞的賬本

      老鼠咬壞了帳本,式中符號(hào)□是被老鼠咬掉的地方。要恢復(fù)下面的等式,應(yīng)在2個(gè)□中分別填上一個(gè)數(shù)字,編程輸出這2個(gè)數(shù),2數(shù)間用逗號(hào)隔開,如3,5。3□×6237=□3×3564 提示:用窮舉法

      1.2.3.4.5.#include int main(){ int i,a;for(i=0;i<=9;i++){ for(a=1;a<=9;a++)6.7.8.9.10.11.12.13.14.{ if((30+i)*6237==(a*10+3)*3564){ printf(“%d,%dn”,i,a);}

      } }

      return 0;}

      5.10 第n個(gè)閏年

      編程找出自1601開始到2015年之間的第n個(gè)閏年并輸出是哪一年,n從鍵盤輸入。閏年條件:四年一閏,百年不閏;四百年又閏。

      1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.#include int main(){ int a,i,c=0;scanf(“%d”,&a);

      for(i=1601;i<=2015;i++){ if((i%4==0&&i%100!=0)||(i%400==0))c=c+1;if(a==c){ break;} }

      printf(“第%d個(gè)閏年是%dn”,a,i);

      return 0;}

      5.13 滿足條件的三角形

      直角三角形一條直角邊長(zhǎng)是24,其余的邊長(zhǎng)都是正整數(shù),而且斜邊的長(zhǎng)度不超過50。輸出出所有滿足條件的三角形。

      1.2.3.4.5.6.7.8.9.10.11.12.13.#include int main(){ int i,a;for(i=1;i<=50;i++){ for(a=1;a<=50;a++){ if(24*24+a*a==i*i)

      { printf(“24,%d,%dn”,a,i);}

      } }

      return 0;14.}

      5.14 多個(gè)數(shù)輸出控制

      輸出 1-35 之間的偶數(shù),每行輸出 4 項(xiàng),最后一行輸出時(shí)若不足 4 項(xiàng)也按一行輸出, 并且統(tǒng)計(jì)偶數(shù)的個(gè)數(shù)。

      1.#include 2.int main()3.{ int a,b=0;4.for(a=2;a<=35;a=a+2)5.{ printf(“%d,”,a);6.b=b+1;

      7.if(b%4==0)printf(“n”);8.}

      9.if(b%4!=0)printf(“n”);

      10.printf(“偶數(shù)的個(gè)數(shù)為%dn”,b);11.return 0;12.}

      5.15 圖案輸出

      編程輸出由星號(hào)組成的圖形: * * * * * * * * * * * * * * *

      1.2.3.4.5.6.7.8.9.10.11.12.#include int main(){ int a,b;for(a=1;a<=5;a++)行數(shù) { for(b=1;b<=a;b++){ printf(“*”);}

      printf(“n”);}

      return 0;}

      6.1 統(tǒng)計(jì)區(qū)間的奇數(shù)個(gè)數(shù)

      n從鍵盤輸入,統(tǒng)計(jì)區(qū)間[20,n)內(nèi)的大于26的奇數(shù)的個(gè)數(shù)并輸出。

      1.2.3.4.5.6.7.#include int main(){int m,i,a=0;scanf(“%d”,&m);

      if(m>26){ for(i=27;i<=m;i++){ if(i%2!=0)8.9.10.11.12.13.14.a=a+1;} printf(“奇數(shù)的數(shù)量=%d個(gè)n”,a);} else if(20<=m<=26)printf(“奇數(shù)的數(shù)量=0個(gè)n”);

      return 0;}

      6.2 發(fā)票的編碼

      有一張發(fā)票上有一個(gè)5位數(shù)的號(hào)碼67口口8,其中百位和十位上的數(shù)字看不清了,但知道該數(shù)能夠被78整除,也能被67整除。編程輸出該號(hào)碼。提示:用窮舉法

      1.2.3.4.5.6.7.8.9.10.11.12.#include int main(){int m,i;for(i=0;i<=9;i++){ for(m=0;m<=9;m++){ if(((67000+100*i+10*m+8)%78==0)&&((67000+100*i+10*m+8)%67==0))printf(“%dn”,67000+100*i+10*m+8);} }

      return 0;}

      6.3 正負(fù)交替的多項(xiàng)式求和

      計(jì)算S=-1/1+1/2-1/3+1/4?+1/n,其中 n 從鍵盤輸入,結(jié)果保留3位小數(shù)。提示:

      從 1+2+3+...+ n 可以變換出各種多項(xiàng)式的求和。

      1.2.3.4.5.6.7.8.9.10.11.12.13.#include int main()

      {float m,i,c,a=0,b=0;scanf(“%f”,&c);

      for(i=1;i<=c;i=i+2){ a=a-1.0/i;} for(m=2;m<=c;m=m+2){ b=b+1.0/m;}

      printf(“%.3fn”,a+b);return 0;}

      6.4 統(tǒng)計(jì)大寫字母的個(gè)數(shù)

      從鍵盤輸入12個(gè)字符,輸出其中大寫字母的個(gè)數(shù)。

      1.2.#include int main()3.4.5.6.7.8.9.10.11.12.13.{char a;int i,m=0;

      for(i=1;i<=12;i=i+1){ scanf(“%c”,&a);if(a<='Z'&&a>='A')m=m+1;}

      printf(“%dn”,m);return 0;} 6.5 正整數(shù)的位數(shù)

      2016.3.30 模塊考試原題:

      從鍵盤上輸入一個(gè)正整數(shù),輸出該數(shù)的位數(shù)。

      例如:輸入 1234,輸出 4 位數(shù);輸入 123456,輸出 6 位數(shù)。提示:考點(diǎn):模(求余)運(yùn)算,循環(huán)

      假設(shè)該正整數(shù)(不包括0)放在a中,重復(fù)a=a/10,直到a為0為止。每除一次計(jì)數(shù)一次,因?yàn)椴荒艽_定循環(huán)的次數(shù),while 循環(huán)是首選。例如三位數(shù):123/10=12,12/10=1,1/10=0

      1.2.3.4.5.6.7.8.9.10.11.#include int main(){ int i,m=0;scanf(“%d”,&i);while(i>0){ i=i/10;m=m+1;} printf(“%dn”,m);return 0;} 6.6 大小寫

      2016.3.30 模塊考試原題:

      輸入一個(gè)字符,判斷并輸出其為大寫或小寫。

      1.2.3.4.5.6.7.8.9.10.11.#include int main(){ char i;

      scanf(“%c”,&i);if(i>='A'&&i<='Z')printf(“大寫n”);else if(i>='a'&&i<='z')printf(“小寫n”);return 0;} 6.9 最后1 項(xiàng)為特別小的數(shù)的多項(xiàng)式之和

      計(jì)算 1/1+1/3+1/5+?, 直到最后 1 項(xiàng)的值小于 10-6 為止, 多項(xiàng)式累加和保留2位小數(shù)。提示:

      (1)第 1 項(xiàng) =1,第二項(xiàng) =1/3,第三項(xiàng) =1/5......每一項(xiàng)的值越來越小,小于 10-6 的是哪一項(xiàng)呢?

      (2)10-6 在程序中的表示方式: 0.000001 或者 1e-6 1.2.3.4.5.6.7.8.9.10.11.12.#include int main(){ float a=1,b=0;

      while((1.0/a)>0.000001){ b=b+1.0/a;a=a+2;}

      printf(“%.2fn”,b);

      return 0;}

      6.10 最大值的位置

      從鍵盤上輸入8個(gè)數(shù),輸出最大數(shù)是第幾個(gè)輸入的。

      1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.#include int main(){ int a,b,i,c;scanf(“%d”,&a);c=1;for(i=2;i<=8;i++){ scanf(“%d”,&b);if(b>a){ a=b;c=i;}

      }

      printf(“最大數(shù)在第%d位置n”,c);return 0;} 6.11 區(qū)間輸出

      m、n從鍵盤輸入,將區(qū)間[m,n)內(nèi)的不能被3整除的數(shù)輸出。

      1.2.3.4.5.#include int main(){ int a,b,i,c;scanf(“%d%d”,&a,&b);

      for(i=a;i

      if(i%3!=0)printf(“%d,”,i);}

      printf(“n”);return 0;} 6.14 統(tǒng)計(jì)及格人數(shù)

      從鍵盤輸入10個(gè)學(xué)生的成績(jī),要求統(tǒng)計(jì)及格人數(shù)并輸出。

      1.2.3.4.5.6.7.8.9.10.#include int main(){ int a,b,i=0;for(a=1;a<=10;a++){ scanf(“%d”,&b);if(b>=60)i=i+1;} printf(“及格人數(shù)=%d個(gè)n”,i);

      return 0;}

      6.16 尋找玫瑰花(單重循環(huán))

      如果一個(gè) 4 位數(shù)等于它的各位數(shù)字的 4 次方和,則這個(gè)4 位數(shù)稱為“玫瑰花”數(shù),例如 1634 就是一個(gè)玫瑰花數(shù)。要求用單重循環(huán)完成,即不使用窮舉法,求出所有玫瑰花數(shù)。

      1.2.3.4.5.6.7.8.9.10.11.12.13.14.#include int main(){ int a,b,i,d,r;for(a=1000;a<=9999;a++){ b=a/1000;i=a/100%10;d=a/10%10;r=a%10;

      if(b*b*b*b+i*i*i*i+d*d*d*d+r*r*r*r==a)printf(“%dn”,a);}

      return 0;}

      6.17 雞兔同籠問題之二

      設(shè)在一只籠子里關(guān)著雞和兔子共m只,籠子中的腳數(shù)有n,求雞和兔各有多少只? m和n從鍵盤輸入。

      編程思路:窮舉法。

      1.2.3.#include int main(){ int a,b,i,d;4.5.6.7.8.9.10.11.12.13.14.15.scanf(“%d%d”,&a,&b);

      if((a%2!=0)&&(b%2!=0))printf(“無此結(jié)果n”);else

      for(i=1;i<=a;i++){ for(d=1;d<=a;d++){ if((i+d==a)&&(2*i+4*d==b))printf(“雞=%d,兔=%dn”,i,d);} }

      return 0;}

      6.18 小寫字符轉(zhuǎn)換成大寫輸出 2016.3.30 模塊考試原題:

      連續(xù)輸入15個(gè)小寫字符,將他們轉(zhuǎn)換成大寫字符并輸出。

      小寫轉(zhuǎn)大寫:字符-32 考點(diǎn):字符輸入輸出,循環(huán)

      1.2.3.4.5.6.7.8.9.10.#include int main(){ char a,b,i;for(i=1;i<=15;i++){ scanf(“%c”,&a);a=a-32;

      printf(“%cn”,a);}

      return 0;}

      7.2 [n-200]區(qū)間滿足條件的個(gè)數(shù)

      n, k 從鍵盤上輸入, 輸出 [n-200] 間所有末位是k或者能被k整除的數(shù)的個(gè)數(shù)。

      1.2.3.4.5.6.7.8.9.10.11.#include int main(){ int n,m,b,a=0;scanf(“%d%d”,&m,&n);

      for(b=m;b<=200;b++){ if(b%n==0||b%10==n)a=a+1;}

      printf(“%dn”,a);return 0;}

      7.3 100匹馬運(yùn)100擔(dān)貨

      匹馬馱 100 擔(dān)貨,大馬一匹馱3擔(dān),中馬一匹馱 2 擔(dān),小馬兩匹馱1擔(dān),編寫程序計(jì)算大 中 小馬的個(gè)數(shù),以例如 20,0,80 格式輸出。1.2.3.4.5.6.7.8.9.10.11.12.13.#include int main(){ int n,m,b;for(b=0;b<=100;b++){ for(n=0;n<=100;n++){ for(m=0;m<=100;m++)

      if((b+m+n==100)&&(3*m+2*n+b*0.5==100))printf(“%d,%d,%dn”,m,n,b);} }

      return 0;} 7.4 數(shù)之和

      輸出兩位數(shù)中不能被 4 或 5 整除的數(shù)之和。

      1.2.3.4.5.6.7.8.9.10.#include int main(){ int m=0,b;for(b=10;b<=99;b++){ if(b%4!=0||b%5!=0)m=m+b;} printf(“%dn”,m);

      return 0;}

      7.5 聚餐問題

      現(xiàn)有30人聚餐,其中可能有男人、女人和小孩,吃飯餐費(fèi)共500元。每個(gè)男人30元,每個(gè)女人20元,每個(gè)小孩10元。問男人女人小孩各多少人?

      輸出每種可能,如男人0人、女人20人、小孩10人,則輸出0,20,10?

      1.2.3.4.5.6.7.8.9.10.11.12.13.#include int main(){ int n,m,b;for(b=0;b<=30;b++){ for(n=0;n<=30;n++){ for(m=0;m<=30;m++)

      if((b+m+n==30)&&(30*m+20*n+b*10==500))printf(“%d,%d,%dn”,m,n,b);} }

      return 0;} 7.6 數(shù)組元素的輸入輸出

      從鍵盤依次輸入10個(gè)整數(shù),按輸入順序的相反順序(即逆序)進(jìn)行輸出。提示:

      (1)首先打消想定義 a、b、c、d、e、f、g、h、i、j 的想法。(2)學(xué)會(huì)數(shù)組的聲明、數(shù)組元素的輸入和輸出。

      1.2.3.4.5.6.7.8.9.10.11.12.#include int main(){ int a[10],m,b;for(b=0;b<=9;b++)scanf(“%d”,&a[b]);for(b=9;b>=0;b=b-1)printf(“%d,”,a[b]);

      printf(“n”);

      return 0;}

      7.12 輸出最小數(shù)及其所對(duì)應(yīng)的下標(biāo)

      從鍵盤上輸入10個(gè)整數(shù),編程輸出其中最小的數(shù)以及其所對(duì)應(yīng)的下標(biāo)。要求用數(shù)組實(shí)現(xiàn)。提示:例如 89、23、44、55、77、11、34、20、35、30,這十個(gè)數(shù)中最小值為11,它在數(shù)組中的下標(biāo)為 5。(1)第一段循環(huán):給數(shù)組元素賦值;

      (2)假定 最小值= 第一個(gè)數(shù)組元素,最小值的下標(biāo)= 第一個(gè)數(shù)組元素的下標(biāo);(3)第二段循環(huán):最小值和后面的 9 個(gè)數(shù)組元素比較;(4)輸出結(jié)果;

      1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.#include int main()

      { int b,a[10],m=0,c=0;for(b=0;b<=9;b++){ scanf(“%d”,&a[b]);}

      m=a[0];

      for(b=0;b<=9;b++)

      { if(a[b]

      return 0;}

      7.13 查找數(shù)

      已知數(shù)學(xué)集合A為{1,3,5,9,11,13,15,19,23,25}, 從鍵盤上輸入一個(gè)自然數(shù) n,若n在集合A中,則輸出 n 在集合中的所處的位置,例如:輸入 5,則輸出其在集合中的 位置=3 ;輸入 10,輸出“無此數(shù)”。提示:

      (1)本題涉及的的位置 = 數(shù)組元素的下標(biāo) +1 ;

      (2)使用數(shù)組存儲(chǔ)集合A,然后順序遍歷整個(gè)數(shù)組,如果找到(與n相等),即退出(break)并輸出位置,如果沒有找到,輸出無此數(shù)。

      1.2.3.4.5.6.7.8.9.10.11.12.13.#include int main()

      { int b,a[10]={1,3,5,9,11,13,15,19,23,25},m,c=0;scanf(“%d”,&m);

      for(b=0;b<=9;b++){ if(m==a[b])

      break;

      else if(b==9&&m!=a[9])c=1;}

      if(c==0)printf(“位置=%dn”,b+1);if(c==1)printf(“無此數(shù)n”);

      return 0;}

      7.14 英文字母大小寫相互轉(zhuǎn)換

      從鍵盤輸入一個(gè)英文字母,編程完成大小寫相互轉(zhuǎn)換。轉(zhuǎn)換公式:小寫字母=大寫字母+32 提示:(x>='a'&&x<='z')x是小寫字母(x>='A'&&x<='Z')x是大寫字母

      1.2.3.4.5.6.7.8.9.#include int main(){ char a;scanf(“%c”,&a);

      if(a>='A'&&a<='Z')a=a+32;else if(a>='a'&&a<='z')a=a-32;printf(“%cn”,a);return 0;} 7.15 斐波拉契數(shù)列前n項(xiàng)之和(數(shù)組法)n 從鍵盤上輸入,n 的范圍為: 1<=n<=30

      利用數(shù)組法編程輸出斐波拉契數(shù)列: 1,1,2,3,5,8,13,21......輸出這個(gè)數(shù)列 的前 n 項(xiàng) 之和。提示:

      (1)第一段循環(huán): 求出數(shù)列的前n項(xiàng);(2)第二段循環(huán):求前n項(xiàng)的和;

      1.2.3.4.5.6.7.#include int main()

      { int a[30]={1,1},b,c=0,i;scanf(“%d”,&b);

      for(i=2;i

      printf(“%dn”,c);return 0;} 7.18 計(jì)算x的y次方

      從鍵盤輸入2個(gè)整數(shù)x和y,計(jì)算x的y次方并輸出。

      1.2.3.4.5.6.7.8.9.10.11.#include int main(){ int a,b,c=1,i;scanf(“%d%d”,&a,&b);

      for(i=1;i<=b;i++){ c=c*a;} printf(“%dn”,c);

      return 0;}

      7.21 統(tǒng)計(jì)素?cái)?shù)個(gè)數(shù)

      統(tǒng)計(jì) 100-200 之間素?cái)?shù)的個(gè)數(shù),要求不使用數(shù)組完成.1.2.3.4.5.6.7.8.9.10.11.12.13.14.#include int main(){ int a,b=0,i;for(i=100;i<=200;i++){ for(a=2;a

      break;}

      if(i==a)b++;} printf(“%dn”,b);return 0;}

      7.22 成績(jī)?cè)u(píng)定

      從鍵盤輸入8個(gè)成績(jī),去掉最高分、最低分進(jìn)行平均分計(jì)算,并輸出(以5位小數(shù)形式),要求不用數(shù)組,只用循環(huán)完成。

      1.2.3.4.5.6.#include int main(){ int i;float a,b,max,min,sum;scanf(“%f”,&a);sum=a;7.8.9.10.11.12.13.14.15.16.17.min=a;max=a;

      for(i=2;i<=8;i++){ scanf(“%f”,&b);sum=sum+b;if(max

      if(min>b)min=b;}

      printf(“%.5fn”,(sum-max-min)/6);return 0;} 8.2 累加和大于s 時(shí)的最小項(xiàng)

      s=1+2+3+4...+n , 從鍵盤上輸入一正整數(shù)s , 求累加和大于 s 時(shí)的最小項(xiàng)數(shù)n 1.2.3.4.5.6.7.8.9.10.11.#include int main()

      { int a,b=0,i,c=0;scanf(“%d”,&a);

      while(b<=a){ c=c+1;b=b+c;}

      printf(“%dn”,c);return 0;} 8.5 分行控制輸出斐波拉契數(shù)列前n項(xiàng)

      n從鍵盤上輸入,斐波拉契數(shù)列:1,1,2,3,5,8,13,21...求出這個(gè)數(shù)列的前n項(xiàng)并輸出, 要求每隔4個(gè)換一行,最后一行輸出時(shí)若不足 4 項(xiàng)也按一行輸出。

      1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.#include int main()

      { int i,a[20]={1,1},c,b,k=2;scanf(“%d”,&c);printf(“1,1,”);for(i=2;i

      { a[i]=a[i-2]+a[i-1];printf(“%d,”,a[i]);k=k+1;if(k==4){ printf(“n”);k=0;}

      } printf(“n”);17.18.return 0;}

      8.6 輸出圖形之一

      在屏幕上輸出 * 組成的圖形,行數(shù)從鍵盤輸入。提示:

      打印圖形通常用兩重循環(huán)實(shí)現(xiàn),輸出的行數(shù)、每一行的空格數(shù)和每一行星號(hào)數(shù)分別由各自的循環(huán)控制。

      外層循環(huán)控制圖形的行數(shù),該圖形一共有n行.第一個(gè)內(nèi)循環(huán),要考慮每行中,先輸出若干個(gè)空格, 確定打印圖案的起始位置,第二個(gè)內(nèi)循環(huán), 用來控制圖案中的某一行的星號(hào)個(gè)數(shù)。

      1.2.3.4.5.6.7.8.9.10.11.12.13.#include int main(){ int i,c,b,k;scanf(“%d”,&c);

      for(b=1;b<=c;b++){ for(i=1;i<=c-b;i++)printf(“ ”);for(k=1;k<=2*b-1;k++)printf(“*”);printf(“n”);} return 0;} 8.7 若干成績(jī)統(tǒng)計(jì)及格人數(shù)

      從鍵盤輸入若干學(xué)生的成績(jī),碰到輸入非法成績(jī)(輸入負(fù)數(shù)或者超過100的數(shù))時(shí)結(jié)束,要求統(tǒng)計(jì)及格人數(shù)并輸出。提示:本題不涉及數(shù)組。

      循環(huán)結(jié)束條件是非法成績(jī),因循環(huán)次數(shù)不確定,while 循環(huán)是首選。

      1.2.3.4.5.6.7.8.9.10.11.12.#include int main(){ int i,c,b,k=0;scanf(“%d”,&i);

      if(i>=60)k=k+1;while(i>=0&&i<=100){ scanf(“%d”,&i);if(i>=60)k=k+1;} printf(“及格人數(shù)=%d個(gè)n”,k-1);

      return 0;}

      8.10 輸出所有的因子及其和

      鍵盤輸入正整數(shù),輸出該整數(shù)的所有因子,例如輸入6,則輸出1,2,3,6, 并求其所有因子的和。

      提示:不涉及數(shù)組 假如正整數(shù) n 除以m,結(jié)果是無余數(shù)的整數(shù),那么我們稱 m 就是 n 的因子。

      1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.#include int main(){ int i,c,v=0;scanf(“%d”,&c);

      for(i=1;i<=c;i++){ if(c%i==0){ v=v+i;printf(“%d,”,i);

      } } printf(“n”);

      printf(“因子和=%dn”,v);return 0;} 8.13 天數(shù)計(jì)算-數(shù)組法

      輸入 年 月 日,計(jì)算是該年的第多少天? 提示:

      建議用數(shù)組實(shí)現(xiàn)計(jì)算是該年的第多少天,即天數(shù)累計(jì)求和。分為兩種情況:

      1、整月的天數(shù)參與累加求和(考慮大月、小月、2月天數(shù)具體情況)

      (4、6、9、11各30天,1、3、5、7、8、10、12各31天,平年2月28天,閏年2 月29天)

      如果是閏年的2月,天數(shù)作一個(gè)修正。

      閏年條件:四年一閏,百年不閏;四百年又閏

      2、不完整月的天數(shù)直接用某日參與累加即可。

      1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.#include int main()

      { int i,c,a[13]={31,28,31,30,31,30,31,31,30,31,30,31},n[13]={31,29,31,30,31,30,31,31,30,31,30,31},b,m,x=0;scanf(“%d%d%d”,&c,&b,&m);

      if((c%4==0&&c%100!=0)||(c%400==0)){ for(i=0;i

      else

      { for(i=0;i

      printf(“第%d天n”,x);18.19.return 0;} 8.14 計(jì)算某年某月有多少天-數(shù)組法

      從鍵盤輸入某年某月,然后計(jì)算并輸出該年該月有幾天。要求:用數(shù)組實(shí)現(xiàn)。

      提示:事先將12個(gè)月對(duì)應(yīng)的天數(shù)依次保存到數(shù)組,然后根據(jù)月份(數(shù)組下標(biāo))找對(duì)應(yīng)的元素值(天數(shù))。

      (4、6、9、11各30天,1、3、5、7、8、10、12各31天,平年2月28天,閏年2月29天)如果是閏年的2月,天數(shù)作一個(gè)修正。

      閏年條件:四年一閏,百年不閏;四百年又閏

      1.2.3.4.5.6.7.8.9.10.11.12.#include int main()

      { int i,c,a[13]={31,28,31,30,31,30,31,31,30,31,30,31},n[13]={31,29,31,30,31,30,31,31,30,31,30,31},b,m,x=0;scanf(“%d%d”,&c,&b);

      if((c%4==0&&c%100!=0)||(c%400==0)){ printf(“%d天n”,n[b-1]);} else

      { printf(“%d天n”,a[b-1]);}

      return 0;}

      8.15 輸出圖形之二

      在屏幕上輸出 * 組成的圖形,行數(shù)n(為奇數(shù))從鍵盤輸入。提示:

      菱形可以看做是一個(gè)正三角形和一個(gè)倒三角形的組合。

      1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.#include int main(){ int a,b,c,i;scanf(“%d”,&a);

      for(i=1;i<=(a+1)/2;i++){ for(b=1;b<=(a+1)/2-i;b++)printf(“ ”);for(c=1;c<=2*i-1;c++)printf(“*”);printf(“n”);} for(i=1;i<=(a+1)/2-1;i++){ for(b=1;b<=i;b++)printf(“ ”);

      for(c=1;c<=a-2*i;c++)16.17.18.19.20.printf(“*”);printf(“n”);}

      return 0;}

      8.16 數(shù)組冒泡排序法

      從鍵盤上輸入正整數(shù) n(n<=50), 然后依次輸入n個(gè)正整數(shù),并保存到數(shù)組a,然后將這些整數(shù)進(jìn)行升序排序,輸出排序后的數(shù)組。提示:

      本題數(shù)組元素個(gè)數(shù)不確定,可根據(jù)情況估計(jì)其上限定義數(shù)組,例如本題可定義 int a[50];1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.#include int main()

      { int a[40],b,c,i,m;scanf(“%d”,&b);

      for(i=0;ia[i+1]){ m=a[i];a[i]=a[i+1];a[i+1]=m;} } }

      for(i=0;i

      return 0;}

      8.17 輸出等差第n項(xiàng)值

      給出一個(gè)等差數(shù)列的前兩項(xiàng)a1,a2,輸出第n項(xiàng)值。

      例如:輸入a1,a2 分別為1,4

      n為100時(shí),計(jì)算輸出該數(shù)列第n項(xiàng)的值 提示: 不涉及數(shù)組

      1.2.3.4.5.#include int main()

      { int b,c,i=0,m,n,s=1;scanf(“%d%d%d”,&b,&c,&m);i=c-b;6.7.8.9.10.11.for(n=1;n<=m-1;n++){ s=s+i;}

      printf(“%dn”,s);return 0;} 8.21 求1!+2!+3!+4!+5!+......+n!數(shù)列之和

      n從鍵盤輸入,求1!+2!+3!+4!+5!+......+n!數(shù)列之和 提示:

      不涉及數(shù)組.1.#include 2.int main()

      3.{ int a,b,c=1,m=1;4.scanf(“%d”,&a);5.for(b=2;b<=a;b++)6.{ c=c*b;7.m=m+c;8.}

      9.printf(“%dn”,m);10.}

      9.1 判斷某整數(shù)是否包含6 輸入一個(gè)[1-100)的整數(shù),判斷該數(shù)是否包含6 ?

      如果是(比如 16,63,69),則輸出 yes,不是(比如29,78)則輸出 no

      1.2.3.4.5.6.7.8.9.10.11.12.#include int main(){ int i,c=0,b,s;scanf(“%d”,&b);c=b%10;s=b/10%10;if(c==6||s==6)printf(“yesn”);else printf(“non”);

      return 0;}

      408多項(xiàng)式和Ⅱ

      求a+aa+aaa+aaaa+...+aaa..a(n個(gè)a),a和n的值從鍵盤輸入。

      1.2.3.4.5.6.7.8.9.10.11.12.13.14.#include int main(){ int a,n,c=0,i,k=1,z=0;scanf(“%d %d”,&a,&n);for(i=1;i<=n;i++){ c=c+k*a;z=z+c;k=k*10;} printf(“%dn”,z);

      return 0;}

      409彈跳小球

      小球從100米高度落下,每次落地后反彈回原高度的1/2再落下,求小球第n次落地時(shí)總共經(jīng)過的路程,結(jié)果保留2位小數(shù)。n從鍵盤輸入。

      1.2.3.4.5.6.7.8.9.10.11.12.13.14.#include int main(){ float n,b=100,sum=0,i=1,z=100;scanf(“%f”,&n);for(i=1;i

      return 0;}

      411乘法口訣表

      輸出九九乘法口訣表。

      1.2.3.4.5.#include int main(){ int x,y;scanf(“n”);6.7.8.9.10.11.12.13.for(x=1;x<=9;x++){ for(y=1;y<=x;y++){ printf(“%d*%d=%d ”,x,y,x*y);} printf(“n”);} return 0;} 412猴子吃桃

      猴子第一天摘了若干個(gè)桃子,吃了一半,不過癮,又多吃了1個(gè)。第二天將剩余的桃子又吃掉一半,并且又多吃了1個(gè)。此后每天都是吃掉前一天剩下的一半零一個(gè)。到第n天再想吃時(shí),發(fā)現(xiàn)只剩下1個(gè)桃子,問第一天它摘了多少桃子?天數(shù)n從鍵盤輸入。

      1.2.3.4.5.6.7.8.9.10.11.12.#include int main(){ int sum=1,i,n;scanf(“%d”,&n);for(i=1;i

      return 0;}

      413雞蛋數(shù)

      有一籃子雞蛋,如果每次拿2個(gè)最后剩1個(gè),每次拿3個(gè)最后剩2個(gè),每次拿4個(gè)最后剩3個(gè),每次拿5個(gè)最后剩4個(gè),輸出籃子中的雞蛋數(shù)目。

      1.2.3.4.5.6.7.8.9.10.11.#include int main(){ int a,i;

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

      if(a%2==1&&a%3==2&&a%4==3&&a%5==4)printf(“%dn”,a);} return 0;} 414將軍點(diǎn)兵

      一將軍帶兵出征前清點(diǎn)人數(shù),士兵按從1到5排隊(duì)報(bào)數(shù),最后一個(gè)士兵報(bào)的數(shù)是1;按從1到6排隊(duì)報(bào)數(shù),最后一個(gè)士兵報(bào)的數(shù)是5;按從1到7報(bào)數(shù),最后一個(gè)士兵報(bào)的數(shù)是4;再按從1到11排隊(duì)報(bào)數(shù),最后一個(gè)士兵報(bào)的數(shù)是10。計(jì)算至少(至少,至少)有多少士兵?

      1.2.#include int main()3.4.5.6.7.8.9.10.11.{ int a,i;

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

      if(a%5==1&&a%6==5&&a%7==4&&a%11==10)printf(“%dn”,a);} return 0;}

      415三色球

      一個(gè)袋子里裝有3個(gè)紅球、5個(gè)白球和6個(gè)黑球,要任意取出8個(gè)球,且其中必須有白球,輸出可能的方案數(shù)目。

      1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.#include int main(){ int sum=0,i,j,k,a;

      for(i=1;i<=5;i++)for(j=0;j<=3;j++)

      for(k=0;k<=6;k++){ a=i+j+k;if(a%8==0)sum=sum+1;else

      sum=sum+0;}

      printf(“%dn”,sum);return 0;} 416換錢

      要將100元人民幣兌換成5元、10元和20元紙幣,輸出兌換方法的總數(shù)。

      1.2.3.4.5.6.7.8.9.10.11.12.13.#include int main(){ int sum=0,i,j,k,a;

      for(i=0;i<=20;i++)for(j=0;j<=10;j++)

      for(k=0;k<=5;k++){

      a=i*5+j*10+k*20;if(a==100)sum=sum+1;else

      sum=sum+0;14.15.16.17.}

      printf(“%dn”,sum);return 0;}

      417百錢買百雞

      百錢買百雞問題:雞翁一值錢五,雞母一值錢三,雞雛三值錢一。百錢買百雞,問雞翁、雞母、雞雛各幾何,輸出所有的買法,雞翁、雞母、雞雛間以逗號(hào)隔開。

      1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.#include int main(){ int b,i,j,k,a;

      for(i=0;i<=20;i++)for(j=0;j<=33;j++)

      for(k=0;k<=100;k++){

      a=i*5+j*3+k/3;b=i+j+k;

      if(a==100&&b==100&&k%3==0)printf(“%d,%d,%dn”,i,j,k);} return 0;} 418百變圖形(1)

      在屏幕上輸出 * 組成的圖形,行數(shù)和 * 數(shù)從鍵盤輸入。

      提示:輸出的行數(shù)、每一行的空格數(shù)和每一行星號(hào)數(shù)分別由各自的循環(huán)控制。

      1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.#include int main(){ int b,a,i,j,k;scanf(“%d %d”,&a,&b);for(i=a;i>=1;i=i-1){ for(k=i-1;k>=1;k=k-1)printf(“ ”);for(j=1;j<=b;j++){ printf(“*”);} printf(“n”,a);} return 0;} 419百變圖形(2)

      在屏幕上輸出 * 組成的圖形,行數(shù)從鍵盤輸入。1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.#include int main(){ int b,a,i,j,k;scanf(“%d”,&a);for(i=a;i>=1;i=i-1){ for(k=i-1;k>0;k=k-1)printf(“ ”);for(j=2*i+1;j<=2*a+1;j=j+1)printf(“*”,j);printf(“n”);} return 0;} 420百變圖形(3)

      在屏幕上輸出 * 組成的圖形,行數(shù)(為奇數(shù))從鍵盤輸入。

      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.#include int main(){ int x = 0,i = 0,j = 0;scanf(“%d”,&x);

      for(i = 0;i <(x+1)/2;i++){

      for(j = 0;j <((x-(2*i+1))/2);j++)printf(“ ”);

      for(j = 0;j <(2*i + 1);j++)printf(“*”);

      printf(“n”);}

      for(i = 0;i <(x-1)/2;i++){

      for(j = 0;j <(i+1);j++)printf(“ ”);

      for(j = 0;j<(x-(i+1)*2);j++)printf(“*”);printf(“n”);}

      return 0;}

      422數(shù)字翻轉(zhuǎn) 從鍵盤輸入一個(gè)整數(shù),將該數(shù)翻轉(zhuǎn)輸出。

      1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.#include int main(){ int b,a,c,d,i,j,k;scanf(“%dn”,&b);if(b<100){a=b/10;c=b%10;printf(“%dn”,c*10+a);}

      else if(b>100&&b<1000){d=b/100;a=(b/10)%10;c=b%10;printf(“%dn”,c*100+a*10+d);} else { i=b/1000;d=(b/100)%10;a=(b/10)%10;c=b%10;printf(“%dn”,c*1000+a*100+d*10+i);} return 0;} 第N個(gè)素?cái)?shù)

      輸出1000以內(nèi)的第n個(gè)素?cái)?shù),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.#include int main(){ int a,b=0,c=2,m,n=1;scanf(“%d”,&a);while(c<1000){ while(b

      break;}

      if(b==c){

      n++;} c++;b=1;

      if(n==a)break;} printf(“%dn”,c-1);25.26.return 0;}

      百變圖形(4)

      輸入一個(gè)正整數(shù),輸出如下圖形。

      測(cè)試用例 1 3?

      1?

      2? 3

      3?

      2?

      1?

      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.31.32.33.34.#include int main(){ int a,x=0,y,z=1,d=1;

      int i;scanf(“%d”,&a);

      while(x

      while(x

      printf(“ ”);z++;} y=0;

      while(y<(x+1)*2+1){ z=1;if(x==0){ printf(“%d”,d);y++;break;} else { if((y==0||y==(x+1)*2)&&x!=0){ printf(“%d”,d);35.36.37.38.39.40.41.42.43.44.45.46.47.48.49.50.51.52.53.54.55.56.57.58.59.60.61.62.63.64.65.66.67.68.69.70.71.72.73.74.75.76.77.78.} else

      { printf(“ ”);} }

      y++;} printf(“n”);x++;d=d+1;} while(x>=a&&x

      int g;g=a;

      if(x==a+a-2){ z=0;}

      while(z<=x+1-a){

      printf(“ ”);z++;} y=0;while(y<(a+a-1-x)*2+1){ z=0;

      if(x==a+a-2){

      printf(“%d”,d-2);y++;

      break;}

      else {

      if(y==0||y==(a+a-1-x)*2){

      printf(“%d”,d-2);} 79.80.81.82.83.84.85.86.87.88.89.90.91.92.93.else {

      printf(“ ”);} } y++;

      }

      printf(“n”);x=x+1;d=d-1;} } return 0;} 505最小數(shù)及位置

      從鍵盤上輸入n個(gè)數(shù)(n也從鍵盤輸入),輸出其中最小的數(shù)以及該數(shù)在數(shù)組中的位置。

      1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.#include int main(){ int n,a[10],i,j=0,b,min;scanf(“%d”,&n);for(i=0;i

      for(i=1;i

      if(a[i]

      min=a[i];j=i;} else

      { continue;} } printf(“最小數(shù)%d位于第%d個(gè)n”,min,j+1);

      return 0;}

      506數(shù)字翻轉(zhuǎn)

      從鍵盤輸入一個(gè)整數(shù),將該數(shù)翻轉(zhuǎn)輸出。

      提示:將分離出的整數(shù)的每一位數(shù)字保存到數(shù)組中,然后需要判斷前幾位是否為0,如果為0則前幾位不輸出。

      1.int i,j,k,b=0,c=1,aa=0;2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.aa=a;

      for(i=1;a>=10;i++)a=a/10;

      for(j=0;j

      num[j]=aa%10;aa=aa/10;} for(k=1;k

      printf(“%dn”,b);return 0;} 418百變圖形(1)

      在屏幕上輸出 * 組成的圖形,行數(shù)和 * 數(shù)從鍵盤輸入。

      *****?

      *****?

      *****? *****?

      提示:輸出的行數(shù)、每一行的空格數(shù)和每一行星號(hào)數(shù)分別由各自的循環(huán)控制。

      1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.#include int main(){ int b,a,i,j,k;scanf(“%d %d”,&a,&b);for(i=a;i>=1;i=i-1){ for(k=i-1;k>=1;k=k-1)printf(“ ”);for(j=1;j<=b;j++){ printf(“*”);} printf(“n”,a);} return 0;} 419百變圖形(2)

      在屏幕上輸出 * 組成的圖形,行數(shù)從鍵盤輸入。

      *?

      ***?

      *****? *******?

      1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.#include int main(){ int b,a,i,j,k;scanf(“%d”,&a);for(i=a;i>=1;i=i-1){ for(k=i-1;k>0;k=k-1)printf(“ ”);for(j=2*i+1;j<=2*a+1;j=j+1)printf(“*”,j);printf(“n”);} return 0;} 420百變圖形(3)

      在屏幕上輸出 * 組成的圖形,行數(shù)(為奇數(shù))從鍵盤輸入。

      *?

      ***? *****?

      ***?

      *?

      1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.#include int main(){ int x = 0,i = 0,j = 0;scanf(“%d”,&x);

      for(i = 0;i <(x+1)/2;i++){

      for(j = 0;j <((x-(2*i+1))/2);j++)printf(“ ”);

      for(j = 0;j <(2*i + 1);j++)printf(“*”);

      printf(“n”);} 16.17.18.19.20.21.22.23.24.25.26.for(i = 0;i <(x-1)/2;i++){

      for(j = 0;j <(i+1);j++)printf(“ ”);

      for(j = 0;j<(x-(i+1)*2);j++)printf(“*”);printf(“n”);}

      return 0;}

      第N個(gè)素?cái)?shù)

      輸出1000以內(nèi)的第n個(gè)素?cái)?shù),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.#include int main(){ int a,b=0,c=2,m,n=1;scanf(“%d”,&a);while(c<1000){ while(b

      break;}

      if(b==c){

      n++;} c++;b=1;

      if(n==a)break;} printf(“%dn”,c-1);return 0;}

      第二篇:C語言作業(yè)

      Problem B: 算術(shù)基本運(yùn)算 Description 計(jì)算兩整數(shù)x和y(0

      printf(”x * y : %dn“,x*y);

      printf(”x / y quotient: %d, remainder: %dn“,x/y,x%y);

      printf(”x ^ 2 : %dn“,x*x);

      printf(”y ^ 3 : %dn“,y*y*y);

      return 0;}

      Problem C: 求圓的面積和周長(zhǎng) Description 從鍵盤輸入圓的半徑,求圓的面積和周長(zhǎng),圓周率取3.14。Input 輸入一個(gè)浮點(diǎn)型數(shù)據(jù),有效數(shù)字不會(huì)超過十進(jìn)制的6位。Output 輸出為兩行。

      第一行為圓的面積,第二行為圓的周長(zhǎng),格式見sample。Sample Input Sample Output Area: 28.260000 Perimeter: 18.840000 HINT 了解浮點(diǎn)類型的輸入、輸出和算術(shù)運(yùn)算符 #include int main(){

      double Area,Perimeter,r,p=3.14;

      scanf(”%lf“,&r);

      Area=p*r*r,Perimeter=2*p*r;

      printf(”Area: %lfn“,Area);

      printf(”Perimeter: %lfn“,Perimeter);

      return 0;}

      Problem D:平均值 Description 求3個(gè)數(shù)的平均值。Input 輸入只有一行,為3個(gè)較小的整數(shù)。Output 輸出為這3個(gè)整數(shù)的平均值,保留3位小數(shù)。Sample Input 1 2 3 Sample Output 2.000 HINT 注意除法運(yùn)算對(duì)整型數(shù)據(jù)和浮點(diǎn)型數(shù)據(jù)是不一樣的。#include int main(){

      int x,y,z;

      float ave;

      scanf(”%d %d %d“,&x,&y,&z);

      ave=(x+y+z)/3.0;

      printf(”%.3f“,ave);

      return 0;}

      Problem E: 貨幣兌換

      Description 給出人民幣對(duì)美元、歐元、日元的當(dāng)日匯率,求給定金額的人民幣能兌換成外幣的金額,求給定金額的外幣能兌換成人民幣的金額。要計(jì)算的外幣有三種:美元、歐元、日元。Input 輸入有三行。

      第一行依次為美元、歐元、日元外幣匯率,用空格分開。匯率用100外幣為單位,精確到小數(shù)點(diǎn)后4位,如668.5200表示“100美元=668.5200人民幣”。匯率浮動(dòng)范圍為(0,10000)。

      第二行為外幣金額x,第三行為人民幣金額y。x,y均為整數(shù),且0

      第一行為金額為x的美元、歐元、日元兌換成人民幣的金額,用空格分開。第二行為金額為y的人民幣兌換成美元、歐元、日元的金額,用空格分開。所有金額精確到小數(shù)點(diǎn)后兩位。Sample Input 668.5200 908.0685 7.9852 1500 1500 Sample Output 10027.80 13621.03 119.78 224.38 165.19 18784.75 HINT 了解浮點(diǎn)數(shù)據(jù)類型的精確度和輸出控制。

      #include int main(){ double a,b,c;double x;double y;scanf(”%lf%lf%lf“,&a,&b,&c);scanf(”%lf“,&x);scanf(”%lf“,&y);printf(”%.2lf %.2lf %.2lfn“,x*0.01*a,x*0.01*b,x*0.01*c);printf(”%.2lf %.2lf %.2lfn“,y/a*100,y/b*100,y/c*100);

      return 0;

      } Problem F: 求字符的值 Description 從鍵盤輸入3個(gè)字符(不含雙字節(jié)字符),分別輸出每個(gè)字符的十進(jìn)制值(ASCII碼)、八進(jìn)制值和十六進(jìn)制值。Input

      輸入為3個(gè)字符。Output 輸出為3行。

      每一行為每個(gè)字符(對(duì)應(yīng)輸入順序)的十進(jìn)制、八進(jìn)制和十六進(jìn)制值,用空格分隔開。每個(gè)輸出的值占3個(gè)字符,不足3個(gè)字符前面補(bǔ)0。Sample Input 0 A Sample Output 048 060 030 032 040 020 065 101 041 HINT 了解字符值的存儲(chǔ)和整型的關(guān)系。#include int main(){ char x,y,z;scanf(”%c%c%c“,&x,&y,&z);printf(”%.3d %.3o %.3xn“,x,x,x);printf(”%.3d %.3o %.3xn“,y,y,y);printf(”%.3d %.3o %.3xn“,z,z,z);return 0;}

      Problem G: 奇數(shù)還是偶數(shù)? Description 輸入一個(gè)整數(shù),判讀它是奇數(shù)還是偶數(shù)。Input 輸入只有一行,為一個(gè)100以內(nèi)的正整數(shù)。Output 輸出為一行。

      若輸入為偶數(shù)則輸出“even”,奇數(shù)輸出“odd”。Sample Input 30 Sample Output even HINT 用整數(shù)運(yùn)算可以解決,練習(xí)“?:”表達(dá)式。#include int main(){

      int x;

      scanf(”%d“,&x);

      if(x%2==0)

      printf(”even“);

      else

      printf(”odd“);

      return 0;}

      Problem H: 絕對(duì)值 Description 求整型數(shù)據(jù)和浮點(diǎn)型數(shù)據(jù)的絕對(duì)值。Input 輸入兩個(gè)數(shù),第一個(gè)是整數(shù),第二個(gè)是浮點(diǎn)數(shù)。Output 輸出為兩行,第一行為整數(shù)的絕對(duì)值,第二行為浮點(diǎn)數(shù)的絕對(duì)值,注意浮點(diǎn)數(shù)的絕對(duì)值不輸出無意義的0。Sample Input-1 1 Sample Output 1 1 HINT 求絕對(duì)值可以用標(biāo)準(zhǔn)庫函數(shù)來完成,也可以自己判斷。注意浮點(diǎn)數(shù)的輸出格式。求絕對(duì)值的函數(shù)在哪個(gè)頭文件?貌似很多人會(huì)搞錯(cuò),包括很多編書的人!#include #include int main(){

      int x;

      float y;

      scanf(”%d“,&x);

      scanf(”%f“,&y);

      printf(”%dn“,abs(x));

      printf(”%gn“,fabs(y));

      return 0;} Problem I: 簡(jiǎn)單的打折計(jì)算 Description 商店規(guī)定:消費(fèi)滿n元,可以打八八折。設(shè)某件商品標(biāo)價(jià)m元,輸入購買的件數(shù)x,計(jì)算出需要支付的金額(單位:元),精確到分。Input 輸入只有一行,三個(gè)整數(shù)m、n和x,且0

      300 4 Sample Output 334.40 HINT 了解浮點(diǎn)型的輸出控制,注意整型和浮點(diǎn)型混合運(yùn)算過程中的數(shù)據(jù)類型轉(zhuǎn)換。#include int main(){

      int m,n,x;

      double y;

      scanf(”%d%d%d“,&m,&n,&x);

      y=m*x;

      if(y>n)

      y=y*0.88;

      else

      y=y;

      printf(”%.2lfn“,y);

      return 0;} Description 輸入一個(gè)正整數(shù)的年份,判斷是否為閏年。Input 輸入只有一行,為一個(gè)10000以內(nèi)的正整數(shù)。Output 輸出為一行。

      若輸入為閏年偶數(shù)則輸出“Yes”,否則輸出“No”。Sample Input 2010 Sample Output No HINT 了解邏輯運(yùn)算符和關(guān)系運(yùn)算符。#include int main(){

      int a;

      scanf(”%d“,&a);

      if(a%4==0&&a%100!=0||a%400==0)

      printf(”Yes“);

      else printf(”No“);

      return 0;} Problem K: GHacker的解謎過關(guān)游戲 Description

      GHacker最近癡迷于一個(gè)新上市的解謎游戲,其中一關(guān)的過關(guān)是破解一個(gè)字符串S。經(jīng)過3天的冥思苦想,GHacker成功的搞明白了這其中的奧秘,把串S中的整數(shù)取出來求和,就可以過關(guān)了。但是GHacker的數(shù)學(xué)實(shí)在糟糕。他無法在短暫的時(shí)間內(nèi)算出來,只好求助Jackie。Jackie觀察到雖然每次出現(xiàn)的數(shù)字不同,但是其它的符號(hào)并不會(huì)變化。于是Jackie編寫了一個(gè)非常短的程序,幫助GHacker把這一關(guān)過了。Input 輸入為串S,只有一行。Output 串S中用非數(shù)字(0~9)分隔開的非負(fù)整數(shù)之和,不會(huì)超出int類型的數(shù)據(jù)范圍。Sample Input `13?:[7514],54.487==”(438922x159??392)%032n111cdef120$95;Sample Output 447899 HINT scanf()可以解決這個(gè)問題,注意轉(zhuǎn)義字符和格式控制字符。#include int main(){

      int i,sum,num;

      char str[1000];

      while(scanf(“%s”,str)!=EOF)

      {

      num=sum=0;

      for(i=0;;i++)

      {

      if(str[i]>='0' && str[i]<='9')

      num=num*10+str[i]-'0';

      else

      {

      sum=sum+num;num=0;

      if(str[i]=='