C言語実験02_入力と出力2

C言語実験02_入力と出力2

実験02(01)式の値のプログラミング

已知 x=1,5,y=2.8,编程求下列表达式的值
sqrt(x+2y)-e^(3x)+|x|
说明:sqrt(x+2y)为 x+2y 的平方根,|x|为 x 的绝对值
e^(3x)为 e 的 3x 次方
输入描述
从键盘输入 x,y 的值
输出描述
表达式的值
输入样例
1.5 2.8
输出样例
-85.852549
#include <stdio.h>
#include <math.h>
int main()
{
    
    
    double x, y, s;
    scanf("%lf%lf", &x, &y);
    s = sqrt(x + 2 * y) - exp(3 * x) + fabs(x);
    printf("%lf\n", s);
    return 0;
}

実験02(02)ファブ

已知双精度实型变量 x=1.5,编程计算下列表达式的值:
1/2sin25(度)+x^2cos30(度)
说明:此处 x^2 表示 x 的平方,PI 值取 3.1415926
x 的值从键盘输入
注意:sin25、cos30:度数必须转换为弧度
输入描述
输入 x 的值
输出描述
表达式的值
输入样例
1.5
输出样例
2.159866
#include <stdio.h>
#include <math.h>
#define PI 3.1415926
int main()
{
    
    
    double x, y;
    scanf("%lf", &x);
    y = 1.0 / 2 * sin(25.0 / 180 * PI) + x * x * cos(30.0 / 180 * PI);
    printf("%lf\n", y);
    return 0;
}

実験02(03)返済の月数を計算する

题目描述
购房时从银行贷了一笔款 d,准备每月还款额为 p,月利率为 r,计算多少月能还清。对求
得的月份取小数点后一位,对第 2 位按四舍五入处理。d, p, r 从键盘输入
提示:计算还清月数的公式如下:
m = [logp-log(p-d * r)]/log(1+r)
说明:C 库函数中有求对数的函数 log10,求以 10 为底的对数,log10(p)表示 logp
输入描述
输入贷款额、每月还款额及月利率
输出描述
还款月数
输入样例
300000 6000 0.01
输出样例
还款月数为:69.7(中文冒号)
#include <stdio.h>
#include <math.h>
int main()
{
    
    
    double d, p, r, m;
    scanf("%lf%lf%lf", &d, &p, &r);
    m = (log10(p) - log10(p - d * r)) / log10(1 + r);
    printf("还款月数为:%.1lf\n", m);
    return 0;
}

実験02(04)ケース変換

题目描述
从键盘输入一个字符,若为大写英文字母,则将其转换为小写英文字母,否则不转换,输出
最后得到的字符及其十进制 ASCII 码值。
输入描述
一个字符
输出描述
最后得到的字符及其十进制 ASCII 码值
输入样例
A
输出样例
a,97(英文逗号)
#include <stdio.h>
int main()
{
    
    
    char x;
    scanf("%c", &x);
    if (x >= 'A' && x <= 'Z')
    {
    
    
        x = x + 32;
    }
    printf("%c,%d\n", x, x);
    return 0;
}

実験02(05)釣り?日焼け止め

题目描述
中国有句俗语叫“三天打鱼两天晒网”。某人从某天起,开始“三天打鱼两天晒网”,问这个
人在以后的第 n 天是“打鱼”还是“晒网”?n 从键盘输入。
提示:分析“三天打鱼两天晒网”的周期
输入描述
一个整数:天数
输出描述
该人在该天是在打鱼还是晒网
输入样例
//以下为两组测试数据
56
129
输出样例
//以下为两组数据的输出
打鱼
晒网
#include <stdio.h>
int main()
{
    
    
    int x;
    scanf("%d", &x);
    if (x % 5 == 1 || x % 5 == 2 || x % 5 == 3)
    {
    
    
        printf("打鱼\n");
    }
    else
    {
    
    
        printf("晒网\n");
    }
    return 0;
}

実験02(06)三角形の判断と周囲の面積の発見

题目描述
平面上已知坐标的任意三个点 A(x1,y1)、B(x2,y2)、C(x3,y3),检验它们能否构成三角形。若
不能,则输出“这三点不能构成三角形!”;若能,则输出其三角形的周长和面积。结果保留
三位有效数字。
提示:先求出三边长,判断能否构成三角形;能,则由海伦公式求出三角形面积。
输入描述
输入一组数据:三个点的坐标
输出描述
输出判断结果,若能构成三角形,则输出三角形的周长和面积
输入样例
//以下为两组测试数据
0 0
2 3
4 5
2 3
4 3
7 3
输出样例
//以下为两组测试数据对应的结果
能构成三角形,周长为:12.837,面积为:1.000(中文标点)
这三点不能构成三角形!
#include <stdio.h>
#include <math.h>
int main()
{
    
    
    double x1, x2, x3, y1, y2, y3, S, A, a, b, c, p;
    scanf("%lf%lf\n", &x1, &y1);
    scanf("%lf%lf\n", &x2, &y2);
    scanf("%lf%lf", &x3, &y3);
    a = sqrt(pow((x1 - x2), 2) + pow((y1 - y2), 2));
    b = sqrt(pow((x1 - x3), 2) + pow((y1 - y3), 2));
    c = sqrt(pow((x2 - x3), 2) + pow((y2 - y3), 2));
    A = a + b + c;
    p = 1.0 / 2 * (a + b + c);
    S = sqrt(p * (p - a) * (p - b) * (p - c));
    if (a + b > c && a + c > b && b + c > a)
    {
    
    
        printf("能构成三角形,周长为:%.3lf,面积为:%.3lf\n", A, S);
    }
    else
    {
    
    
        printf("这三点不能构成三角形!\n");
    }
    return 0;
}

実験02(07)段階ごとの居住者の水道料金の計算

题目描述
为鼓励居民节约用水,自来水公司采取按用水量阶梯式计价的办法,居民应交水费 y(元)
与月用水量 x(t)相关,函数关系如下:
0 (x=0)
y = f(x) = 4x/3 (0<x<=15)
2.5x-17.5 (x>15)
请编写程序计算水费,用水量由键盘输入,结果保留两位小数。要求使用嵌套的 if-else 语句。
输入描述
一个实型数据:月用水量
输出描述
本月应支付水费
输入样例
12.5
输出样例
本月应支付水费:16.67(中文标点)
#include <stdio.h>
int main()
{
    
    
    double x, y;
    scanf("%lf", &x);
    if (x > 15)
    {
    
    
        y = 2.5 * x - 17.5;
    }
    else if (x > 0)
    {
    
    
        y = 4.0 * x / 3;
    }
    else if (x == 0)
    {
    
    
        y = 0;
    }
    printf("本月应支付水费:%.2lf\n", y);
    return 0;
}

おすすめ

転載: blog.csdn.net/weixin_44179485/article/details/112715453