打印图形专题.docx
《打印图形专题.docx》由会员分享,可在线阅读,更多相关《打印图形专题.docx(17页珍藏版)》请在冰点文库上搜索。
打印图形专题
#include
intmain()
{
intn;
scanf("%d",&n);
inti,j,k;
k=n-1;
for(i=-k;i<=k;i++)
{
for(j=0;jfor(j=0;jprintf("\n");
}
}
专题:
打印图形
1.编写程序,输入整数n,输出n行的字符图案。
例如n=5时输出:
*
**
***
****
*****
****
***
**
*
2.由键盘输入正数n(n<30),要求输出如下2*n+1行的菱形图案
当n=2时;
*
***
*****
***
*#include
#include
intmain()
{
intn;
scanf("%d",&n);
inti,j;
for(i=-n;i<=n;i++)
{
for(j=0;jfor(j=0;j<2*n+1-2*abs(i);j++)printf("*");
printf("\n");
}
}
3.由键盘输入正数n(n<10),要求输出如下中间数字为n的菱形图案。
菱形右边不留多余空格
1
121
12321
12321
121
1
#include
#include
intmain()
{
intn;
scanf("%d",&n);
inti,j,k;
k=n-1;
for(i=-k;i<=k;i++)
{
for(j=0;jfor(j=1;j<=n-abs(i);j++){printf("%d",j);}
if(abs(i)!
=k){for(j=n-abs(i)-1;j>=1;j--)printf("%d",j);}
printf("\n");
}
}
4.由键盘输入n(n为奇数),打印如下图空心菱形
例n=7
*
**
**
**
**
**
*#include
intmain()
{
inti,j,k,space,d;
#include
intmain()
{
intn;
scanf("%d",&n);
inti,j,k;
k=(n-1)/2;
for(i=-k;i<=k;i++)
{
for(j=0;jprintf("*");
if(abs(i)!
=k){for(j=0;jif(abs(i)!
=k)printf("*");
printf("\n");
}
}
intn;
scanf("%d",&n);
d=(n+1)/2;
for(i=1;i{
if(i<=d)space=d-i;
elsespace=i-d;
k=2*(d-space)-3;
for(j=0;j{
printf("");
}
printf("*");
for(j=0;jif(i!
=1&&i!
=n)printf("*");
printf("\n");
}
return0;
}
5.打印空心等腰梯形
运行结果:
代码实现:
int n= 0;
printf("PleaseEntern:
\n");
scanf("%d",&n);
for(int i= 1;i<=n;i++){
for(int j= 1;j<= 2 *n+i- 3;j++){
if(j==n-i+ 1 ||(j>n-i+ 1 &&(i== 1 ||i==n))){
printf("*");
}else{
printf("");
}
}
printf("*\n");
}
6.打印实心等腰梯形
运行结果:
代码:
#include
intmain()
{intn;
inti,j;
scanf("%d",&n);
for(i=0;i{
for(j=0;jfor(j=0;j<(n+2*i);j++)printf("*");
printf("\n");
}
}
7.输出倒三角形
运行结果:
#include
#include
intmain()
{
intn;
inti,j;
scanf("%d",&n);
for(i=-n;i<0;i++)
{
for(j=0;jfor(j=0;j<(2*abs(i)-1);j++)printf("*");
printf("\n");
}
}
8.打印平行四边形
#include
intmain()
{
intn;
inti,j;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=0;jfor(j=0;jprintf("\n");
}
}
9.输出矩形
运行结果:
代码实现:
int n= 0;
printf("PleaseEntern:
\n");
scanf("%d",&n);
for(int i= 1;i<=n;i++){//打印行数
for(int j= 1;j<=n;j++){//打印列数
printf("*");
}
printf("\n");
}
10.打印等腰三角形
运行结果:
代码实现
#include
#include
intmain()
{
intn;
inti,j;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=0;jfor(j=0;j<(2*i-1);j++)printf("*");
printf("\n");
}
}
10.打印n=7时,
#include
intmain()
{
intn;
scanf("%d",&n);
inti,j,k;
k=(n-1)/2;
for(i=-k;i<=k;i++)
{
for(j=0;jif(abs(i)!
=k){for(j=0;jif(abs(i)==k){for(j=0;jelse{for(j=0;jprintf("\n");
}
}
8.数字菱形输入n=7
1
22
33
44
33
22
1
#include
#include
intmain()
{
intn;
scanf("%d",&n);
inti,j,k;
k=(n-1)/2;
for(i=-k;i<=k;i++)
{
for(j=0;jprintf("%d",k+1-abs(i));
if(abs(i)!
=k){for(j=0;jif(abs(i)!
=k)printf("%d",k+1-abs(i));
printf("\n");
}
}
9打印杨辉三角输入一个数字n,n<30;打印出相应行数的数字
当n=3时;
1
11
121
#include
intmain()
{
inta[30]={1};
intn;
scanf("%d",&n);
printf("1\n");
inti,j;
for(i=1;i{
for(j=i;j>=1;j--)
{
a[j]=a[j-1]+a[j];
}
for(j=0;j<=i;j++){if(j!
=i)printf("%d",a[j]);elseprintf("%d",a[j]);}
printf("\n");
}
}
8打印如下n*n阶方阵,n为奇数,n有范围时就建立对应的大的数组
当n=5时,输出当n=5时,输出
3333322222
3222321112
3212321012
3222321112
3333322222
代码:
#include这边就abs(i)。
#include
intmain()
{
intn;
scanf("%d",&n);
inti,j,k;
k=n/2;
inta[20][20];
for(i=0;i{
for(j=0;j{
if(abs(i-k)>abs(j-k))
a[i][j]=abs(i-k)+1;
elsea[i][j]=abs(j-k)+1;
}
}
for(i=0;i{for(j=0;j{
printf("%d",a[i][j]);
}
printf("\n");}
}
9.下面程序的功能是输出如下n*n(n为正奇数)阶方阵。
请填空。
33333
32223
32123
32223
33333
(n=5)
#include“stdio.h”
#include“stdlib.h”
#include“math.h”
intmain()
{inta[20][20],n,i,j,m;
scanf(“%d”,&n);;
m=n/2;
for(i=0;ifor(j=0;j{
if(abs(i-m)>=abs(j-m))
a[i][j]=【7】abs(i-m)+1;
else
a[i][j]=【8】abs(j-m)+1;
}
for(i=0;i{
for(j=0;jprintf(“%d”,a[i][j]);
printf(“\n”);
}
}
10.下面程序的功能是输出如下n*n(n<20,为正奇数)阶方阵。
请填空。
11111
12221
12321
12221
11111
(n=5)
#include“stdio.h”
#include“math.h”
main()
{inta[20][20],n,i,j,m;
【7】Scanf(“%d”,&n);
m=n/2;
for(i=0;ifor(j=0;j{if(【8】abs(i-m)>abs(j-m))
a[i][j]=m+1-abs(i-m);
else
a[i][j]=m+1-abs(j-m);
}
for(i=0;i{for(j=0;jprintf(“%d”,a[i][j]);
printf(“\n”);
}
}
11.下面程序的功能是输出如下n*n(n<20,为正奇数)阶方阵。
请填空。
126715
3581416
49131722
1012182123
1119202425
(n=5)
#include"stdio.h"
#include"math.h"
#include"stdlib.h"
intmain()
{inta[20][20],n,i,j,m=0,x,y,temp,count=1;
scanf("%d",&n);
for(i=-(n-1);i<=n-1;i++)
{
for(j=0;j<【7】n-abs(i);j++)
{
if(melsex=n-1-j;
y=m-x;
if(m%2){【8】temp=x;x=y;y=temp;}
a[x][y]=count++;
}
m++;
}
for(i=0;i{for(j=0;jprintf("%4d",a[i][j]);
printf("\n");
}
}