| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 274 人关注过本帖
标题:循环问题
只看楼主 加入收藏
求智者
Rank: 2
等 级:论坛游民
帖 子:39
专家分:32
注 册:2012-2-14
结帖率:90%
收藏
已结贴  问题点数:20 回复次数:2 
循环问题
#include
void main()
{
    int i=0,t, n=1234,a[4],E,j,x=0,s;
     for(n=1000;n<1002;n++)
    {
        s=n;
         printf("%d \n",n);
       while(1)
       {
           // printf("%d \n",s);
        a[i]=s%10;
         s=(s-a[i])/10;
      
      
          if(s==0)
            break;
         i++;
        
       }
       printf("%d \n",s);
//
    //for(i=0;i<4;i++)
    //printf("%d ",a[i]);
      
       /*t=a[0]*1000+a[1]*100+a[2]*10+a[3];
      
        for(E=1;E<=9;E++)
        {      x=0;
              if(E*n==t)
              {
                 for(i=0;i<4;i++)
                 {
                   for(j=i+1;j<4;j++)
                      if(a[i]!=a[j])
                         x++;
                  
                 }
                 
           if(x==6)
               printf("%d  \n",n);

           }
       }*/

         
    }
}
为什么语句不能终止了
2012-02-24 09:44
姚杰
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:169
专家分:477
注 册:2010-6-1
收藏
得分:10 
语句不能停止说明你的循环式个死循环,一定是在循环语句里出了问题,我改一下你运行看还有错没,互相学习啊
for(n=1000;n<1002;n++)
    {
        s=n;
         printf("%d \n",s);
 if(E*n==t)这个t没有初值,不能这么用,这个循环有问题,因为不知道题目,不清楚你要求什么,我也不知道怎么改。
还有n=1234的初值,但是下面,你又写n=1000;n<1002;;有矛盾的。直接写int n 就行


[ 本帖最后由 姚杰 于 2012-2-24 11:18 编辑 ]

持之以恒,别留遗憾,加油
2012-02-24 11:17
姚杰
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:169
专家分:477
注 册:2010-6-1
收藏
得分:10 
while(1)
 意思是 让它 一直循环 ,你输入一个,它给你一个答案,不会终止的 虽然你用if(s==0) break;来控制,但是你还是看看是不是这里有问题,
建议你改用 switch要好点

持之以恒,别留遗憾,加油
2012-02-24 11:47
快速回复:循环问题
数据加载中...
 
   



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

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