| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 924 人关注过本帖
标题:关于9*9乘法表的问题,有个不懂。。
只看楼主 加入收藏
yangjun4414
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2009-11-12
结帖率:0
收藏
已结贴  问题点数:10 回复次数:4 
关于9*9乘法表的问题,有个不懂。。
/* Note:Your choice is C IDE */
#include "stdio.h"
#include "conio.h"
void main()
{
    int i,j,result;
    printf ( "\n");
    for (i=1;i<10;i++)
    {
        for (j=1;j<=i;j++)     \\这里用(j=1;j<10;j++)同样可以实现...
        {
            result = i * j;
            printf ("%d*%d=%-3d",i,j,result);
        }
            printf ("\n");
    }
        getch();
}
我想问的是第一个for循环语句下面用“{”隔开?
 for (i=1;i<10;i++)
    {
        for (j=1;j<=i;j++)可以写成这样吗?——
 for (i=1;i<10;i++)
 for (j=1;j<=i;j++)我写了输出的结果是10*10=81,出错了,还有在什么情况下用{}把for语句隔开,初学,希望高手指点一下,谢谢
搜索更多相关主题的帖子: 乘法表 
2009-11-13 11:04
liu200909
Rank: 2
来 自:湖北
等 级:论坛游民
帖 子:56
专家分:54
注 册:2009-9-20
收藏
得分:2 
我试过了,去掉{}没有问题;只是排列得不整齐,也就是回车的位置!
如下:
1*1=1  2*1=2  2*2=4  3*1=3  3*2=6  3*3=9  4*1=4  4*2=8  4*3=12 4*4=16 5*1=5  5*2
=10 5*3=15 5*4=20 5*5=25 6*1=6  6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 7*1=7  7*2=14
 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 8*1=8  8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*
7=56 8*8=64 9*1=9  9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81

对于for 循环{}隔开问题,在排序的时候可以省(例如:冒泡),但是那也不是绝对的!
2009-11-13 11:28
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:2 
该是循环体内的语句就要用'{}'花括号括起来,分清哪些语句属于哪个循环体,再用括号括住.
你去掉括号后:printf输出在循环体外,运行只有输出一次,即是:10*10=81
for (i=1;i<10;i++)
   for (j=1;j<=i;j++)
        result = i * j;
printf ("%d*%d=%-3d",i,j,result);

努力—前进—变老—退休—入土
2009-11-13 11:42
sgs876618
Rank: 1
等 级:新手上路
帖 子:1
专家分:2
注 册:2009-11-16
收藏
得分:2 
学习 像你!
2009-11-16 16:51
lijm1989
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:珠海
等 级:贵宾
威 望:12
帖 子:675
专家分:2844
注 册:2009-10-14
收藏
得分:2 
补充一下:
    for和while这类循环的话,后面都有个大括号,括起来的语句就是要循环的部分,即该循环的循环体,如:
    for(i=1;i<5;i++)
    {
        a = a+2;
        b = b+3;
    }
    c = c+4;
   这样的语句的话,大括号里的   a = a+2;b = b+3;就表示要循环的语句,而c = c+4;则是执行完循环才会执行的语句,因为它不在那个大括号里·····


很多 时候你会看到两个for一起,却没有大括号,这就涉及到一个用法----大括号是可以省略的,但有个前提,循环体只有一个语句--------
如:
    for (i=1;i<10;i++)
    {
        for (j=1;j<=i;j++)     \\这里用(j=1;j<10;j++)同样可以实现...
        {
            result = i * j;
            printf ("%d*%d=%-3d",i,j,result);
        }
            printf ("\n");
    }
大循环体的循环体为:
       for (j=1;j<=i;j++)     \\这里用(j=1;j<10;j++)同样可以实现...
        {
            result = i * j;
            printf ("%d*%d=%-3d",i,j,result);
        }
            printf ("\n");


如果没有那个大括号的话,即代码是:
    for (i=1;i<10;i++)
        for (j=1;j<=i;j++)     \\这里用(j=1;j<10;j++)同样可以实现...
        {
            result = i * j;
            printf ("%d*%d=%-3d",i,j,result);
        }
            printf ("\n");
大循环的循环体就是
        for (j=1;j<=i;j++)     \\这里用(j=1;j<10;j++)同样可以实现...
        {
            result = i * j;
            printf ("%d*%d=%-3d",i,j,result);
        }
(循环体是后面的第一个语句。。)
而printf ("\n");则是执行完循环后才运行的语句了····


2009-11-16 17:22
快速回复:关于9*9乘法表的问题,有个不懂。。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022350 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved