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;
}
}
}
输出结果如下: