丰满少妇女人a毛片视频-酒色成人网-日韩欧美一-日韩精品一区二区av在线观看-成人久久免费-欧美精品一二三四区-国产午夜免费-亚洲男人第一天堂-一区二区三区福利视频-午夜激情影院-av中文天堂在线-免费一区二区-欧美日韩xxx-91区视频-亚洲另类激情专区小说图片-黄色的网站在线观看-香蕉精品在线

高分網(wǎng) > 答案大全 > 作業(yè)答案 > 課后作業(yè)答案 >

C語言程序設(shè)計第二版課后習(xí)題答案(2)

時間: 春燕2 課后作業(yè)答案

  C語言程序設(shè)計第四章 選擇結(jié)構(gòu)程序設(shè)計

  一、略

  二、B B A B C B A

  三、1. 1 0

  2. 2 3 2 2

  3. 10 20 0

  4. ch>=’A’&&ch<=’Z’||ch>=’a’&&ch<=’z’

  ch>=’0’&&ch<=’9’

  ch==’ ’

  5. -1

  四、上機操作

  1. 從鍵盤輸入一個英文字母,如果是大寫字母,則將它變?yōu)樾懽帜篙敵?如果是小寫字母,則將其變?yōu)榇髮懽帜篙敵觥?/p>

  #include

  main()

  {char ch;

  ch=getchar();

  if(ch>='A'&&ch<='Z') ch+=32;

  else if(ch>='a'&&ch<='z') ch-=32;

  putchar(ch);

  putchar('\n'); }

  2. 根據(jù)輸入的x值依據(jù)下列表達式,計算y的值。

2x (x>-1)

  y = 3 (x=-1)

  4+x (x<-1)

  解:

  main()

  {

  float x,y;

  scanf("%f",&x);

  if(x>-1)

  y=2*x;

  else if(x==1)

  y=3;

  else y=4+x;

  printf("y=%f",y);

  }

  本程序運行結(jié)果為:

  -2

  y=2.000000

  3.編寫程序,輸入一個整數(shù),判斷它是奇數(shù)還是偶數(shù),若是奇數(shù),輸出“Is Odd“;若是偶數(shù),輸出“Is Even“。

  main()

  { int x;

  scanf("%d",&x);

  if(x%2==0) printf("Is Even\n");

  else printf("Is Odd\n"); }

  4.設(shè)計應(yīng)用程序,求二次方程ax2+bx+c=0的解。

  #include

  main()

  { float a,b,c,disc,x1,x2,p,q;

  scanf("%f,%f,%f",&a,&b,&c);

  if(fabs(a)<=1e-6) printf(" The equation is not a quadratic\n");

  else

  { disc=b*b-4*a*c;

  if(fabs(disc)< 1e-6) printf("x1=x2=%8.4f\n",-b/(2*a));

  else if(disc>1e-6)

  {x1=(-b+sqrt(disc)/(2*a));

  x2=(-b-sqrt(disc)/(2*a));

  printf("x1=%8.4f,x2=%8.4f\n",x1,x2); }

  else

  { p=-b/(2*a);

  q=sqrt(-disc/(2*a));

  printf("%8.4f+%x8.4fi\n",p,q);

  printf("%8.4f-%8.4fi\n",p,q);} } }

  5.按托運規(guī)則,行李不超過50公斤時,運費為0.15元/公斤,如超過50公斤,超過部分的運費為0.22元/公斤,現(xiàn)有行李w公斤,編寫一個程序計算運費。

  解:

  #include

  main()

  {

  float w,f,x;

  printf("weight:");

  scanf("%f",&w);

  if(w<=50)

  x=0.15*w;

  else

  x=0.15*50+0.22*(w-50);

  printf("money:%6.2f yuan\n",x);

  }

  本程序運行結(jié)果為:

  weight:20

  money:3.00 yuan

  weight:60

  money:9.70 yuan

  6. 某商場給與顧客購物的折扣率如下:

  購物金額<200元 不打折

  500元>購物金額>=200元 9折

  1000元>購物金額>=500元 8折

  購物金額>=1000元 7.5折

  輸入一個購物金額,輸出打折率、購物實際付款金額。

  #include

  main()

  { float x,y,realx;

  scanf("%f",&x);

  if(x<=0) { printf("Error! You input a worry number!\n"); y=0;}

  else

  { if(x<200) y=1.0;

  else if(x<500) y=0.9;

  else if(x<1000) y=0.8;

  else y=0.75;}

  if(y!=0)

  {realx=x*y;

  printf("y=%f, the realx=%5.2f\n", y,realx);} }

  項目實訓(xùn)

  某托兒所收2歲到6歲的孩子,2歲、3歲孩子進小班(Lower class);4歲孩子進中班(Middle class);5歲、6歲孩子進大班(Higher class)。編寫程序(用if語句和switch語句),輸入孩子年齡,輸出年齡及進入的班號。如:輸入:3,輸出:age:3,enter Lower class。

  #include

  main()

  { int age;

  printf("Please input your baby's age:");

  scanf("%d",&age);

  if(age>6||age<2) printf("Sorry,your baby can't enter!");

  else switch(age);

  {case 2:

  case 3: printf("age:%d,enter Lower class\n",age); break;

  case 4: printf("age:%d,enter Middle class\n",age);break;

  case 5:

  case 6: printf("age:%d,enter Higher class",age);break; } }

  C語言程序設(shè)計第五章 循環(huán)結(jié)構(gòu)程序設(shè)計

  一、選擇題

  C C A A D D

  三、操作題

  1.求s=1+3+5+7+…100的值。

  #include "stdio.h"

  main()

  {

  int i,sum=0;

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

  sum=sum+i;

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

  }

  2. 輸入班級學(xué)生考試成績,求考試平均成績。約定當(dāng)輸入負(fù)數(shù)時,表示輸入結(jié)束。

  main()

  { float sum=0,score,ave;

  int n=0;

  scanf("%f",&score);

  while(score>0)

  { n++;

  sum=sum+score;

  scanf("%f",&score); }

  ave=sum/n;

  printf("\nThe average score is%.2f",ave); }

  3.輸入一行字符以@作結(jié)束標(biāo)志,分別統(tǒng)計其中英文字母、空格、數(shù)字和其它字符的個數(shù)。

  #include "stdio.h"

  main()

  { char ch;

  int cha=0,space=0,digit=0,other=0;

  while((ch=getchar())!='@')

  { if (ch>='a'&&ch<='z'||ch>='A'&&ch<='Z') cha++;

  else if (ch==' ') space++;

  else if (ch>='0'&&ch<='9') digit++;

  else other++; }

  printf("\ncha=%d,space=%d,digit=%d,other=%d",cha,space,digit,other); }

  4.一張紙的厚度為0.1毫米,珠穆瑯瑪峰的高度為8848.13米,假如紙張有足夠大,將紙對折多少次后可以超過珠峰的高度?

  main()

  { float h=8848.13,h0=0.0001,h1;

  int m=0;

  h1=h0;

  while(h0<=h)

  { h0=2*h0;

  printf("\n m=%d,high=%f",m,h0);

  m++; }

  printf("\n m=%d\n",m-1);}

  5、 編寫一個程序求出滿足下列條件的四位數(shù),該數(shù)是一個完全平方數(shù);第一、三位上數(shù)之和為10,第二、四位上數(shù)之積為12。

  解:

  #include

  main()

  {

  int i,j,a,b,c,d;

  for(i=32;i<=99;i++)

  {

  j=i*i;

  a=j/1000;

  b=j/100-a*10;

  c=j/10-a*100-b*10;

  d=j-a*1000-b*100-c*10;

  if(a+c==10&&b*d==12)

  printf("%d ",j);

  }

  }

  本程序運行結(jié)果為:

  1296 9216

  6、 一個正數(shù)與3的和是5的倍數(shù),與3的差是6的倍數(shù),編寫一個程序求符合條件的最小數(shù)。

  解:

  #include

  main()

  {

  int n;

  n=1;

  while(1)

  {

  n=n+1;

  if((n+3)%5==0&&(n-3)%6==0)break;

  }

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

  }

  本程序運行結(jié)果為:

  n=27

  7、 已知xyz+yzz=532,其中x、y、z都是數(shù)字,編寫一個程序求出x、y、z分別是多少。

  解:

  #include

  main()

  {

  int x,y,z,i;

  for(x=1;x<=9;x++)

  for(y=1;y<=9;y++)

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

  {

  i=100*x+10*y+z+100*y+10*z+z;

  if(i==532) printf("x=%d,y=%d,z=%d\n",x,y,z);

  }

  }

  本程序運行結(jié)果為:

  x=3,y=2,z=1

  8、學(xué)校有近千名學(xué)生排隊,5人一行余2人,7人一行余3人,3人一行余1人,求學(xué)生人數(shù)。

  解:

  #include

  main()

  {

  int n;

  for(n=1000;n>=10;n--)

  if(n%5==2&&n%7==3&&n%3==1)break;

  printf("n=%d\n",n);

  }

  本程序運行結(jié)果為:

  n=997

  9.驗證歌德巴赫猜想:任意一個大于6的偶數(shù)均可表示為兩個質(zhì)數(shù)的和。

  #include

  main()

  { int i,x;

  int p,q,k1,k2;

  printf("Please input an odd data(>=6):");

  scanf("%d",&x);

  for(p=3;p<=x/2;p+=2)

  {k1=k2=1;

  q=x-p;

  if(p>2)

  for(i=2;i

  if(p%i==0) k1=0;

  for(i=2;i

  if(q%i==0) k2=0;

  if(k1==1&&k2==1) printf("%d=%d+%d\n",x,p,q); }}

  10.一個數(shù)恰好等于它的平方數(shù)的右端,這個數(shù)稱為同構(gòu)數(shù) 。如 :5的平方是25,25的平方是625。找出1~1000之間的全部同構(gòu)數(shù) 。

  #include "math.h"

  main()

  { int i,j,k=0;

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

  { if (i/10==0) j=1; /*因為i是整型,所以是整除*/

  else if (i/100==0) j=2;

  else if (i/1000==0) j=3;

  if ((long int)i*i%(int)pow(10,j)==i) /*同構(gòu)數(shù)的定義*/

  { k++; /* 計數(shù)器*/

  printf("%10d",i);

  if (k%5==0) printf("\n"); } }

  printf("\nk=%d",k); }

  項目實訓(xùn)

  1. 編寫程序求1-1/2+1/3-1/4+…+1/99-1/100的值

  #include "stdio.h"

  main()

  {

  int i, s=-1;

  float sum=1.0;

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

  sum=sum+1.0*s/i;

  printf("sum=%f",sum);

  }

  2.曾有一位印度國王要獎賞他的聰明能干的宰相達依爾。達依爾只要求在國際象棋的棋盤格上放置小麥粒,第一格放1粒,第二格放兩粒,第三格放4粒,第四格放8粒,……,最后能有多少小麥粒呢?

  main()

  { float i ,s=1,t=1;

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

  { t*=2;

  s+=t; }

  printf("s=%f\n",s);}

  3.打印水仙花數(shù),即一個三位數(shù)各位上的數(shù)字之和等于它本身,如:153=13+53+33 。

  main()

  {int k1,k2,k3,i;

  for (k1=1;k1<=9;k1++)

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

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

  { i=k1*k1*k1+k2*k2*k2+k3*k3*k3;

  if (i==k1*100+k2*10+k3)

  printf("\n%d=%d^3+%d^3+%d^3",i,k1,k2,k3); }}

  4.編制電視歌手大獎賽評分程序,要求評委人數(shù)和每位評委的打分從鍵盤輸入,去掉一個最高分,再去掉一個最低分,求評委給出的最后得分。

  main()/* TV大獎賽 */

  {int n,i=1;

  float x,max,min,sum=0;

  printf("\nPlease input the number of score:");

  scanf("%d",&n);

  printf("\nInput score:");

  scanf("%f",&x);

  max=x;min=x;sum=x;

  while (i

  { i++;

  scanf("%f",&x);

  sum+=x;

  if (max

  else if (x

  sum=(sum-max-min)/(n-2);

  printf("The last score is%8.2f\n",sum);}

  5.打印下列圖形。

  * * * * *

  * * * * *

  * * * * *

  * * * * *

  * * * * *

  main()

  { int i,j;

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

  { for (j=1;j<=5-i;j++)

  printf ( " ");

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

  printf (" *");

  printf("\n"); }}

23306 墨玉县| 志丹县| 浑源县| 四川省| 浦北县| 镇平县| 同仁县| 略阳县| 通河县| 贡嘎县| 太保市| 贡嘎县| 女性| 西丰县| 德昌县| 开鲁县| 东明县| 眉山市| 麦盖提县| 太湖县| 桐城市| 新营市| 金阳县| 济源市| 唐山市| 德格县| 工布江达县| 保德县| 永丰县| 乌鲁木齐县| 阿勒泰市| 岳池县| 锡林郭勒盟| 太保市| 东莞市| 神农架林区| 乡城县| 盈江县| 黄骅市| 平湖市| 蓝山县|