| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 995 人关注过本帖
标题:关于C语言的for嵌套循环问题
只看楼主 加入收藏
cc786857257
Rank: 1
等 级:新手上路
帖 子:15
专家分:6
注 册:2013-8-18
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:12 
关于C语言的for嵌套循环问题
#include
 int main(void){
  long sum=1l;
  int j=1;
  int count=0;
  int i;
 
 printf("enter nuber");
 
 scanf("%d",&count);
 
 for(i=1;i<=count;i++)
  {
   
  sum=1l;
  j=1;
  
   printf("\n1");
  
      while(j<I)
       {
         sum+=++j;
         printf("+%d",j);
       }
 printf("=%ld\n",sum);
}
 return 0;
}
希望大神解释一下每一步,还有那个 for循环为什么要重新声明sum和j,尤其是for中为什么还要重新初始化他们,求大神讲解
搜索更多相关主题的帖子: C语言 include count 
2013-08-31 07:26
我叫沃恩
Rank: 12Rank: 12Rank: 12
来 自:Asia
等 级:贵宾
威 望:10
帖 子:1234
专家分:3865
注 册:2013-3-29
收藏
得分:0 
每次重新定义sum,是为了保证sum是从11开始的

程序不难理解,自己在纸上演算每步的运算就会懂了,,

因为我是菜鸟,所以应该被骂! 细节+坚持=成功!
2013-08-31 08:50
天空编程
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:53
专家分:123
注 册:2013-7-5
收藏
得分:0 
你这个程序有错误!第一文件头处理是#include"stdio.h",第二while判断语句I是无中生有。
2013-08-31 11:16
天空编程
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:53
专家分:123
注 册:2013-7-5
收藏
得分:0 
#include"stdio.h"
int main(void){
   long sum=1l;
   int j=1;
   int count=0;
  int i;

 printf("enter nuber");

 scanf("%d",&count);

 for(i=1;i<=count;i++)
   {
   
   sum=1l;
   j=1;
   
    printf("\n1");
   
       while(j<i)
        {
          sum+=++j;
          printf("+%d",j);
        }
 printf("=%ld\n",sum);
 }
 return 0;
 }
2013-08-31 11:21
gujiaye131
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-8-31
收藏
得分:0 
for循环内不是重新声明吧,是重新赋值这是因为下面的while循环中的sum+=++j导致sum和j的值发生变化所以要重新对sum和j赋值,话说你这程序层次混乱啊太难受了,
#include"stdio.h"
int main(void)
{
   long sum=1l;//对sum赋值(话说这是11还是1l?)
   int j=1;//对j赋值1
   int count=0//; 对count赋值0
   int i;//
   printf("enter nuber");//屏幕输出enter nuber
   scanf("%d",&count);//由键盘对count赋值一个整数
   for(i=1;i<=count;i++)//当i<count时循环
   {
       sum=1l;
       j=1;
       printf("\n1");//换行后还有个1
       while(j<i)//当j<i时循环
       {
          sum+=++j;//sum=sum+(j+1)
          printf("+%d",j);//输出这个+和一个整数
       }
       printf("=%ld\n",sum);输出=一个长整型sum换行
    }
return 0;
}

萝莉什么的最可爱了
2013-08-31 11:38
jg658237
Rank: 7Rank: 7Rank: 7
来 自:青藏高原
等 级:黑侠
帖 子:224
专家分:529
注 册:2013-8-8
收藏
得分:10 
重新定义sum,是为了保证sum是每次从11开始,
但你的这个程序我看的不是很明白,是不是你打错了啊

武功再高也怕菜刀.
2013-08-31 12:09
小小程序猿
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:1
帖 子:755
专家分:2785
注 册:2013-7-18
收藏
得分:0 
每一步都解释基本上是不可能的,重新声明   sum    是要消除上一次循环对它的影响

有哪一步不懂再问吧

孤独与寂寞是催化一个人迅速成长的良药,没有之一
2013-08-31 15:53
dtxwz
Rank: 2
等 级:论坛游民
帖 子:79
专家分:45
注 册:2011-9-18
收藏
得分:0 
弱弱问一句,sum=1L是什么意思?
2013-08-31 19:43
cc786857257
Rank: 1
等 级:新手上路
帖 子:15
专家分:6
注 册:2013-8-18
收藏
得分:0 
回复 6楼 jg658237
程序完全没有问题,可完美执行,执行结果为,
  假如你数如的是10,执行结果为
1=1
1+2=3
1+2+3=4
1+2+3+4=5
…………
1+2+3+4+5+6+7+8+9+10=55
2013-08-31 20:43
cc786857257
Rank: 1
等 级:新手上路
帖 子:15
专家分:6
注 册:2013-8-18
收藏
得分:0 
回复 8楼 dtxwz
sum定义的long 类型,
2013-08-31 20:44
快速回复:关于C语言的for嵌套循环问题
数据加载中...
 
   



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

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