写出来了,前面还能先思考,调试了3次之后脑袋dang掉了,然后调试N次,根据调试结果慢慢改循环条件,是调试出来的,不是想出来的了.......下面是代码,用的c++写的,不要在意细节......
- #include <iostream>
- using namespace std;
- int main()
- {
- int i=0,j=0,a=0,k=0,n=0,m=0;
- cout<<"请输入一个数作为菱形的边长:";cin>>a;
- cout<<"菱形的边长为:"<<a<<endl;
- //打印上半部分
- for(i=1;i<=a;i++){
- //打印第一条斜线
- for(j=0;j<a-i;j++) { cout<<' ';} //输出空格
- cout<<'*'; // 输出*号
- //打印第二条斜线
- if(i>1){
- for(k=2;k<2*i-1;k++) {cout<<' ';}
- cout<<'*';
- }
- cout<<endl; //换行
- }
- //打印下半部分
- for(i=1;i<a;i++){
- //打印第三条斜线
- for(n=0;n<i;n++) { cout<<' ';}
- cout<<'*';
- //打印第四条斜线
- if(i!=a-1){
- for(m=2;m<2*(a-i)-1;m++) {cout<<' ';}
- cout<<'*';
- }
- cout<<endl; //换行
- }
- return 0;
- }
复制代码 |