输入0~9 输入9时结果如图

img


输入0~8时 进度条依次递进10%
即 输入0时只显示为0%,
输入1时,显示为0% 10%
输入8时为0%~80%

#include <stdio.h>
 
int main()
{
    int n;
    scanf("%d", &n);
    for (int i = 0; i < n; i++)
    {
        printf("[");
        for (int j = 0; j < 5; j++) if (j <= i) printf("="); else printf(" ");
        if (i == 0) printf(" ");
        printf("%d%%", i * 10);
        for (int j = 5; j < 10; j++) if (j <= i) printf("="); else printf(" ");
        printf("]\n");
    }
    return(0);
}

img

img

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7782621
  • 这篇博客你也可以参考下:取余运算用%速度非常快但是只能用于整数和整数单片机运算整型数和浮点数时间开销差异非常大
  • 除此之外, 这篇博客: 、第十一届蓝桥杯省赛第一场(部分题目 c语言)完善80%中的 9.字符串编码 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    时间限制:1.000s 内存限制:128MB***
    题目描述
    小明发明了一种给由全大写字母组成的字符串编码的方法。对于每一个大
    写字母,小明将它转换成它在 26 个英文字母中序号,即 A → 1, B → 2, … Z →
    26。
    这样一个字符串就能被转化成一个数字序列:
    比如 ABCXYZ → 123242526。
    现在给定一个转换后的数字序列,小明想还原出原本的字符串。当然这样
    的还原有可能存在多个符合条件的字符串。小明希望找出其中字典序最大的字
    符串。
    输入格式
    一个数字序列。
    输出格式
    一个只包含大写字母的字符串,代表答案
    样例输入
    123242526
    样例输出
    LCXYZ
    提示/说明
    对于 20% 的评测用例,输入的长度不超过 20。
    对于所有评测用例,输入的长度不超过 200000。

    思路:gets得到字符串 -48转数字 然后对应两两相加  比如12  然后+64 转为字母
    判断无非就是判断*10+下一位是否小于26
    
  • 您还可以看一下 山猫老师的第2版 软件项目管理实战课程中的 至少提升项目交付效率30%的方法揭秘小节, 巩固相关知识点
  • 以下回答来自chatgpt:

    问题:输入0~9,输入9时结果如图,想要查询的是哪个进度条的百分比呢?

    解决方案: 可以根据输入的数字,判断进度条的百分比并输出相应的图形。

    代码如下:

    number = int(input("请输入数字(0~9):"))
    percent = number * 10
    progress = "▮" * percent
    
    print(f"{percent}% {' ' * (2-len(str(percent)))}{progress}")
    

    示例输出:

    请输入数字(0~9):9
    90%       ▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮
    

    如果输入的数字为9,则输出的进度条为90%的图形,以此类推。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^