编程打印以下图形
#include"stdio.h"
voidmain(){
inti,j;
for(i=1;i<=3;i++){
for(j=1;j<10-i;j++)
printf("40");
for(j=1;j<=2*i-1;j++)
printf("52");
printf(" ");}
for(i=2;i>=1;i--){
for(j=1;j<10-i;j++)
printf("40");
for(j=1;j<=2*i-1;j++)
printf("52");
printf(" ");}}
已经运行过。有什么问题请留言。
㈡ 编写程序:打印以下图形:
main()
{
int i,j,k;
for(i=0;i<=3;i++)
{
for(j=0;j<=2-i;j++)
printf(" ");
for(k=0;k<2*i;k++)
printf("*");
printf("\n");
}
for(i=0;i<=2;i++)
{
for(j=0;j<=i;j++)
printf(" ");
for(k=0;k<=4-2*i;k++)
printf("*");
printf("\n");
}
}再去掉三个FOR循环就可以了
第二种方法:
最少个数for实现:
[10:33:06@~/c-cpp]$ cat star.c
#include <stdio.h>
int main()
{
int n = 0, i, j;
printf("enter an positive odd number: ");
scanf("%d", &n);
int a[n]; /* compile with '-std=c99' */
for (i = 0; i <= n/2; i++)
a[i] = a[n-i-1] = i;
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++)
printf("%c", a[i] + a[j] < n/2 ? ' ' : '*');
printf("\n");
}
return 0;
}
[10:33:15@~/c-cpp]$ gcc --std=c99 star.c
[10:33:23@~/c-cpp]$ ./a.out
enter an positive odd number: 7
*
***
*****
*******
*****
***
*
[10:33:27@~/c-cpp]$ ./a.out
enter an positive odd number: 5
*
***
*****
***
*
[10:33:32@~/c-cpp]$ ./a.out
enter an positive odd number: 3
*
***
*
[10:33:33@~/c-cpp]$ ./a.out
enter an positive odd number: 1
*
[10:33:35@~/c-cpp]$ ./a.out
enter an positive odd number: 17
*
***
*****
*******
*********
***********
*************
***************
*****************
***************
*************
***********
*********
*******
*****
***
*
[10:33:37@~/c-cpp]$
㈢ 用c语言编写程序,打印以下图形。。 表示c语言老师讲的没听懂。。求大神。。。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int k,i,j;
for(i=0;i<4;i++)
{
for(k=3;k>i;k--)
printf(" ");
for(j=0;j<2*i+1;j++)
printf("*");
printf(" ");
}
for(i=0;i<3;i++)
{
for(k=0;k<=i;k++)
printf(" ");
for(j=0;j<5-2*i;j++)
printf("*");
printf(" ");
}
return 0;
}
两个循环嵌套,分别是四行正三角和三行倒三角。主要思考【空格】每行循环几次,【星号】每行循环几次,这两个量分别跟【行数】有什么关系。