C语言程序设计 练习题参考答案 第三章 (2) 选择结构

/* 3.6 求3个数中最大值。类似于例 1.2*/
#include <stdio.h>
void main( )
{
    int a, b, c, max;
    printf("\n 请输入3个整数,整数以空格分隔:\n");
    scanf("%d%d%d",&a,&b,&c);
    if(a>b)     max=a;
    else     max=b;
    if(max<c)  max=c;
    printf("最大值是%d\n",max);    
}

/*3.6 求3个数中最大值。类似于例 1.2*/
#include <stdio.h>
void main( )
{
    int a, b, c, max;
    printf("\n 请输入3个整数,整数以空格分隔:\n");
    scanf("%d%d%d",&a,&b,&c);
    max=a>b?a:b;
    max=max>c?max:c;
    printf("最大值是%d\n",max);    
}

/*3.7 输入x求y的值。类似于例 3.13, 也可以用switch语句*/
#include <stdio.h>
#include <math.h>
void main( )
{
 float x, y;
 printf("\n 请输入一个实数:\n");
 scanf("%f",&x);
    if( x>=0 && x<10)
            y=sin(x);
    if( x>=10 && x<20)
            y=cos(x);
    if( x>=20 && x<30)
            y=exp(x)-1;
    if( x>=30 && x<40)
            y=log(x+1);
    if( x<0 || x>=40)
          printf("无定义");
    else
          printf("y=%f\n",y);    
}
/*3.7 输入x求y的值。类似于例 3.13,解法二*/
#include <stdio.h>
#include <math.h>
void main( )
{
 float x, y;
 printf("\n 请输入一个实数:\n");
 scanf("%f",&x);

if(x>0 && x<=40)
      switch( (int)(x/10))
      {
       case 0: y=sin(x); printf("y=%f\n",y); break;     
       case 1: y=cos(x); printf("y=%f\n",y); break;     
       case 2: y=exp(x)-1; printf("y=%f\n",y); break;     
       case 3: y=log(x+1); printf("y=%f\n",y); break;     
      } 

else

    printf("无定义");
}

/*3.7 输入x求y的值。解法三*/

# include<stdio.h>
# include<math.h>
void main()
{
      float x,y;
      scanf("%f",&x);
       if(x<0 || x>=40)
             printf ("无定义\n");
        else if(x>30)
             y=log(x+1);
        else if(x>20) 
                y=exp(x)-1;
        else if(x>10) 
                y=cos(x);
        else
                y=sin(x);
    if(x>=0 && x<40)
     printf ("y=%f\n",y); 
}

 /*  3.8 输入一个百分制成绩,给出提示, 类似于例3.14,也可以用switch语句*/

#include "stdio.h"
void main()
{
    int score;
    printf("请输入一个分数(整数),示例 85\n");
    scanf("%d",&score);
    if(score>=90 && score<=100)
        printf("excellent\n");
    if(score>=80 && score<=89)
        printf("good\n");
    if(score>=70 && score<=79)
        printf("middle\n");
    if(score>=60 && score<=69)
        printf("pass\n");
    if(score<60)
        printf("fail\n");

}

posted @ 2008-04-19 19:58  emanlee  阅读(...)  评论(... 编辑 收藏