常州信息与未来2020年第一题:Welcome c++答案与解析

常州信息与未来2020年第一题:Welcome c++答案与解析,第1张

问题描述 

欢迎参加 2020 年常州市“程序设计小能手”比赛!小 X 想为你献上一张贺 卡,不过...你得自己打印出来。 

贺卡由三行组成。其中第二行为”*Welcome,ContestantNo.A!*”,其中 A 是 选手的编号。第一行和第三行相同,是和第二行字符数量相同的”*”组成。你 可以通过样例来理解。 

输入格式 

输入数据只有一行,包含一个正整数 A,表示选手的编号。 

输出格式 

输出三行,表示贺卡。 

样例输入 1 1  样例输出 1 

*************************

*Welcome,ContestantNo.1!*

*************************

样例输入 2 

233

样例输出 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."<

感谢观看

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/727564.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-26
下一篇 2022-04-26

发表评论

登录后才能评论

评论列表(0条)