信息学奥赛一本通 第二章 顺序结构程序设计 三、四节C语言非C++

第二章 顺序结构程序设计`

第三节 标准数据类型

1414:【17NOIP普及组】成绩

c 复制代码
#include <stdio.h>

int main() {
    // 声明三个整数变量
    int a, b, c;

    // 从输入读取三个值并分别赋给a, b, c
    scanf("%d %d %d", &a, &b, &c);

    // 计算并打印加权平均值,其中a的权重为0.2,b的权重为0.3,c的权重为0.5
    printf("%g\n", a*0.2+b*0.3+c*0.5); 

    // main函数结束,返回0表示程序正常执行完毕
    return 0;
}

1016:整型数据类型存储空间大小

c 复制代码
#include <stdio.h>

int main() {
    // 声明一个整数和一个短整数
    int a;
    short b;

    // 打印出整数a和短整数b在内存中所占的字节数
    printf("%lu %lu\n", sizeof(a), sizeof(b));

    // main函数结束,返回0表示程序正常执行完毕
    return 0;
}

1017:浮点型数据类型存储空间大小

c 复制代码
#include <stdio.h>

int main() {
    // 声明一个浮点数和一个双精度浮点数
    float a;
    double b;

    // 打印出浮点数a和双精度浮点数b在内存中所占的字节数
    printf("%lu %lu\n", sizeof(a), sizeof(b));

    // main函数结束,返回0表示程序正常执行完毕
    return 0;
}

1018:其他数据类型存储空间大小

c 复制代码
#include <stdio.h>

int main() {
    // 声明一个布尔值和一个字符
    bool a;
    char b;

    // 打印出布尔值a和字符b在内存中所占的字节数
    printf("%lu %lu\n", sizeof(a), sizeof(b));

    // main函数结束,返回0表示程序正常执行完毕
    return 0;
}

1019:浮点数向零舍入

c 复制代码
#include <stdio.h>

int main() {
    // 声明一个浮点数
    float a;

    // 从输入读取一个浮点数赋给a
    scanf("%f", &a);

    // 将浮点数a转换为整数并打印
    printf("%d\n", (int)a);

    // main函数结束,返回0表示程序正常执行完毕
    return 0;
}

1020:打印ASCII码

c 复制代码
#include <stdio.h>

int main() {
    // 声明一个字符
    char c;

    // 从输入读取一个字符并赋给c
    scanf("%c", &c);

    // 打印出字符c的ASCII值
    printf("%d", c);

    // main函数结束,返回0表示程序正常执行完毕
    return 0;
}

1021:打印字符

c 复制代码
#include <stdio.h>

int main() {
    // 声明一个整数
    int a;

    // 从输入读取一个整数并赋给a
    scanf("%d", &a);

    // 打印出整数a对应的ASCII字符
    printf("%c", a);

    // main函数结束,返回0表示程序正常执行完毕
    return 0;
}

1022:整型与布尔型的转换

c 复制代码
#include <stdio.h>
#include <stdbool.h>

int main() {
    // 声明一个布尔值和一个整数
    bool a;
    int b;

    // 从输入读取一个整数并赋给b
    scanf("%d", &b);

    // 将整数b的值赋给布尔值a
    a = b;

    // 将布尔值a的值赋给整数b
    b = a;

    // 打印整数b的值
    printf("%d", b);

    // main函数结束,返回0表示程序正常执行完毕
    return 0;
}

第四节 数据输入输出

2069:【例2.12 】糖果游戏

c 复制代码
#include <stdio.h>

int main() {
    // 声明五个整数变量
    int a, b, c, d, e;

    // 从输入读取五个整数并分别赋给a, b, c, d, e
    scanf("%d %d %d %d %d", &a, &b, &c, &d, &e);

    // 执行一系列的算术运算
    a /= 3; b += a; e += a;
    b /= 3; a += b; c += b;
    c /= 3; b += c; d += c;
    d /= 3; c += d; e += d;
    e /= 3; d += e; a += e;

    // 将五个整数变量的值打印出来
    printf("%5d%5d%5d%5d%5d", a, b, c, d, e);

    // main函数结束,返回0表示程序正常执行完毕
    return 0;
}

1024:保留3位小数的浮点数

c 复制代码
#include <stdio.h>

int main() {
    // 声明一个浮点数变量
    float a;

    // 从输入读取一个浮点数并赋给a
    scanf("%f", &a);

    // 打印浮点数a的值,保留三位小数
    printf("%.3f", a);

    // main函数结束,返回0表示程序正常执行完毕
    return 0;
}

1025:保留12位小数的浮点数

c 复制代码
#include <stdio.h>

int main() {
    // 声明一个双精度浮点数变量
    double a;

    // 从输入读取一个双精度浮点数并赋给a
    scanf("%lf", &a);

    // 打印双精度浮点数a的值,保留12位小数
    printf("%.12f", a);

    // main函数结束,返回0表示程序正常执行完毕
    return 0;
}

1026:空格分隔输出

c 复制代码
#include <stdio.h>

int main() {
    // 声明一个字符变量,一个整数变量,一个浮点数变量和一个双精度浮点数变量
    char a;
    int b;
    float c;
    double d;

    // 从输入读取一个字符、一个整数、一个浮点数和一个双精度浮点数
    // 并分别赋给a, b, c, d
    scanf("%c %d %f %lf", &a, &b, &c, &d);

    // 打印出这四个变量的值
    printf("%c %d %f %f", a, b, c, d);

    // main函数结束,返回0表示程序正常执行完毕
    return 0;
}

1027:输出浮点数

c 复制代码
#include <stdio.h>

int main() {
    // 声明一个double类型的变量a
    double a;

    // 从输入读取一个double类型的数并赋给a
    scanf("%lf", &a);

    // 以不同的格式打印变量a的值
    // %f格式打印浮点数
    // %.5f格式打印浮点数,保留五位小数
    // %e格式打印科学计数法表示的浮点数
    // %g格式打印浮点数,如果指数大于-4或者小于5,用%e格式,否则用%f格式
    printf("%f\n%.5f\n%e\n%g", a, a, a, a);

    // main函数结束,返回0表示程序正常执行完毕
    return 0;
}

1028:字符菱形

c 复制代码
#include <stdio.h>

int main() {
    // 声明一个字符变量
    char a;

    // 从输入读取一个字符并赋给a
    scanf("%c", &a);

    // 打印字符a组成的"菱形"
    // 第一行打印两个空格和一个字符
    // 第二行打印一个空格和三个字符
    // 第三行打印五个字符
    // 第四行打印一个空格和三个字符
    // 第五行打印两个空格和一个字符
    printf("  %c\n", a);
    printf(" %c%c%c\n", a, a, a);
    printf("%c%c%c%c%c\n", a, a, a, a, a);
    printf(" %c%c%c\n", a, a, a);
    printf("  %c\n", a);

    // main函数结束,返回0表示程序正常执行完毕
    return 0;
}
相关推荐
总要学点什么1 天前
第89篇:三维特效-螺旋圆效果——让螺旋臂卷起一圈圈外扩的涟漪
开发语言·javascript·ecmascript·webgl·cesium·空间分析·1024程序员节
开开心心_Every1 天前
快速隐藏程序工具自定义快捷键一键切换
java·开发语言·前端·spring·智能手机·word·intellij-idea
chenbingjie_c1 天前
C++ 多态完全指南:从虚函数重写到虚函数表原理
开发语言·c++
吴卫斌1 天前
定投ETF实战指南(四):行业/主题ETF——定投的“进攻端“
开发语言·python·股票·量化
·present·1 天前
CSAPP(Bomb lab)
c语言·c++
超级架构师1 天前
PRAXO-CORE 2.5.0:用 conformance 和显式边界构建 Go Agent 框架
开发语言·人工智能·后端·golang·ai编程·智能体框架·praxo-core
叼烟扛炮1 天前
Linux 学习笔记(四十三):网络编程进阶——自定义协议解决 TCP 粘包与守护进程
linux·开发语言·网络·笔记·tcp/ip
LMT流氓兔1 天前
第五单元——第十六课:给书店助手加上网页界面
java·开发语言·jvm·人工智能·oracle·langchain·1024程序员节
专注仿真1 天前
梯度提升类(XFBoost)算法详解与代码实例
开发语言·人工智能·python·算法·大模型训练·控制算法
外收内放1 天前
Python基础语法练习题(75)
开发语言·python·学习