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 <= 2i - 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 <= 2i - 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 <= 2n - 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  醉曦  阅读(3332)  评论(0)    收藏  举报