[toc]

p11时间转换

输入一个秒数 n(从0秒开始),且这个秒数 0<n<84600。

输出这个秒数对应的 时:分:秒(00:00:00)。

#include <stdio.h>
int main() {
    int n, a, b, c;
    scanf("%d", &n);  // 记得不要忘记&
    a = n / 3600;
    b = n / 60 % 60;
    c = n % 60;
    printf("%02d:%02d:%02d", a, b, c);  // 记得不要少了02,题目要求00:00:00
    return 0;
}

p12字母转换

输入一个小写字母。

输出其对应的大写字母。

#include <stdio.h>
int main() {
    char c1, c2;       // 这里输入的是字符声明应用char
    scanf("%c", &c1);  // 字符占位符%c
    c2 = c1 - 32;      // 小写字母的ASCII比对应大写字母的大32
    printf("%c\n", c2);
    return 0;
}

p13加密姓氏

输入 一个姓氏拼音(长度为 4),取姓氏的每一个字母的 ASCII 再加 7,作为密码。

输出 按顺序输出密码(一行数字)

#include <stdio.h>
int main() {
    char a;
    a = getchar(); printf("%d", a + 7);  // 用了a=getchar()直接相当于输入a的ASCII
    a = getchar(); printf("%d", a + 7);  // getchar返回的是ASCII码
    a = getchar(); printf("%d", a + 7);
    a = getchar(); printf("%d", a + 7);
    return 0;
}

p14斤两单位转换

输入 十两一斤的重量数,输入第一行是斤数, 第二行是两数。

输出 对应十六两一斤秤的重量数,输出第一行是斤数, 第二行是两数。

#include <stdio.h>
int main() {
    int a, b, c, d;
    scanf("%d\n%d\n", &a, &b);  // 记得要加/n换行
    c = (a * 10 + b) / 16;      // 记得打括号
    d = (a * 10 + b) % 16;
    printf("%d\n%d\n", c, d);  // 记得要加/n换行
    return 0;
}

p19分解实数

输入 一个含有两位小数的实数

输出 实数的整数部分和小数部分(一行)

#include <stdio.h>
int main() {
    int a, x;
    double n, b;
    scanf("%lf", &n);  // 不用加.2
    x = n * 100;
    a = x / 100;
    b = n - a;
    printf("%.2lf=%d+%.2lf", n, a, b);  // 保留两位小数
    return 0;
}

p20最多能倒多少杯水

已知电水箱的容量为 n(n≤10L) 升,同学们带的杯子平均容量为 x 毫升(x在100~300之间),请问烧一箱开水,最多能倒多少杯?

**输入 **2个整数n和 x。

输出 代表最多能够倒多少杯水(不足1杯算1杯)。

#include <math.h>  //ceil是数学函数
#include <stdio.h>
int main() {
    float n, x, a;
    scanf("%f%f", &n, &x);
    a = n * 1000 / x;  // 记得*1000
    printf("%.0f", ceil(a));  // ceil()向上取整,.0是取零位小数即保留整数部分
    return 0;
}

p21求商数和余数

输入a,b 两个整数,编程求出 a 除以 b 得到的商和余数。

输入 一行,只有两个整数 a,b (中间有空格)。

输出 只有一行,两个整数(中间有空格)。

#include <stdio.h>
int main() {
    int a, b, c, d;
    scanf("%d %d", &a, &b);  // 中间有空格
    c = a / b;
    d = a % b;
    printf("%d %d", c, d);  // 中间有空格
    return 0;
}

p15温度转换

编一程序,将摄氏温度换为华氏温度。公式为:f(华氏温度)=9/5*c(摄氏温度)+32。

输入 整数c

输出 实数f(保留两位小数)

#include <stdio.h>
int main() {
    int c;
    scanf("%d", &c);
    float a, f;
    a = c * 0.01;  // 将整数c转化为浮点数a
    f = 9 * a * 100 / 5 + 32;
    printf("%0.2f", f);  // 保留两位小数
    return 0;
}

p22求圆环的面积

圆环面积= 外圆的面积-内圆面积(S=πr2S= πr^2)(假设 π=3.14,结果保留 2 位小数)。

输入 两个整数r1(外圆半径)、r2(内圆半径)。

**输出 **圆环铁片的面积。

#include <stdio.h>
int main() {
    int r1, r2;
    double S1, S2, S;          // 注意面积是小数
    scanf("%d %d", &r1, &r2);  // 不要少了&
    S1 = 3.14 * r1 * r1;       // 平方可以用两个r1相乘表示
    S2 = 3.14 * r2 * r2;
    S = S1 - S2;
    printf("%.2lf", S);  // 保留两位小数
    return 0;
}

p23种蔬菜

种四种蔬菜,四种蔬菜共占地 80 平方米,其中番茄、黄瓜、韭菜的分别占总土地的 a%、b%、c%(a,b,c一定是整数)

输入 3个百分数,分别代表番茄、黄瓜、韭菜的占地百分比(空格隔开)

输出 番茄,黄瓜、韭菜、萝卜的占地面积(空格隔开,保留一位小数)

#include <stdio.h>
int main() {
    int a, b, c;
    scanf("%d%% %d%% %d%%", &a, &b, &c);  // 百分号需要%%,%只是求余数
    double e = 80.0 * a / 100;  // 要用80.0(e是浮点数,a是整数)
    double f = 80.0 * b / 100;
    double g = 80.0 * c / 100;
    double h = 80.0 * (100 - a - b - c) / 100;
    printf("%.1lf %.1lf %.1lf %.1lf", e, f, g, h);  // 保留一位小数
    return 0;
}