当前位置: 代码迷 >> C语言 >> 关于FOR循环
  详细解决方案

关于FOR循环

热度:303   发布时间:2004-11-05 20:33:00.0
关于FOR循环
include <stdio.h>
void star()
{printf("******");}

void main()
{int i,j;
for (i=1;i<=4;i++)
{for(j=1;j=2*i-1;j++)
printf("");
star();}
for(i=3;i>+1;i--)
{for(j=1;j<=2*i-1;j++)
printf("");
star();}
getch();
}
按理说应该是输出
******
******
  ******
   ******
  ******
******
******
可是屏幕却什么都没有
搜索更多相关的解决方案: FOR  

----------------解决方案--------------------------------------------------------

include <stdio.h> void star() {printf("******");} void main() {int i,j; for (i=1;i<=4;i++) {for(j=1;j=2*i-1;j++) “少了一个小于号” printf(""); star();} for(i=3;i>+1;i--) “i>=1 ” {for(j=1;j<=2*i-1;j++) printf(""); star();} getch(); } 还有缺少换行语句 pintf("\n");

以下是可运行程序

#include "stdio.h" void star() {printf("******");} void main() {int i,j; for(i=1;i<=4;i++) {for(j=1;j<=2*i-1;j++) printf(" ");star();printf("\n");} for(i=3;i>=1;i--) {for(j=1;j<=2*i-1;j++) printf(" "); star();printf("\n");} getch();}

****** ****** ****** ****** ****** ****** ****** 但是朋友这个打印结果和你要的可不一样 !!!!!


----------------解决方案--------------------------------------------------------

不好意思 打印的结果是

****** ****** ****** ****** ****** ****** ******


----------------解决方案--------------------------------------------------------
8条printf就可以搞定,何必这么费劲呢,高效啊
----------------解决方案--------------------------------------------------------
晕,四楼的,那是电脑操作你吧,怎么可以那样编程
----------------解决方案--------------------------------------------------------

main()

{ int i, j;

for (i=0 ;i<7; i++)

{

if (i == 2)

printf(" ");

else if (i == 3)

printf(" ");

else if (i == 4)

printf(" ");

for (j=0; j<6; j++)

printf ("*");

printf ("\n");

}

getch();

}

如果只为了打出这几行 我赞同4楼的看法; 程序就是要遵循清淅,高效 等原则;

[此贴子已经被作者于2004-11-08 20:27:11编辑过]


----------------解决方案--------------------------------------------------------

效率 和 低存储量需求 是我们应该十分重视的问题


----------------解决方案--------------------------------------------------------
以下是引用苏卡卡在2004-11-05 20:33:29的发言: include <stdio.h> void star() {printf("******");} void main() {int i,j; for (i=1;i<=4;i++) {for(j=1;j=2*i-1;j++) printf(""); star();} for(i=3;i>+1;i--) {for(j=1;j<=2*i-1;j++) printf(""); star();} getch(); } 按理说应该是输出 ****** ****** ****** ****** ****** ****** ****** 可是屏幕却什么都没有

红字出现死循环......


----------------解决方案--------------------------------------------------------

main() {int i,j; printf("*******\n"); for(i=1;i<8;i=i+3) {for(j=1;j<=i/2;j++) printf(" "); printf("*******\n"); } for(i=4;i>=1;i=i-3) {for(j=1;j<=i/2;j++) printf(" "); printf("*******\n"); } printf("*******\n"); getch(); }

自己写的,试了一下,还可以,不过还可以改进,因为在网吧所以就留着自己改改吧。

两个双重循环可以合在一起,自己想想就可以了。


----------------解决方案--------------------------------------------------------

main() { int i,j; for(i=-2;i<8;i=i+3) {for(j=0;j<i/2;j++) printf(" "); printf("******\n"); } for(i=4;i>-3;i=i-3) {for(j=0;j<i/2;j++) printf(" "); printf("******\n"); } getch(); }

自己做的 还可以把两个双重循环合在一起,有时间的话楼主可以自己改一下


----------------解决方案--------------------------------------------------------
  相关解决方案