for(int k=1;k<2i-1;k++)//这里2i-1改成2*i-1
至于int i重复定义……
你用VC++编译器的是吧,ISO C++里面的话就只有上面这一个问题,VC里面则要大改动一番:
在最上面int i,j,k;//这个你已经定义了,不去管它
把所有for循环里面的诸如int i、int j之类的前面的int去掉
改好的程序(VC6编译通过):
#include
using namespace std;
int main()
{int i,j,k;
for(i=1;i<=4;i++)
{
for(j=3;j>=0;j--)
cout<<" ";
for(k=1;k<2*i-1;k++)
cout<<"*";
}
for(i=5;i<=7;i++)
{
for(j=1;j<=3;j++)
cout<<" ";
for(k=4;k>=1;k--)
cout<<"*";
}
return 0;
}
第10行中2i该为2*i;
程序中有些int可以省略;
程序该为:
#include
using namespace std;
main()
{
int i,j,k;
for (i=1;i<=4;i++)
{
for (j=3;j>=0;j--)
cout<<" ";
for (k=1;k<2*i-1;k++)
cout<<"*";
}
for (i=5;i<=7;i++)
{
for (j=1;j<=3;j++)
cout<<" ";
for (k=4;k>=1;k--)
cout<<"*";
}
}
程序开始的i,j,k和for循环中的i,j,k重复定义
把每个for循环中对i,j,k的定义即int删掉
i,k,j重复定义。
你把 int i,j,k; 这行代码删除就OK了。