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

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

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

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

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

      《C語言程序設(shè)計教程》課后題答案

      時間:2019-05-12 23:26:13下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《《C語言程序設(shè)計教程》課后題答案》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《《C語言程序設(shè)計教程》課后題答案》。

      第一篇:《C語言程序設(shè)計教程》課后題答案

      《C語言程序設(shè)計教程》課后題答案

      第一章

      一選擇題

      1.A 2.B 3.C 4.D 5.B 6.C 二.填空題 1.程序 2.算法

      3.main或主 4.編譯 5.編譯 6..obj 7.庫函數(shù)

      8.文本或ASCII碼

      三、編程題

      1.參考代碼如下: #include void main(){

      printf(“金n木n水n火n土n”);} 2.參考代碼如下: #include void main(){ int a,b;

      scanf(“%d%d”,&a,&b);

      printf(“%d+%d=%dn”,a,b,a+b);

      printf(“%d-%d=%dn”,a,b,a-b);

      printf(“%d*%d=%dn”,a,b,a*b);

      printf(“%d/%d=%dn”,a,b,a/b);} 3.參考代碼如下: #include void main(){

      float a,b,h,s;

      scanf(“%f%f%f”,&a,&b,&h);

      s=(a+b)*h/2;

      printf(“s=%fn”,s);}

      第二章

      一選擇題 答案及分析: 1.B,略

      2.A,-8在內(nèi)存中是以補碼(設(shè)兩個字節(jié))形式存儲的 3.A,C語言有32個關(guān)鍵字(參見課本第18頁),且C語言標(biāo)識符是區(qū)分大小寫字母的 4.A,略

      5.D,八進制數(shù)據(jù)中不能出現(xiàn)數(shù)碼8 6.B,字符常量應(yīng)該用單引號括起來,答案D超出了ASCII取值范圍(ASCII的取值范圍為[0,255])

      7.C,該字符串中轉(zhuǎn)義字符有三個:、22和 n,普通字符有三個:a、,和0,所以字符串長度為6 8.C,略

      9.D,C語言沒有read函數(shù)和%D格式符號,且scanf函數(shù)第二個形參為地址列表

      10.B,根據(jù)題意,scanf函數(shù)輸入數(shù)據(jù)時分隔符號不應(yīng)該是逗號,應(yīng)該是空格或回車符,且輸入數(shù)據(jù)時分一行或幾行均可

      11.A,scanf函數(shù)中不允許出現(xiàn)%8.4,%6.2和%8這樣的格式符號

      12.C,既要保證5位小數(shù)位,還得保證整數(shù)位不變,這樣數(shù)據(jù)12345.67800用10列不能完全顯示出來,按C語言規(guī)定,12345.67800原樣輸出

      13.B,printf函數(shù)中格式符號%d,%o,%x表示對應(yīng)的整型數(shù)據(jù)分別按十進制,八進制和十六進制輸出

      14.C,按C語言規(guī)定,scanf函數(shù)形參雙引號中,如果包含非格式符號,在輸入數(shù)據(jù)時要求原樣輸入 二.填空題 答案及分析:

      1.int

      float

      double(略)

      2.65,89,printf函數(shù)中如果格式符號是%d,則輸出相應(yīng)字符的ASCII十進制數(shù)值

      3.a=98,b=765.000000,c=4321.000000,scanf函數(shù)中的格式符號%2d%3f%4f,表示將鍵盤輸入的數(shù)據(jù)9876543210按2,3,4位分割,然后再分別賦給變量a,b,c 4.scanf(“%lf%lf%lf”,&a,&b,&c);double類型的變量對應(yīng)的格式符號是%lf

      三、編程題

      1.參考代碼如下: #include void main(){

      int a=97;

      printf(“%cn”,a);

      printf(“%dn”,a);

      printf(“%on”,a);

      printf(“%xn”,a);} 程序分析:通過printf函數(shù)中不同的格式符號,即%c(字符),%d(十進制),%o(八進制),%x(十六進制)輸出相應(yīng)的值。2.參考代碼如下: #include void main(){

      int h,m,minute;

      scanf(“%d:%d”,&h,&m);

      minute=h*60+m;

      printf(“minute=%dn”,minute);} 程序分析:輸入形式為10:27,故scanf函數(shù)雙引號中兩個格式符號%d之間必須加入“:”。3.參考代碼如下: #include void main(){

      float r=6371000,s,v;

      s=4*3.1415926*r*r;

      v=3.1415926*4/3*r*r*r;

      printf(“s=%fnv=%f”,s,v);} 程序分析:C語言中的π不代表3.1415926,可以用各種常量的形式體現(xiàn)出來。4.參考代碼如下: #include void main(){

      int m100,m50,m20,m10,m5,m1,m;

      scanf(“%d”,&m);

      m100=m/100;

      m50=(m-m100*100)/50;

      m20=(m-m100*100-m50*50)/20;

      m10=(m-m100*100-m50*50-m20*20)/10;

      m5=(m-m100*100-m50*50-m20*20-m10*10)/5;

      m1=m-m100*100-m50*50-m20*20-m10*10-m5*5;

      printf(“%d元發(fā)工資,人名幣各票面的張數(shù)為:n”,m);

      printf(“100元的張數(shù):%dn”,m100);

      printf(“50元的張數(shù):%dn”,m50);

      printf(“20元的張數(shù):%dn”,m20);

      printf(“10元的張數(shù):%dn”,m10);

      printf(“5元的張數(shù):%dn”,m5);

      printf(“1元的張數(shù):%dn”,m1);} 程序分析:人民幣的面值分別為100元,50元,20元,10元,5元和1元,工資4367元除以100后得到的商就為100元張數(shù),余數(shù)再除以50,得到的商為50元的張數(shù),余數(shù)再除20,??,以此類推就會得出人民幣各面值相應(yīng)的張數(shù)。5.參考代碼如下: #include void main(){

      float r1,r2,r3,r;

      scanf(“%f%f%f”,&r1,&r2,&r3);

      r=r1*r2*r3/(r1*r2+r2*r3+r1*r3);

      printf(“三個電阻并聯(lián)后的總電阻為%fn”,r);} 程序分析:首先將計算并聯(lián)電阻值的公式變換一下;再就是考慮要保留小數(shù)位,故變量類型設(shè)置為實型,注意格式符號為%f。6.參考代碼如下: #include void main(){

      int x,a,b,c,d,y;

      scanf(“%d”,&x);

      a=x%10;

      b=x/10%10;

      c=x/100%10;

      d=x/1000;

      y=a*1000+b*100+c*10+d;

      printf(“%d逆置各位數(shù)后的值為%dn”,x,y);} 程序分析:1234除以10的余數(shù)就是4,商再除以10的余數(shù)就是3,1234除以100再除以10取余就是2,1234除以1000就是1。也可以用其他的表達式求出各位數(shù)值,例如輸入數(shù)據(jù)1234中的4,可以用公式a=x-d*1000-c*100-b*10來計算。7.參考代碼如下: #include void main(){

      float F,C;

      printf(“請輸入華氏溫度:”);

      scanf(“%f”,&F);

      C=5.0/9*(F-32);

      printf(“華氏溫度%f對應(yīng)的攝氏溫度為%fn”,F,C);} 程序分析:5/9的值為0,所以要寫成5.0/9,5/9.0或5.0/9.0,還要注意變量類型為實型,且對應(yīng)的格式符號為%f。8.參考代碼如下: #include void main(){

      char ch1,ch2,ch3;

      printf(“請輸入三個數(shù)字字符:”);

      scanf(“%c%c%c”,&ch1,&ch2,&ch3);

      printf(“將數(shù)字字符轉(zhuǎn)換為數(shù)字%d,%d,%dn”,ch1-'0',ch2-48,ch3-'0');} 程序分析:通過鍵盤輸入三個數(shù)字字符時要連續(xù)輸入,不要加任何分隔符號,例如121等,另外,數(shù)字字符輸出時遇到格式符號%d將輸出相應(yīng)數(shù)字字符的ASCII值,但任何一個數(shù)字字符的ASCII值減去字符0的ASCII值,再對應(yīng)%d格式符號輸出時,就是數(shù)字字符對應(yīng)的數(shù)字,例如'2'-'0'=2。

      9.不能得到指定的輸出結(jié)果,參考代碼如下: void main(){

      int a, b, c,x, y;

      scanf(“%d%d%d”,&a,&b,&c);

      x=a*b;

      y=x*c;

      printf(“a=%d,b=%d,c=%dn”,a,b,c);

      printf(“x=%d,y=%dn”,x,y);}

      程序分析:scanf(“%d,%d,%d”,a,b,c);scanf函數(shù)第二類形參是地址列表,所以語句改為scanf(“%d,%d,%d”,&a,&b,&c);而這個語句對應(yīng)的鍵盤輸入形式為2,3,4。為了滿足題目要求,scanf語句改為scanf(“%d%d%d”,&a,&b,&c)。另外,printf函數(shù)雙引號只能出現(xiàn)一對,且雙引號中需要在相應(yīng)的位置上添加a=等這樣的字符串才能原樣輸出;還有整型變量對應(yīng)格式符號是%d等。

      第三章

      一選擇題

      1.A 2.C 3.C 4.D 5.C 6.B 7.C 8.B 9.A 10.A 11.A 12.B 13.D 14.A 15.B 16.C 17.C 18.C 19.C 20.C 21.C 22.B 23.C 24.C 25.A 26.B 27.A 28.A 29.C 30.A 31.C 32.C 二.填空題 1.非零

      零 2.passwarm 3.525252 4.fabs(x)>5 5.x%y==0 6.if((1<=x&&x<=10||200<=x&&x<=210)&&x%2==1)printf(“%d”,x);7.k=1 8.Right!1

      Right!1 9.$$$ a=0 10.a=2,b=1 11.0

      “%f%f”

      a=b;13.“%c”,&ch

      'A'<=ch&&ch<='Z'

      ch 14.死循環(huán) 15.345 16.7 3-1 17.x>=0

      x

      j%3!=0 24.b=i+1 25.8 5 2 26.d=1.0

      k++ k<=n

      三、編程題

      1.參考代碼如下: #include void main(void){ float x,y;printf(“Please input the value of x:”);scanf(“%f”,&x);if(x>-5&&x<0)

      y=x;else if(x==0)

      y=x-1;else if(x>0&&x<10)

      y=x+1;printf(“y=%f”,y);} 2.參考代碼如下: #include void main(void){

      float a,b,c;

      printf(“請輸入三角形三邊的長度:n”);

      scanf(“%f%f%f”,&a,&b,&c);

      if(a+b>c&&b+c>a&&a+c>b)

      if(a==b&&a==c)

      printf(“該三角形是等邊三角形n”);

      else if(a==b&&a!=c)

      printf(“該三角形是等腰三角形n”);

      else

      printf(“該三角形是一般三角形n”);

      else

      printf(“不能構(gòu)成三角形n”);} 3.參考代碼如下: #include void main(void){

      float M,N,menoy;

      printf(“請輸入購買金額:”);

      scanf(“%f”,&M);

      if(M<100)

      N=0;

      else if(M>=100&&M<200)

      N=1.5;

      else if(M>=200&&M<300)

      N=2.5;

      else if(M>=300&&M<400)

      N=3.5;

      else if(M>=400&&M<500)

      N=4.5;

      else if(M>=500&&M<600)

      N=5.5;

      else

      N=6;

      menoy=M*(1-N/100);

      printf(“實際支付金額:%f,返還的金額:%fn”,menoy,M-menoy);} 4.參考代碼如下: #include void main(void){

      float M,N,menoy;

      int in;

      printf(“請輸入購買金額:”);

      scanf(“%f”,&M);

      in=M/100;

      switch(in)

      {

      case 0:N=0;break;

      case 1:N=1.5;break;

      case 2:N=2.5;break;

      case 3:N=3.5;break;

      case 4:N=4.5;break;

      case 5:N=5.5;break;

      default :N=6;break;

      }

      menoy=M*(1-N/100);

      printf(“實際支付金額:%f,返還的金額:%fn”,menoy,M-menoy);} 5.參考代碼如下: #include void main(void){

      float x,max;

      printf(“Enter a number:”);

      scanf(“%f”,&x);

      max=x;

      while(x>0)

      {

      printf(“Enter a number:”);

      scanf(“%f”,&x);

      if(x>max)

      max=x;

      }

      if(max>0)

      printf(“The largest number entered was %fn”,max);} 6.參考代碼如下: #include void main(void){

      float M,N,menoy;

      printf(“請輸入購買金額:”);

      scanf(“%f”,&M);

      while(M>0)

      {

      if(M<100)

      N=0;

      else if(M>=100&&M<200)

      N=1.5;

      else if(M>=200&&M<300)

      N=2.5;

      else if(M>=300&&M<400)

      N=3.5;

      else if(M>=400&&M<500)

      N=4.5;

      else if(M>=500&&M<600)

      N=5.5;

      else

      N=6;

      menoy=M*(1-N/100);

      printf(“實際支付金額:%f,返還的金額:%fn”,menoy,M-menoy);

      printf(“請輸入購買金額:”);

      scanf(“%f”,&M);

      } } 7.參考代碼如下: #include void main(void){

      float number,positivesum=0,negativesum=0,total=0;

      int i;

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

      {

      scanf(“%f”,&number);

      if(number>=0)positivesum+=number;

      else negativesum+=number;

      total+=number;

      }

      printf(“positive sum %f,negative sum %f,total %fn”,positivesum,negativesum,total);} 8.參考代碼如下: #include void main(void){

      int i,sum=0,k=1;

      for(i=1;i<=101;i+=2)

      {

      sum=sum+k*i;

      k=-k;

      }

      printf(“1-3+5-7+...-99+101=%dn”,sum);} 9.參考代碼如下: #include void main(void){

      float i,sum=0,k=1;

      for(i=1;k>=1e-4;i++)

      {

      sum=sum+k;

      k=k/i;

      }

      printf(“e=%fn”,sum);} 10.參考代碼如下: #include void main(void){

      float i,sum=0,n=2,d=1,temp;

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

      {

      sum=sum+n/d;

      temp=n;

      n=n+d;

      d=temp;

      }

      printf(“sum=%fn”,sum);} 11.參考代碼如下: #include #include void main(void){

      float apple,watermelon,pear;

      for(apple=1;apple<100;apple++)

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

      {

      pear=100-apple-watermelon;

      if(fabs(apple*0.4+watermelon*4+pear*0.2-40.0)<1e-6)

      printf(“apple:%.0f,watermelon:%.0f,pear:%.0fn”,apple,watermelon,pear);

      } }

      12.參考代碼如下: #include void main(void){

      int i,j,k;

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

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

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

      if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)

      printf(“%dn”,i*100+j*10+k);} 或:

      #include void main(void){

      int a,b,c,i;

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

      {

      a=i/100;

      b=i/10%10;

      c=i%10;

      if(i==(a*a*a+b*b*b+c*c*c))

      printf(“%dn”,i);

      } } 13.參考代碼如下: #include void main(void){

      int a,b,c,d;

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

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

      for(c=0;c<10;c++)

      for(d=0;d<10;d++)

      if(a*1000+b*100+c*10+d==(a*10+b+c*10+d)*(a*10+b+c*10+d))

      printf(“%dn”,a*1000+b*100+c*10+d);} 或:

      #include void main(void){

      int a,b,c,d,i;

      for(i=1000;i<10000;i++)

      {

      a=i/1000;

      b=i/100%10;

      c=i/10%10;

      d=i%10;

      if(i==(a*10+b+c*10+d)*(a*10+b+c*10+d))

      printf(“%dn”,i);

      } } 14.參考代碼如下: #include void main(void){

      int i,j;

      for(i=1;i<=4;i++)//先控制打印前4行

      {

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

      printf(“ ”);

      for(j=1;j<=2*i-1;j++)

      printf(“*”);

      printf(“n”);

      }

      for(i=1;i<=3;i++)//再控制打印后3行

      {

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

      printf(“ ”);

      for(j=1;j<=2*(4-i)-1;j++)

      printf(“*”);

      printf(“n”);

      } }

      第四章

      一選擇題

      1.A,如果沒有給s[1]賦值,按C語言規(guī)定,s[1]下標(biāo)變量中的數(shù)據(jù)是一個隨機數(shù)

      2.C,“China”字符串末尾還有一個