C语言编程实例之输出指定图形问题
作者:愚公要移山
这篇文章主要介绍了C语言编程实例之输出指定图形问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
C语言输出指定图形
用C语言打印指定图形时,主要就是根据i(行号) 来确定每一行输出的数据

输入一个数字 就可以根据这个数字输出指定的图形,此算法也可以针对其他情况,比如输出星型。
本案例分两部分:接下来找规律
第一部分1-6逐渐扩大,
(先输出空格)
第一行 行号1 输出5个空格
第二行 行号2 输出4个空格
第三行 行号3 输出3个空格
第 i 行 行号 i 输出6-i 个空格
(在输出数字)
左半部分 :1-(6-i) 右半部分相同
第二部分:与第一部分相反
#include<stdio.h>
int main(){
int n;
while(scanf("%d",&n)!=EOF){
for(int i=1;i<=n;i++){
for(int k=n;k>i;k--) printf(" ");//打印空格
for(int j=1;j<=i;j++)printf("%d",j);//打印左半部分
for(j=i-1;j>=1;j--)printf("%d",j);//打印右半部分
printf("\n");
}
for( i=1;i<n;i++){
for(int k=i;k>=1;k--) printf(" ");//打印空格
for(int j=1;j<=n-i;j++)printf("%d",j);//打印左半部分
for(j=n-i-1;j>=1;j--)printf("%d",j);//打印右半部分
printf("\n");
}
}
return 0;
}C语言输出一个n行m列的图形
示例

代码如下
#include <stdio.h>
#include <stdlib.h>
#define MAX 26
//输出图形
void Print(char matrix[MAX][MAX],int n,int m)
{
int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
printf("%c",matrix[i][j]);
}
printf("\n");
}
}
//实现字母图形
void Draw(int n,int m)
{
int i,j;
int point=0;
char str;
char matrix[MAX][MAX];
for(i=0;i<n;i++)
{
str='A';
for(j=i;j<m;j++)
{
matrix[i][j]=str++;
}
//后半部分,第n行n列数都为A,往后递增
str='A';
for(j=i-1;j>=0;j--)
{
matrix[i][j]=++str;
}
//前半部分,倒着排序
}
Print(matrix,n,m);
}
int main()
{
int n,m;
scanf("%d%d",&n,&m);
Draw(n,m);
return 0;
}总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
