C语言实验03_判断语句

C语言实验03_判断语句

实验03(01)求分段函数的值

题目描述
有一函数如下:
当 x<1 时,y 的值为:lgx;
当 1=<x<6 时,y 的值为:(2x+3)的 1/2 次方;
当 x>=6 时,y 的值为:(x 的 5 次方)+(x 的 3 次方)* 3
用 scanf 函数从键盘输入 x 的值,求 y 的值。
输入描述
从键盘输入一个 x 的值
输出描述
根据函数关系,输出 y 的值
输入样例
//以下为多数组测试数据
0
0.5
1
6
输出样例
//以下为多组数据的对应测试结果
error!(英文符号)
y=-0.3010
y=2.2361
y=8424.0000
#include <math.h>
int main()
{
    
    
    double x, y;
    scanf("%lf", &x);txt
    if (x <= 0)
    {
    
    
        printf("error!\n");
    }
    else
    {
    
    
        if (x < 1)
        {
    
    
            y = log10(x);
        }
        else if (x >= 1 && x < 6)
        {
    
    
            y = pow(2 * x + 3, 1.0 / 2);
        }
        else if (x >= 6)
        {
    
    
            y = pow(x, 5) + 3 * pow(x, 3);
        }
        printf("y=%0.4lf\n", y);
    }
    return 0;
}

实验03(02)简单计算器程序

题目描述
简单计算器程序。要求根据用户从键盘输入的表达式:
操作数 1 运算符 OP 操作数 2
计算表达式的值,指定的算术运算符为加(+)、减(-)、乘(* )、除(/),
输出计算结果。要求 用 switch 语句实现以上功能。
如,输入: 3+2↙
输出:5
输入描述
操作数 1 运算符 OP 操作数 2
指定的算术运算符为加(+)、减(-)、乘(* )、除(/)
如输入:3+2↙
提示:操作数定义为实型数据
输出描述
输出表达式的值,如:3.00+2.00=5.0000
输入样例
//以下为多组测试数据
4+90
78-54
78* 3
50/3
50/0
3a4
输出样例
//以下为多组测试数据对应的输出结果
4.00+90.00=94.0000
78.00-54.00=24.0000
78.00* 3.00=234.0000
50.00/3.00=16.6667
出错,除数为零?(中文符号)
不是四则运算式
#include <stdio.h>
int main()
{
    
    
    double a, b, sum;
    char c;
    scanf("%lf%c%lf", &a, &c, &b);
    if (c == '+' || c == '-' || c == '*' || c == '/')
    {
    
    
        switch (c)
        {
    
    
        case '+':
            sum = a + b;
            printf("%.2lf%c%.2lf=%.4lf\n", a, c, b, sum);
            break;
        case '-':
            sum = a - b;
            printf("%.2lf%c%.2lf=%.4lf\n", a, c, b, sum);
            break;
        case '*':
            sum = a * b;
            printf("%.2lf%c%.2lf=%.4lf\n", a, c, b, sum);
            break;
        case '/':
        {
    
    
            if (b == 0)
            {
    
    
                printf("出错,除数为零?\n");
            }
            else
            {
    
    
                sum = 1.0 * a / b;
                printf("%.2lf%c%.2lf=%.4lf\n", a, c, b, sum);
                break;
            }
        }
        default:
            break;
        }
    }
    else
    {
    
    
        printf("不是四则运算式\n");
    }
    return 0;
}

实验03(03)输入一个正整数,判断为星期几

题目描述
用 scanf 函数输入一个天数(正整数),根据这个天数与 7 的余数来判断属于星期几。余数 1
为星期一,2 为星期二,3 为星期三,4 为星期四,5 为星期五,6 为星期六,0 为星期日,
当输入的数字小于等于 0 提示“错误!请重新运行程序!”。
输入描述
用 scanf 函数从键盘输入一个天数
输出描述
输出星期几
输入样例
//以下为多组测试数据
-1
8
0
14
输出样例
//以下为多组数据对应的测试结果
错误!请重新运行程序! (英文符号)
星期一
错误!请重新运行程序! (英文符号)
星期日
#include <stdio.h>
int main()
{
    
    
    int a, b;
    scanf("%d", &a);
    if (a <= 0)
    {
    
    
        printf("错误!请重新运行程序!\n");
    }
    else
    {
    
    
        b = a % 7;
        switch (b)
        {
    
    
        case 0:
            printf("星期日\n");
            break;
        case 1:
            printf("星期一\n");
            break;
        case 2:
            printf("星期二\n");
            break;
        case 3:
            printf("星期三\n");
            break;
        case 4:
            printf("星期四\n");
            break;
        case 5:
            printf("星期五\n");
            break;
        case 6:
            printf("星期六\n");
            break;
        default:
            break;
        }
    }
    return 0;
}

实验03(04)输入年份,判断该年是否为闰年

题目描述
输入年号,判断并输出该年是否为闰年。
输入描述
从键盘输入一个整数
输出描述
判断是否为闰年
输入样例
//以下为多组测试数据
1990
2004
输出样例
//以下为多组数据对应的输出结果
1990 年不是闰年
2004 年是闰年
#include <stdio.h>
int main()
{
    
    
    int year, leap;
    scanf("%d", &year);
    if (year % 400 == 0)
    {
    
    
        leap = 1;
    }
    else
    {
    
    
        if (year % 4 == 0 && year % 100 != 0)
        {
    
    
            leap = 1;
        }
        else
        {
    
    
            leap = 0;
        }
    }
    if (leap == 1)
    {
    
    
        printf("%d 年是闰年\n", year);
    }
    else
    {
    
    
        printf("%d 年不是闰年\n", year);
    }
    return 0;
}

实验03(05)三个整数按由小到大排序

题目描述
从键盘输入 3 个整数,要求按由小到大输出
输入描述
三个整数
输出描述
由小到大排列的三个整数
输入样例
45,73,90(英文逗号)
输出样例
从小到大的顺序:45,73,90(英文标点)
#include <stdio.h>
int main()
{
    
    
    int a, b, c, t;
    scanf("%d,%d,%d", &a, &b, &c);
    if (a < b)
    {
    
    
        t = a;
        a = b;
        b = t;
    }
    if (a < c)
    {
    
    
        t = a;
        a = c;
        c = t;
    }
    if (b < c)
    {
    
    
        t = b;
        b = c;
        c = t;
    }
    printf("从小到大的顺序:%d,%d,%d\n", c, b, a);
    return 0;
}

实验03(06)高速公路超速处罚

题目描述
按照规定,在高速公路上行驶的小型车,超出本车道限速 10%以下的(不包括 10%,下同),
处警告; 超速 10%低于 20%的,罚款 200 元,扣 3 分; 超速 20%低于 50%的,罚款 500 元,
扣 6 分; 超速 50%的,罚款 1000 元,一律吊销机动车驾驶证。
请编程判断如何对驾驶员进行处罚。
输入:高速公路上机动车车速与车道限速值,根据超速情况输出“正常车速”、“警告,你已
超速”、“超速,罚款 200 元,扣 3 分”、“超速,罚款 500 元,扣 6 分”、“超速,罚款 1000
元,吊销驾驶证”
提示:超速百分比=(车速-限速值)/限速值×100
输入描述
高速公路上机动车车速与车道限速值
输出描述
根据超速情况输出相应的处理
输入样例
120,80(英文逗号)
输出样例
超速,罚款 1000 元,吊销驾驶证
#include <stdio.h>
int main()
{
    
    
    int a, b;
    double x;
    scanf("%d,%d", &a, &b);
    x = 1.0 * (a - b) / b;
    if (a < b)
    {
    
    
        printf("正常车速\n");
    }
    else
    {
    
    
        if (x > 0 && x < 0.1)
        {
    
    
            printf("警告,你已超速\n");
        }
        else if (x < 0.2)
        {
    
    
            printf("超速,罚款 200 元,扣 3 分\n");
        }
        else if (x < 0.5)
        {
    
    
            printf("超速,罚款 500 元,扣 6 分\n");
        }
        else
        {
    
    
            printf("超速,罚款 1000 元,吊销驾驶证\n");
        }
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_44179485/article/details/112715486