求助输出图案
输出这个图案的代码..谢谢了 *
* * *
* * * * *
* * * * * * *
* * * * *
* * *
*
----------------解决方案--------------------------------------------------------
是一道作业吧。
/**************打印一菱形*****************/
/**分析:由于菱形上部和下部对称,故第一重循环的循变量取一对称范围(-3至+3);
第二,三重循环,循变量依融赖于第一重,并取绝对值可得到对称效果。***/
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main(void)
{
int i,j,k;
for(i=-3;i<=3;i++) //打印行数;
{
for(j=abs(i);j>0;j--) //打印每一行的空格数;
{
printf(" ");
}
for(k=abs(i);k<7-abs(i);k++) //打印*号;
{
printf("*");
}
printf("\n");
}
system("PAUSE");
return 0;
}
----------------解决方案--------------------------------------------------------
这也是我们的习题,我想了好久,想不通,现在才知道要用对称的,学习了
----------------解决方案--------------------------------------------------------
回复 2# 的帖子
system("PAUSE");这个语句是什么意思啊? ----------------解决方案--------------------------------------------------------
这是hoodlum1980大哥的代码 不好意思借了下!!!!
#include<stdio.h>void main()
{
int i,j,n;
printf("n=?\n");
scanf("%d",&n);
for(i=0; i<2*n+1; i++)
{
for(j=0; j<2*n+1; j++)
{
if( i+j>=n && i+j<=3*n && i-j>=-n && i-j<=n ) printf("*");
else printf(" ");
}
printf("\n");
}
}
----------------解决方案--------------------------------------------------------
顺便说一下它使用的是坐标法
顺便说一下它使用的是坐标法 ----------------解决方案--------------------------------------------------------
可以使用这种方法 :
#include <stdio.h>
main()
{
int i,j,k;
for(i=1;i<=4;i++)
{
for(j=1;j<=4-1;j++)
printf(" ");
for(k=1;k<=2*i-1;k++)
printf("*");
printf("\n");
}
for(i=3;i>0;i--)
{
for(j=1;j<=4-i;j++)
printf(" ");
for(k=1;k<=2*i-1;k++)
printf("*");
printf("\n");
}
getchar();
}
此题也可以通过声明字符型变量或者通过数组来解决。
----------------解决方案--------------------------------------------------------
system"pause";
这是为了解决DEV_C++无法显示结果设置的命令,就是让程序等待输入,
你试下就知道怎么回事了!
----------------解决方案--------------------------------------------------------
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
main()
{
int i,j,k;
char ar='D';
for(i=-3;i<=3;i++)
{
for(j=abs(i);j>0;j--)
{
printf(" ");
}
for(k=abs(i);k<7-abs(i);k++)
{
printf("%c",ar-abs(i));
}
printf("\n");
}
system("pause");
}
----------------解决方案--------------------------------------------------------
#define N 7
#include"stdio.h"
void main(){
int i,j,k;
for(i=1;i<=N;i++){
if(i<=(N+1)/2)k=i;
else k=8-i;
for(j=1;j<=4-k;j++)
printf(" ");
for(j=1;j<=2*k-1;j++)
printf("*");
printf("\n");
}
getch();
}
----------------解决方案--------------------------------------------------------