C 循环编程

来源:百度知道 编辑:UC知道 时间:2024/05/21 19:57:17
输入N(奇数<39),比如9,择打印每行有 # 和 _ 的图象,
像下面一样!!程序没有要求,能打印就行

#_#_#_#_#_#_#_#_#
#_______#_______#
#_____#___#_____#
#___#_______#___#
#_#___________#_#
#___#_______#___#
#_____#___#_____#
#_______#_______#
#_#_#_#_#_#_#_#_#
我觉得三个答案都很好,我研究了一下,
3105007038的程序比较难懂,不过比较简洁,没有上下两部分的概念,用绝对值的方法来确定"#"的位置,相信是花了不少心思的设计,编程技巧很不错!!

zx198799 把要打印的图案分成上下两部分,用变量j分开,上半部分通过a-1 与 j*2 的和 与 差 来确定"#"的位置
下半部分通过a 与 j*2 的和 与 差 来确定"#"的位置,比较通俗易懂,不过也挺有技巧

zhb8788 的思路和zx198799很相像我觉得,采用 index1 和index2 的自减和自加来确定"#"的位置,构思很奇妙

谢谢各位的关心,呵呵

#include<stdio.h>
#include<math.h>
void main()
{ int n,i,j,k;
scanf("%d",&n);
k=1-n;
for(i=0;i<n;i++)
{ printf("#");
if(i==0 || i==n-1)
{ for(j=0;j<n-2;j++)
printf("_#");
printf("_");

}
else
{ for(j=2-n;j<=n-2;j++)
{ if(abs(j) == n-3 - abs(k))printf("#");
else printf("_");
}

}
printf("#\n");
k+=2;
}

}

^_^,
blueangel1990 - 试用期 一级
blueangel1991 - 试用期 一级
blueangel1992 - 试用期 一级
blueangel1993 - 试用期 一级

真像那种没有见过蚂蚁 就说蚂蚁和老虎一样大的人,汗颜啊!!!!

#include <stdio.h>
void main(){
int a;
scanf ("%d",&a);
int i,j;
for (i=1;i<a;i++)printf("#_");
printf("#\n"