问题描述
欢迎参加 2020 年常州市“程序设计小能手”比赛!小 X 想为你献上一张贺 卡,不过...你得自己打印出来。
贺卡由三行组成。其中第二行为”*Welcome,ContestantNo.A!*”,其中 A 是 选手的编号。第一行和第三行相同,是和第二行字符数量相同的”*”组成。你 可以通过样例来理解。
输入格式输入数据只有一行,包含一个正整数 A,表示选手的编号。
输出格式输出三行,表示贺卡。
样例输入 1 1 样例输出 1*************************
*Welcome,ContestantNo.1!*
*************************
样例输入 2233
样例输出 2***************************
*Welcome,ContestantNo.233!*
***************************
数据范围本题共有 5 个测试点,每个测试点 14 分 对于测试点 1 :A=8
对于测试点 2 :A=88 对于测试点 3-5:A<=10^9
提示:你可以通过复制样例输出来避免一些问题
解析 :
这道题是一道送分题,从样例中我们可以读出,星号的范围是随着数字的位数来改变的,通常,判断位数可以用一个while来做:
int n,i,len;
cin>>n;
i=n;
while(i>0){
i=i/10;
len++;
}
输出星号则可以用一个循环来做:
for(int i=1;i<=len+24;i++){//除数字上面的有24个星号
printf("*");//循环无换行一般用printf
}
两行星号和中间的内容加起来就是标准答案了:
#include
using namespace std;
int main(){
int n,i,len;
cin>>n;
i=n;
while(i>0){
i=i/10;
len++;
}
for(int k=1;k<=len+24;k++){
printf("*");
}
cout<<"*Welcome,ContestantNo."<
感谢观看
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)