C语言中常见的图形打印总结

直角三角形(靠右直立)

示例实现代码如下:

   int main(){
   int n;
   int i,j;
   cin >> n;

   if(n<= 0){
    cout << "error"<< endl;
    return 0;
   }
   else{
        for( i = 1 ; i <= n; i++){
            for( j = 1; j <= n-i; j++)
                cout << " ";

            for(j = 1; j <= i; j++)
                cout << "*";
            cout << endl;

           }
    return 0;
    }

输出结果示例如下:

等腰三角形(直立部分)

示例实现代码如下:

   int main(){
   int n;
   int i,j;
   cin >> n;

   if(n<= 0){
        cout << "error"<< endl;
        return 0;
   }
   else{
       for(i = 1; i<= n; i++){
            //打印空格
            for(j = 1; j<= n-i; j++){
                cout << " ";
            }
            //打印符号
            for(j = 1; j <= 2*i - 1; j++){
                cout << "*";
        }
        cout << endl;

   }

   }

    return 0;
    }

输出结果示例如下:

倒立的等腰三角形

示例实现代码如下:

   int main(){
   int n;
   int i,j;
   cin >> n;

   if(n<= 0){
        cout << "error"<< endl;
        return 0;
   }
   else{
       for(i = n; i>= 1; i--){
            //打印空格
            for(j = 1; j<= n-i; j++){
                cout << " ";
            }
            //打印符号
            for(j = 1; j <= 2*i - 1; j++){
                cout << "*";
            }
            cout << endl;

       }

   }

    return 0;
    }

输出示例结果如下:

空心三角形

实现示例代码如下:

   int main(){
   int n;
   int i,j;
   int count = 1;
   //count 用来记录从第二行到n-1行的三角形里面空格数,count += 2;
   cin >> n;

   if(n<= 0){
        cout << "error"<< endl;
        return 0;
   }
   else{
        //输出的第一行图形
       for(i = 1; i<= 1; i++){
            //打印空格
            for(j = 1; j<= n-i; j++){
                cout << " ";
            }
            cout << "*" << endl;
         }


       //输出第二行到第n-1行的图形
       for(i = 2; i <= n - 1; i++){
            //打印三角形外面空格
            for(j = 1; j <= n - i; j++)
                cout << " ";

            //打印第一个*
            cout << "*";


            //打印三角形里面空格
            for(j = 1; j <= count ; j++){
                cout << " ";
            }
            cout << "*"<< endl;

            count += 2;
       }

       //打印最后一行的*
       for(i = n; i<= n; i++){
            for(j = 1; j <= 2*n - 1; j++)
                cout<< "*" ;
       }

       cout << endl;


   }

    return 0;
    }

输出示例结果如下:

菱形

示例代码如下:

   int main(){
   int n;
   int i,j;
   cin >> n;

   if(n<= 0){
        cout << "error"<< endl;
        return 0;
   }
   else{
       //先打印1-n行的等腰三角形
       for(i = 1; i <= n; i++){

            for(j = 1; j <= n - i;j++)
                cout << " ";

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

       }

       //在打印n-1行的倒立等腰三角形
       for(i = n - 1; i >= 1; i--){
            for(j = 1; j <= n - i ; j++)
                cout << " ";
            for(j = 1; j <= 2 * i - 1; j++)
                cout << "*";
            cout <<endl;
       }
   }

    return 0;
    }

输出结果示例如下:

空心菱形

实现示例代码如下:

输出结果如下:

输出高和上底都是n的等腰梯形

示例代码如下:

//打印等腰梯形
void PrintTTT(){
int n;
cin >> n;

int i,j;
int count = n;

if( n <= 0|| n >9){
	cout << " illagal input"<< endl;
}
else{

	for(i = 1; i <= n; i++){

	    //打印空格
	    for(j = 1; j <= n - i; j++){
		    cout << " ";
	    }

	    for(j = 1; j <= count; j++){
		    cout << "*";
	    }
	    count += 2;

	    cout <<endl;
	}
}

}

输出结果如下:

posted @ 2019-03-11 09:31  醉曦  阅读(3165)  评论(0编辑  收藏  举报