| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 919 人关注过本帖
标题:麻烦大家帮我看看这个程序哪里错了
只看楼主 加入收藏
踩不扁小强
Rank: 2
等 级:论坛游民
帖 子:46
专家分:39
注 册:2013-4-6
结帖率:91.67%
收藏
已结贴  问题点数:18 回复次数:12 
麻烦大家帮我看看这个程序哪里错了
/*Description
输出1到9999中能被7整除,而且至少有一位数字是5的所有数字
输出格式
一行一个
输出样例
35
56
105
154
......*/
#include <stdio.h>
main()
{
    int a=35,b;
    for(;a<=9999;a++)
    {
        if(a%7==0)
        {
            b=a;        
            for(;b>1;)   
            {
                if(b%10==5)
            {
                printf("%d\n",a);
                goto L;
            }
            else
                b=b/10;
            }
            }
   
L:;        
    }
}
搜索更多相关主题的帖子: 而且 include 9999 
2013-04-11 22:52
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:6 
你输出时是不是直接就是4000多到9000多?  我的也是   上面的显示不出来,不过一步步调试可以看到是正确的
下面是我的代码
程序代码:
#include <stdio.h>
main()
{
    int a;
    for(a=35;a<=9999;a+=7)
    {
      
           if(a>1&&a<100)
           {
               if(a/10==5||a%10==5)
                   printf("%d\n",a);
           }
           else if(a>100&&a<1000)
           {
               if(a/100==5||a%10==5||(a%100)/10==5)
                   printf("%d\n",a);
           }
           else
           {
               if(a/1000==5||a%10==5||(a%1000)/100==5||(a%100)/10==5)
                   printf("%d\n",a);
           }
   
    }
    return 0;
}
        


三十年河东,三十年河西,莫欺少年穷!
2013-04-11 23:17
yctchxf
Rank: 6Rank: 6
来 自:盐城
等 级:侠之大者
威 望:2
帖 子:176
专家分:454
注 册:2012-4-10
收藏
得分:6 
呵呵 原来如此啊,我也觉得奇怪,  a<999 是可以的。
2013-04-11 23:34
yctchxf
Rank: 6Rank: 6
来 自:盐城
等 级:侠之大者
威 望:2
帖 子:176
专家分:454
注 册:2012-4-10
收藏
得分:0 
以下是引用韶志在2013-4-11 23:17:32的发言:

你输出时是不是直接就是4000多到9000多?  我的也是   上面的显示不出来,不过一步步调试可以看到是正确的
下面是我的代码#include  
main()
{
    int a;
    for(a=35;a<=9999;a+=7)
    {
      
           if(a>1&&a<100)
           {
               if(a/10==5||a%10==5)
                   printf("%d\n",a);
           }
           else if(a>100&&a<1000)
           {
               if(a/100==5||a%10==5||(a%100)/10==5)
                   printf("%d\n",a);
           }
           else
           {
               if(a/1000==5||a%10==5||(a%1000)/100==5||(a%100)/10==5)
                   printf("%d\n",a);
           }
   
    }
    return 0;
}
        

你的也有问题吧,我这还是运行部聊啊
2013-04-11 23:37
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:0 
回复 4楼 yctchxf
表示我这里可以
图片附件: 游客没有浏览图片的权限,请 登录注册

三十年河东,三十年河西,莫欺少年穷!
2013-04-11 23:50
yctchxf
Rank: 6Rank: 6
来 自:盐城
等 级:侠之大者
威 望:2
帖 子:176
专家分:454
注 册:2012-4-10
收藏
得分:0 
我不是说你的不能运行,不好意思我打错了,可是还是从 4865 开始的
我觉得好像是 显示屏的显示的原因。

#include <stdio.h>
 main()
 {
     int a,c=0;
     int t=0;
    for(a=35;a<=9999;a+=7)
     {
         
            if(a>1&&a<100)
            {
                if(a/10==5||a%10==5)
                    printf("%d\n",a);
                c++;
            }
            else if(a>100&&a<1000)
            {
                if(a/100==5||a%10==5||(a%100)/10==5)
                    printf("%d\n",a);c++;
            }
            else
            {
                if(a/1000==5||a%10==5||(a%1000)/100==5||(a%100)/10==5)
                    printf("%d\n",a);c++;
                if(a>4000)t++;
            }
   
     }
         printf("%d ",c);
          printf("%d ",t);printf("%d ",c-t);
        

     return 0;
 }

[ 本帖最后由 yctchxf 于 2013-4-12 00:03 编辑 ]
2013-04-11 23:57
yctchxf
Rank: 6Rank: 6
来 自:盐城
等 级:侠之大者
威 望:2
帖 子:176
专家分:454
注 册:2012-4-10
收藏
得分:0 
原来真是这样
程序代码:
#include <stdio.h>

 main()

 {
     int a=1;
     for(a=0;a<999;a++)
     printf("%d\n ",a++);
return 0;
}
也只能显示 596 行。 只怪自己才疏学浅 今天才知道原来是显示屏不能显示太多行……
2013-04-12 00:08
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:0 
回复 6楼 yctchxf
是的   是从4000多开始的,不过答案是对的   要不这样   把printf改下就行了
程序代码:
#include <stdio.h>
main()
{
    int a;
    for(a=35;a<=9999;a+=7)
    {
      
           if(a>1&&a<100)
           {
               if(a/10==5||a%10==5)
                   printf("%5d",a);
           }
           else if(a>100&&a<1000)
           {
               if(a/100==5||a%10==5||(a%100)/10==5)
                   printf("%5d",a);
           }
           else
           {
               if(a/1000==5||a%10==5||(a%1000)/100==5||(a%100)/10==5)
                   printf("%5d",a);
           }
   
    }
    return 0;
}
        
图片附件: 游客没有浏览图片的权限,请 登录注册


三十年河东,三十年河西,莫欺少年穷!
2013-04-12 00:09
yctchxf
Rank: 6Rank: 6
来 自:盐城
等 级:侠之大者
威 望:2
帖 子:176
专家分:454
注 册:2012-4-10
收藏
得分:0 
楼主
#include <stdio.h>
void main()
 {
     int c=0,t=0,b,a;
     for(a=35;a<=9999;a=a+7)
     {
         if(a%7==0)
         {
            
             b=a;        
             for(;b>1;)   
            {
                 if(b%10==5)
             {
                 if(a>4000) c++;
                 printf("%d   ",a); t++; // 楼主把 换行去掉就能看见 35 56 105 145 …… 了  程序没有问题。happy……
                 break;
             }
             else
                 b=b/10;
             }
             }
            
     }
      printf(" 数字在4000以上的个数%d ",c);
          printf(" 总的个数%d ",t);
          printf(" 差值%d ",t-c);

 }
2013-04-12 00:12
yctchxf
Rank: 6Rank: 6
来 自:盐城
等 级:侠之大者
威 望:2
帖 子:176
专家分:454
注 册:2012-4-10
收藏
得分:0 
以下是引用韶志在2013-4-12 00:09:09的发言:

是的   是从4000多开始的,不过答案是对的   要不这样   把printf改下就行了#include  
main()
{
    int a;
    for(a=35;a<=9999;a+=7)
    {
      
           if(a>1&&a<100)
           {
               if(a/10==5||a%10==5)
                   printf("%5d",a);
           }
           else if(a>100&&a<1000)
           {
               if(a/100==5||a%10==5||(a%100)/10==5)
                   printf("%5d",a);
           }
           else
           {
               if(a/1000==5||a%10==5||(a%1000)/100==5||(a%100)/10==5)
                   printf("%5d",a);
           }
   
    }
    return 0;
}
        


我也发现了 正常的显示屏 应该只能显示 500多行的。呵呵 误会,我觉得我还得踏实的学学
2013-04-12 00:14
快速回复:麻烦大家帮我看看这个程序哪里错了
数据加载中...
 
   



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

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