我写了个小程序,有点儿缺陷总改不过来,感兴趣请进

来源:百度知道 编辑:UC知道 时间:2024/09/22 12:34:03
/*
用*号组合成一个三角形!行数由键盘输入
(范围为:1~20,输入超过范围,则提示出错)。如:
输入一个数4,则:
输出以下组合:
*
***
*****
*******
共四行

如输入的是6,则:
*
***
*****
*******
*********
***********
共六行
如输入的是0,则输出
out of range(1~20),please retype:
*/

#include <iostream>
#include <cstdlib>
using namespace std;

int n;
void test(int m)
{
n= m;

if(n<1||n>20)
{
cout<<"out of range(1~20),please retype:";
cin>>n;
test(n);

}

}

void star(int n)
{
for(int i=0;i<=n;i++)
{
for(int h=0;h<n-i;h++)
cout<<" ";

for(int j=0;j<2*i-1;j++)
cout<<"*";
cout<<endl;
}
return;
}

int main()
{

cou

你接收的是整数,你输入的是字符,在类型转换上有问题。
void test(int m)
{
n= m;

if(n<1||n>20)
{
cout<<"out of range(1~20),please retype:";
cin>>n; //改为cin>>(int)n;
test(n);

}

}