Loading...
  所在位置:论坛首页 -> 计算机科学与技术 -> 程序设计 -> c语言习题答案(4章,新版第5章)(潭浩强,清华出版社)
回复

c语言习题答案(4章,新版第5章)(潭浩强,清华出版社)

作者:pp 时间:2007-12-15 14:32:17 收藏 编辑

第四章
4.3
(1)0  (2)1  (3)1  (4)0  (5)1

4.4
main()
{int a,b,c;
 scanf("%d,%d,%d",&a,&b,&c);
 if(a<b)
   if(b<c)
     printf("max=%d\n",c);
   else
     printf("max=%d\n",b);
 else if(a<c)
     printf("max=%d\n",c);
 else
     printf("max=%d\n",a);
}
main()
{int a,b,c,temp,max;
 scanf("%d,%d,%d",&a,&b,&c);
 temp=(a>b)?a:b;
 max=(c>temp)?c:temp;
 printf("max=%d",max);
}
 
4.5
main()
{int x,y;
 scanf("%d",&x);
 if(x<1)y=x;
 else if(x<10)y=2*x-1;
 else y=3*x-11;
 printf("y=%d",y);
}

4.6
main()
{int score,temp,logic;
 char grade;
 logic=1;
 while(logic)
   {scanf("%d",&score);
    if(score>=0&&score<=100)logic=0;
   }
 if(score==100)
   temp=9;
 else
   temp=(score-score%10)/10;
 switch(temp)
   {case 9:grade='A';break;
    case 8:grade='B';break;
    case 7:grade='C';break;
    case 6:grade='D';break;
    case 5:
    case 4:
    case 3:
    case 2:
    case 1:
    case 0:grade='E';
   }
 printf"score=%d,grade=%c",score,grade);
}

4.7
main()
{long int num;
 int indiv,ten,hundred,thousand,ten_thousand,place;
 scanf("%ld",&num);
 if(num>9999) place=5;
 else if(num>999) place=4;
 else if(num>99) place=3;
 else if(num>9) place=2;
 else place=1;
 printf("place=%d\n",place);
 ten_thousand=num/10000;
 thousand=(num-ten_thousand*10000)/1000;
 hundred=(num-ten_thousand*10000-thousand*1000)/100;
 ten=(num-ten_thousand*10000-thousand*1000-hundred*100)/10;
 indiv=num-ten_thousand*10000-thousand*1000-hundred*100-ten*10;
 switch(place)
   {case 5:printf("%d,%d,%d,%d,%d\n",ten_thousand,thousand,hundred,ten,indiv);
           printf("%d,%d,%d,%d,%d\n",indiv,ten,hundred,thousand,ten_thousand);
           break;
    case 4:printf("%d,%d,%d,%d\n",thousand,hundred,ten,indiv);
           printf("%d,%d,%d,%d\n",indiv,ten,hundred,thousand);
           break;
    case 3:printf("%d,%d,%d\n",hundred,ten,indiv);
           printf("%d,%d,%d\n",indiv,ten,hundred);
           break;
    case 2:printf("%d,%d\n",ten,indiv);
           printf("%d,%d\n",indiv,ten);
           break;
    case 1:printf("%d\n",indiv);
           printf("%d\n",indiv);
    }
}

4.8
main()
{long i;
 float bonus,bon1,bon2,bon4,bon6,bon10;
 bon1=100000*0.1;
 bon2=bon1+100000*0.075;
 bon4=bon2+200000*0.05;
 bon6=bon4+200000*0.03;
 bon10=bon6+400000*0.015;
 scanf("%ld",&i);
 if(i<=1e5)bonus=i*0.1;
 else if(i<=2e5)bonus=bon1+(i-100000)*0.075;
 else if(i<=4e5)bonus=bon2+(i-200000)*0.05;
 else if(i<=6e5)bonus=bon4+(i-400000)*0.03;
 else if(i<=1e6)bonus=bon6+(i-600000)*0.015;
 else bonus=bon10+(i-1000000)*0.01;
 printf("bonus=%10.2f",bonus);
}
main()
{long i;
 float bonus,bon1,bon2,bon4,bon6,bon10;
 int branch;
 bon1=100000*0.1;
 bon2=bon1+100000*0.075;
 bon4=bon2+200000*0.05;
 bon6=bon4+200000*0.03;
 bon10=bon6+400000*0.015;
 scanf("%ld",&i);
 branch=i/100000;
 if(branch>10)branch=10;
 switch(branch)
 {case 0:bonus=i*0.1;break;
  case 1:bonus=bon1+(i-100000)*0.075;break;
  case 2:
  case 3:bonus=bon2+(i-200000)*0.05;break;
  case 4:
  case 5:bonus=bon4+(i-400000)*0.03;break;
  case 6:
  case 7
  case 8:
  case 9:bonus=bon6+(i-600000)*0.015;break;
  case 10:bonus=bon10+(i-1000000)*0.01;
  }
 printf("bonus=%10.2f",bonus);
}
 
4.9
main()
{int t,a,b,c,d;
 scanf("%d,%d,%d,%d",&a,&b,&c,&d);
 if(a>b){t=a;a=b;b=t;}
 if(a>c){t=a;a=c;c=t;}
 if(a>d){t=a;a=d;d=t;}
 if(b>c){t=b;b=c;c=t;}
 if(b>d){t=b;b=d;d=t;}
 if(c>d){t=c;c=d;d=t;}
 printf("%d  %d  %d  %d\n",a,b,c,d);
}

4.10
main()
{int h=10;
 float x,y,x0=2,y0=2,d1,d2,d3,d4;
 scanf("%f,%f",&x,&y);
 d1=(x-x0)*(x-x0)+(y-y0)*(y-y0);
 d2=(x-x0)*(x-x0)+(y+y0)*(y+y0);
 d3=(x+x0)*(x+x0)+(y-y0)*(y-y0);
 d4=(x+x0)*(x+x0)+(y+y0)*(y+y0);
 if(d1>1&&d2>1&&d3>1&&d4>1)h=0;
 printf("h=%d",h);
}

高级回复

操作选项: 评分 加精 解精 奖惩 设专题 设公告 解公告 固顶 总固顶 解固顶 结帖 解结帖 锁帖 解锁 移帖 删帖
  首页
Copyright 2006-2012 HistoryCreator.com Powered By: BBSGood 5
吉ICP备06005902号