C语言蓝桥杯进阶

系列文章目录


文章目录

  • 系列文章目录
  • 前言
  • 一、题目
    • [1、在 ISO 国际标准中定义了 A0 纸张的大小为 1189mm × 841mm,将 A0 纸沿长边对折后为 A1 纸,大小为 841mm × 594mm,在对折的过程中长度直接取下整(实际裁剪时可能有损耗)。将 A1 纸沿长边对折后为 A2 纸,依此类推。](#1、在 ISO 国际标准中定义了 A0 纸张的大小为 1189mm × 841mm,将 A0 纸沿长边对折后为 A1 纸,大小为 841mm × 594mm,在对折的过程中长度直接取下整(实际裁剪时可能有损耗)。将 A1 纸沿长边对折后为 A2 纸,依此类推。)
  • 持续更新中
  • 结尾

前言

随着计算机编程语言的发展,很多东西逐渐饱和了;但是算法会跟随你一辈子的逻辑思维,任何人都拿不走.


提示:以下是本篇文章正文内容,下面案例可供参考

一、题目

1、在 ISO 国际标准中定义了 A0 纸张的大小为 1189mm × 841mm,将 A0 纸沿长边对折后为 A1 纸,大小为 841mm × 594mm,在对折的过程中长度直接取下整(实际裁剪时可能有损耗)。将 A1 纸沿长边对折后为 A2 纸,依此类推。

答案:

c 复制代码
请输入纸张名称 (A0, A1, A2, ..., A9): A6
A6: 105 mm × 148 mm

代码:

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

struct Paper {
    int width;  // 宽度 (mm)
    int height; // 高度 (mm)
};

// 初始化 ISO A 系列纸张尺寸
void initializePapers(struct Paper papers[]) {
    papers[0].width = 841;   // A0
    papers[0].height = 1189;
    int i; 
    for ( i = 1; i <= 9; i++) {
        papers[i].width = papers[i - 1].height;             // 短边为长边
        papers[i].height = papers[i - 1].width / 2;         // 长边为短边的一半
    }
}

// 根据纸张名称查找并打印尺寸
void printPaperSize(const char *paperName, struct Paper papers[]) {
    int index = paperName[1] - '0'; // 获取纸张等级数字(如:A2 -> 2)

    if (index >= 0 && index <= 9) {
        printf("%s: %d mm × %d mm\n", paperName, papers[index].width, papers[index].height);
    } else {
        printf("无效的纸张名称。\n");
    }
}

int main() {
    struct Paper papers[10]; // 存储 A0 到 A9 尺寸
    initializePapers(papers); // 初始化纸张尺寸

    char paperName[3]; // 用于接收纸张名称(如 "A0")
    
    // 输入纸张名称
    printf("请输入纸张名称 (A0, A1, A2, ..., A9): ");
    fgets(paperName, sizeof(paperName), stdin);

    // 去掉换行符
    size_t len = strlen(paperName);
    if (len > 0 && paperName[len - 1] == '\n') {
        paperName[len - 1] = '\0';
    }

    // 打印相应纸张的尺寸
    printPaperSize(paperName, papers);

    return 0;
}

思路:

c 复制代码
1.纸张结构体:
定义了 struct Paper 用于存储纸张的宽度和高度。
2.初始化纸张尺寸:
initializePapers(struct Paper papers[]) 函数用于初始化 A0 到 A9 的尺寸。
3.打印纸张尺寸:
printPaperSize(const char *paperName, struct Paper papers[]) 函数根据输入的纸张名称找到相应的尺寸并打印。
4.主函数:
在 main() 函数中,首先调用 initializePapers 函数来初始化纸张尺寸。
然后接收用户输入的纸张名称,并去掉换行符。
5.最后调用 printPaperSize 函数打印相应纸张的尺寸。

持续更新中

结尾

Come on!

相关推荐
艾莉丝努力练剑12 分钟前
【LeetCode&数据结构】单链表的应用——反转链表问题、链表的中间节点问题详解
c语言·开发语言·数据结构·学习·算法·leetcode·链表
倔强青铜34 小时前
苦练Python第18天:Python异常处理锦囊
开发语言·python
u_topian5 小时前
【个人笔记】Qt使用的一些易错问题
开发语言·笔记·qt
珊瑚里的鱼5 小时前
LeetCode 692题解 | 前K个高频单词
开发语言·c++·算法·leetcode·职场和发展·学习方法
AI+程序员在路上5 小时前
QTextCodec的功能及其在Qt5及Qt6中的演变
开发语言·c++·qt
xingshanchang5 小时前
Matlab的命令行窗口内容的记录-利用diary记录日志/保存命令窗口输出
开发语言·matlab
Risehuxyc5 小时前
C++卸载了会影响电脑正常使用吗?解析C++运行库的作用与卸载后果
开发语言·c++
AI视觉网奇5 小时前
git 访问 github
运维·开发语言·docker
不知道叫什么呀6 小时前
【C】vector和array的区别
java·c语言·开发语言·aigc
liulilittle6 小时前
.NET ExpandoObject 技术原理解析
开发语言·网络·windows·c#·.net·net·动态编程