#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);
}
时间限制:1.000s 内存限制:128MB***
题目描述
小明发明了一种给由全大写字母组成的字符串编码的方法。对于每一个大
写字母,小明将它转换成它在 26 个英文字母中序号,即 A → 1, B → 2, … Z →
26。
这样一个字符串就能被转化成一个数字序列:
比如 ABCXYZ → 123242526。
现在给定一个转换后的数字序列,小明想还原出原本的字符串。当然这样
的还原有可能存在多个符合条件的字符串。小明希望找出其中字典序最大的字
符串。
输入格式
一个数字序列。
输出格式
一个只包含大写字母的字符串,代表答案
样例输入
123242526
样例输出
LCXYZ
提示/说明
对于 20% 的评测用例,输入的长度不超过 20。
对于所有评测用例,输入的长度不超过 200000。
思路:gets得到字符串 -48转数字 然后对应两两相加 比如12 然后+64 转为字母
判断无非就是判断*10+下一位是否小于26
问题:输入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%的图形,以此类推。