题目:
输出由*组成的倒三角形。本程序需指定顶边长度。自顶边起,每往下一行,长度都会减少2。倒数第二排输出***,倒数第一排输出*。每行中间需对齐,每行的最后一个*后输出回车。 程序的输入为顶边长度,该长度有以下要求:范围为1-80;必须为奇数(因为每往下一行,*的数量都会减少两个,而最后一行长度为1)。 如果输入错误的边长,输出error。 例如, 输入1,输出*(行尾回车) 输入2,输出error 输入3,输出如下 ***(行尾回车) *(行尾回车) 输入5.输出如下 *****(行尾回车) ***(行尾回车) *(行尾回车)
代码:
#include<iostream>
using namespace std;
void printStar(int n){
if(n>=1&&n%2!=0&&n<80){
int x=(n+1)/2;
for(int i=0;i<x;i++){
for(int j=n-i;j<n;j++){
cout<<' ';
}
for(int k=0;k<n-i*2;k++){
cout<<'*';
}
cout<<endl;
}
}
else{
cout<<"error"<<endl;
return;
}
}
int main(){
int n;
cin>>n;
printStar(n);
return 0;
}