C语言程序设计(第四版)谭浩强版 课后答案 第四章 选择

4、

复制代码
#include<stdio.h>
int main(){
        int a,b,c;
        scanf("%d%d%d",&a,&b,&c);
        if(a>b){
                if(a>c){
                        printf("max num is :%d\n",a);
                }
                else
                        printf("max mun is:%d\n",c);
        }
        else{
                if(b>c)
                        printf("max num is:%d\n",b);
                else
                        printf("max num is:%d\n",c);
        }
        return 0;

}
复制代码

5、

复制代码
#include<stdio.h>
#include<math.h>
int main(){
        int a;
        scanf("%d",&a);
        while(a<=0||a>=1000){
                printf("Your input is illegal,please put again\n");
                scanf("%d",&a);
        }
        a = sqrt(a);
        printf("a sqrt :%d\n",a);
        return 0;

}
复制代码

 

6、

复制代码
#include<stdio.h>
int main(){
        int x,y;
        printf("please input x:");
        scanf("%d",&x);
        if(x<1)
                y = x;
        else if(x>=1&&x<10)
                y = 2*x-1;
        else
                y = 3*x-11;
        printf("y = %d\n",y);
        return 0;

}
复制代码

8、

复制代码
#include<stdio.h>
int main(){
        int grade;
        printf("Please input your score(0-100):");
        scanf("%d",&grade);
        if(grade>=90)
                printf("grade is A\n");
        else if(grade>=80)
                printf("grade is B\n");
        else if(grade>=70)
                printf("grade is C\n");
        else if(grade>=60)
                printf("grade is D\n");
        else
                printf("grade is E\n");

        return 0;

}
复制代码

9、

复制代码
#include<stdio.h>
int main(){
        int a,b,num,renum = 0,count = 0;
        scanf("%d",&a);
        num = a;
        while(num){
                num/=10;
                count++;
        }
        printf("The num length is:%d\n",count);
        while(count){
                b=a%10;
                printf("Every bit number is:%d\n",b);
                renum=renum*10+b;
                a/=10;
                count--;
        }
        printf("The reversed number is:%d\n",renum);
        return 0;
}
复制代码

10、

复制代码
#include<stdio.h>
int main(){
        long int a,p;
        scanf("%ld",&a);
        if(a>1000000)
                p = (a-1000000)*0.01+400000*0.015+200000*0.03+200000*0.05+100000*0.075+100000*0.1;
        else if(a>600000)
                p = (a-600000)*0.015+200000*0.03+200000*0.05+100000*0.075+100000*0.1;
        else if(a>400000)
                p = (a-400000)*0.03+200000*0.05+100000*0.075+100000*0.1;
        else if(a>20000)
                p = (a-200000)*0.05+100000*0.075+100000*0.1;
        else if(a>100000)
                p = (a-100000)*0.075+100000*0.1;
        else
                p = a*0.1;
        printf("profit is %ld\n",p);
        return 0;
}
复制代码

用switch把输入的数据比100000,从case(0)到case(10)defualt表示100w以上,case后面跟对应式子,并且输出,相应的选项做相应的值。

11、有点复杂,后期可能会改进。

复制代码
#include<stdio.h>
int main(){
        int a,b,c,d;
        scanf("%d%d%d%d",&a,&b,&c,&d);
        if(a>b)
                if(a>c)
                        if(a>d)
                                printf("max:%d\n",a);
                        else
                                printf("max:%d\n",d);
                else
                        if(c>d)
                                printf("max:%d\n",c);
                        else
                                printf("max:%d\n",d);
        else
                if(b>c)
                        if(b>d)
                                printf("max:%d\n",b);
                        else
                                printf("max:%d\n",d);
                else
                        if(c>d)
                                printf("max:%d\n",c);
                        else
                                printf("max:%d\n",d);
        return 0;
复制代码

12、一开始理解成圆锥形的塔,看了别人的解析才知道是圆柱形的塔

复制代码
void calculate(double x, double y)
{
    if (1 <= x && x <= 3 && 1 <= y && y <= 3)
    {        
        x = abs(x) - 2; 
        y = abs(y) - 2;
        double r = sqrt(x * x + y * y);
        if (r <= 1)
        {
            printf("该点坐标高度为10\n");
        }
        else
            printf("该点坐标高度为0\n");
    }
    else
    {
        printf("该点坐标高度为0\n");
    }
 
}
int main()
{
    while (1)
    {
        double x, y;
        printf("请输入x和y点的坐标:>");
        scanf("%lf %lf", &x, &y);
        calculate(fabs(x), fabs(y));
    }
    return 0;
}
复制代码

 

posted @   风中凌乱的猪头  阅读(261)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示