C语言-图形打印类题目
一、基础图形类型
1. 矩形类图形
实心矩形 (5行7列)
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
#include <stdio.h>
int main(){
int i, j;
for(i=0;i<5;i++){
for(j=0;j<7;j++){
printf("* ");
}
printf("\n");
}
return 0;
}
空心矩形 (5行7列)
* * * * * * *
* *
* *
* *
* * * * * * *
#include <stdio.h>
int main(){
int i, j;
for(i=0;i<5;i++){
for(j=0;j<7;j++){
if(i==0 || i ==4 || j==0 || j==6){
printf("* ");
}else{
printf(" ");
}
}
printf("\n");
}
return 0;
}
2. 三角形类图形
左直角三角形 (5行)
*
* *
* * *
* * * *
* * * * *
#include <stdio.h>
int main(){
int i, j;
for(i=0;i<5;i++){
for(j=0;j<=i;j++){
printf("* ");
}
printf("\n");
}
return 0;
}
右直角三角形 (5行)
*
* *
* * *
* * * *
* * * * *
#include <stdio.h>
int main(){
int i, j;
for(i=0;i<5;i++){
for(j=0;j<4-i;j++){
printf(" ");
}
for(j=0;j<=i;j++){
printf("* ");
}
printf("\n");
}
return 0;
}
倒直角三角形 (5行)
* * * * *
* * * *
* * *
* *
*
#include <stdio.h>
int main(){
int i, j;
for(i=4;i>=0;i--){
for(j=0;j<=i;j++){
printf("* ");
}
printf("\n");
}
return 0;
}
正立等腰三角形 (5行)
*
* *
* * *
* * * *
* * * * *
#include <stdio.h>
int main(){
int i, j;
for(i=0;i<5;i++){
for(j=0;j<4-i;j++){
printf(" ");
}
for(j=0;j<=i;j++){
printf("* ");
}
printf("\n");
}
return 0;
}
带空心的等腰三角形 (5行)
*
* *
* *
* *
* * * * *
#include <stdio.h>
int main(){
int i, j;
for(i=0;i<5;i++){
for(j=0;j<4-i;j++){
printf(" ");
}
for(j=0;j<=i;j++){
if(j==0 || j==i || i == 4){
printf("* ");
}else{
printf(" ");
}
}
printf("\n");
}
return 0;
}
3. 金字塔类图形
实心金字塔 (5层)
*
* * *
* * * * *
* * * * * * *
* * * * * * * * *
#include <stdio.h>
int main(){
int i, j;
for(i=0;i<5;i++){
for(j=0;j<(4-i)*2;j++){
printf(" ");
}
for(j=0;j<i*2+1;j++){
printf("* ");
}
printf("\n");
}
return 0;
}
数字金字塔 (5层)
1
121
12321
1234321
123454321
#include <stdio.h>
#include <math.h>
int main(){
int i, j;
for(i=0;i<5;i++){
for(j=0;j<4-i;j++){
printf(" ");
}
for(j=-i;j<=i;j++){
printf("%d", 1+i-abs(j));
}
printf("\n");
}
return 0;
}
字母金字塔 (5层)
A
A B A
A B C B A
A B C D C B A
A B C D E D C B A
#include <stdio.h>
#include <math.h>
int main(){
int i, j;
for(i=0;i<5;i++){
for(j=0;j<8-i*2;j++){
printf(" ");
}
for(j=-i;j<=i;j++){
printf("%c ", 'A'+i- abs(j));
}
printf("\n");
}
return 0;
}
二、进阶图形类型
1. 对称图形
菱形 (5层)
*
* * *
* * * * *
* * * * * * *
* * * * * * * * *
* * * * * * *
* * * * *
* * *
*
#include <stdio.h>
#include <math.h>
int main(){
int i, j, k;
for(i=-4;i<=4;i++){
for(j=0;j<abs(i)*2;j++){
printf(" ");
}
for(k=0;k<9-j;k++){
printf("* ");
}
printf("\n");
}
return 0;
}
沙漏形 (5层)
* * * * * * * * *
* * * * * * *
* * * * *
* * *
*
* * *
* * * * *
* * * * * * *
* * * * * * * * *
#include <stdio.h>
#include <math.h>
int main(){
int i, j;
for(i=-4;i<=4;i++){
for(j=0;j<4-abs(i);j++){
printf(" ");
}
for(j=0;j<abs(i)*2+1;j++){
printf("* ");
}
printf("\n");
}
return 0;
}
X形 (5行5列)
* *
* *
*
* *
* *
#include <stdio.h>
#include <math.h>
int main(){
int i, j;
for(i=-2;i<=2;i++){
for(j=0;j<4-abs(i)*2;j++){
printf(" ");
}
printf("*");
for(j=0;j<4*abs(i)-1;j++){
printf(" ");
}
if(i!=0){
printf("*");
}
printf("\n");
}
return 0;
}
2. 数字/字母规律图形
螺旋矩阵 (5×5)
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
#include <stdio.h>
int main(){
int a[5][5] = {0}, k=1;
int col, i, j;
int left = 0, right = 4, upper = 0, buttom = 4;
while(k<=25){
//左到右
for(col = left;col<=right;col++){
a[upper][col] = k++;
}
upper++;
//上到下
for(col = upper;col <=buttom;col++){
a[col][right] = k++;
}
right--;
//右到左
for(col = right;col>=left;col--){
a[buttom][col] = k++;
}
buttom--;
//下到上
for(col = buttom; col >= upper;col--){
a[col][left] = k++;
}
left++;
}
for(i=0;i<5;i++){
for(j=0;j<5;j++){
printf("%2d ", a[i][j]);
}
printf("\n");
}
return 0;
}
字母三角形 (5行)
A
B C
D E F
G H I J
K L M N O
#include <stdio.h>
int main(){
char ch = 'A';
int i, j;
for(i=0;i<5;i++){
for(j=0;j<=i;j++){
printf("%c ", ch++);
}
printf("\n");
}
return 0;
}
3. 特殊符号图形
棋盘格 (8×8)
# # # # # # # #
# # # # # # # #
# # # # # # # #
# # # # # # # #
# # # # # # # #
# # # # # # # #
# # # # # # # #
# # # # # # # #
#include <stdio.h>
int main(){
int i, j;
for(i=0;i<8;i++){
if(i%2){
printf(" ");
}
for(j=0;j<8;j++){
printf("# ");
}
printf("\n");
}
return 0;
}
心形
* * * *
* * * *
* *
* *
* *
* *
*
#include <stdio.h>
int main() {
int i, j;
for(i=0;i<7;i++){
for(j=0;j<15;j++){
if(i==0 && (j==2 || j==4 || j==9 || j==11) ||
i==1 && (j==0 || j==6 || j==7 || j==14) ||
i==2 && (j==0 || j==14)||
i==3 && (j==2 || j==12)||
i==4 && (j==4 || j==10)||
i==5 && (j==6 || j==8)||
i==6 && j==7
){
printf("*");
}else{
printf(" ");
}
}
printf("\n");
}
return 0;
}
本文采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 smallkun
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果