根据输入的n在屏幕上显示对应的以#组成的菱形图案。编程可用素材:printf("Please input n: ")...。
程序的运行效果应类似地如图1和图2所示,图1中的1和图2中的5是从键盘输入的内容。
*/
#include <stdio.h>
int main(void)
{
int n, i=1, j, m,k=1
printf("Please input n: ")
scanf("%d", &n)
do
{
for (j=ij <= nj++)
{
printf(" ")
}
for (m=1m <= 2*i-1m++)
{
printf("#")
}
printf("\n")
i++
}while (i <= n+1)
do
{
for (j=0j<kj++)
{
printf(" ")
}
for (m=1m <= 2*n-1m++)
{
printf("#")
}
printf("\n")
n--k++
}while (n)
return 0
}
//德昂当同学的说法确实是你的错误所在,这就是你成功的一半了。
/*其实笔者建议你将上面的那个图抽象成为一个线性规划的问题:建立一个坐标系,之后提取出来更方便的数学关系式,例如上面的方程则是:| i-j |<=n和| i+j |<n之后将i,j分别当做两个行列变量进行解决。请作者予以尝试!*/
#include<stdio.h>#define N 9
//总共9行,每行最多9个元素。
int main()
{
char a='*'
char b=' '
int i
int j
for(i = 1i<=5 i++) //先打印上半部分。
{
for(j=1j<=5-ij++)
{
printf("%c",b)
}
for(j=1j<=ij++)
{
printf("%c",a)
printf("%c",b)
}
printf("\n")
}
for(i = 4i>=1 i--) //打印下半部分。
{
for(j=1j<=5-ij++)
{
printf("%c",b)
}
for(j=1j<=ij++)
{
printf("%c",a)
printf("%c",b)
}
printf("\n")
}
getchar()
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)