| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 553 人关注过本帖
标题:程序有点小问题 来指点下
只看楼主 加入收藏
城邦
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2010-5-28
结帖率:60%
收藏
 问题点数:0 回复次数:9 
程序有点小问题 来指点下
#include "stdio.h"
int main(void)
{
    int x,y;
     for(y=1;;y++)
     {
     for(x=1;x<=500;x++)
     if(x%3==0)
     printf("%8d",x);
     if(y%5==0) printf("\n");
     if(x=500) break;
     }
     printf("\n");
}
 我是要输出从一到五百能被三整除的数  并且没输出五个数要换行 程序是写出来了 也可以运行  但是为什么我写的是五个数换行 结果却是十个才换行呀 指点下  
谢谢了
搜索更多相关主题的帖子: include 
2010-09-16 20:05
A13433758072
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广东潮州
等 级:小飞侠
威 望:1
帖 子:1182
专家分:2784
注 册:2010-7-22
收藏
得分:0 
#include <stdio.h>
int main(void)
{     int x=0,y;  
    for(y=1;y<=500;y++)   
   {         
 if(y%3==0)  
    {printf("%8d",y);
   x++;   
   if(x%5==0)
printf("\n");
}

}     
    printf("\n");  
return 0;  }


恩,忘没考虑了,条件所限没法进行有效的 检查,手机能这样差不多了

[ 本帖最后由 A13433758072 于 2010-9-16 23:11 编辑 ]

一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,  QQ群38490319
2010-09-16 20:23
城邦
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2010-5-28
收藏
得分:0 
回复 2楼 A13433758072
有错误呀 麻烦你在给看看
2010-09-16 20:40
ww稻草人
Rank: 5Rank: 5
来 自:陕西西安
等 级:职业侠客
帖 子:57
专家分:309
注 册:2010-5-11
收藏
得分:0 
程序应该改成这样:
#include "stdio.h"
int main(void)
{
    int x,y;   
         
         for(x=1,y=0;x<=500;x++)
         {
             if(x%3==0)
             {
                 printf("%8d",x);
                 y++;
                 if(y%5==0)        printf("\n");
             }
            
         }   
        
     printf("\n");
}

原因:for循环你不加大括号{}的话他会默认你的第一个分号之前为他的循环体,这样你的if(y%5==0)        printf("\n");这句就不会起到作用,还有就是你的X值的循环嵌套在Y值的循环之内,你的Y值根本就不会加加,只会在X的值到500之后才会给Y值加一。所以我给你把程序改成如上那样了。

我的博客  http://blog..cn/daocaoren020
2010-09-16 21:11
自由战士89
Rank: 5Rank: 5
等 级:职业侠客
帖 子:154
专家分:387
注 册:2010-9-2
收藏
得分:0 
#include"stdio.h"
void main()
{
    int x,y=0;
   
   
     for(x=1;x<=500;x++)
     {
         if(x%3==0)
         {
             y++;
             printf("%4d",x);
         }
      
        if(y%5==0)
         printf("\n");
     
     }
     printf("\n");
}
2010-09-16 21:19
qq757500610
Rank: 1
来 自:娘胎
等 级:新手上路
帖 子:15
专家分:3
注 册:2010-5-27
收藏
得分:0 
以下是引用自由战士89在2010-9-16 21:19:18的发言:

#include"stdio.h"
void main()
{
    int x,y=0;
   
   
     for(x=1;x<=500;x++)
     {
         if(x%3==0)
         {
             y++;
             printf("%4d",x);
         }
      
        if(y%5==0)
         printf("\n");
     
     }
     printf("\n");
}
正解

非一般的人,做非一般的事;而我只是一般的人而已。
2010-09-16 21:36
清风拂晓
Rank: 8Rank: 8
来 自:火星
等 级:蝙蝠侠
威 望:1
帖 子:356
专家分:889
注 册:2010-8-13
收藏
得分:0 
晕 你这 个程序写得很不规范

清风拂暮(木)
2010-09-16 21:51
城邦
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2010-5-28
收藏
得分:0 
回复 7楼 清风拂晓
初学就这样呀
2010-09-16 22:48
城邦
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2010-5-28
收藏
得分:0 
回复 4楼 ww稻草人
谢谢你给的答案我收益很深  我的那个我自己感觉很乱 但是结果是对的就是每行现实十个答案
2010-09-16 22:53
城邦
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2010-5-28
收藏
得分:0 
回复 5楼 自由战士89
谢谢你的帮助  写的非常好简单还容易理解  自己写的时候怎么就没想到呢
2010-09-16 22:56
快速回复:程序有点小问题 来指点下
数据加载中...
 
   



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

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