回 帖 发 新 帖 刷新版面

主题:循环问题~~

#include<stdio.h>

int main(void)

    int n;

    for(n=10005;n<100000;n=n+5)

    if(n%3==0)
        printf(%d\n,n);

     return 0; 
}
题目是,个位是5的5位数,而且被3整除,我在tc2上编译的,结果不对呀,请帮我看下吧

回复列表 (共12个回复)

沙发


#include<stdio.h>

int main(void)

    int n;

    for(n=10005;n<100000;n=n+5)

    if(n%3==0)
        printf("%d\n",n);

     return 0; 
}
 改成这样就好了

板凳


不行呀,满屏幕都是数字,而且还有负数,为什么呢?

3 楼

按1楼的改可以呀!!没错呀!
怎么还用tc2.0呀!网上有tc++3.0的,免费下载!

4 楼


1楼这么改还是有问题啊,也将个位是0的也输出了

5 楼


这是本人的改过以后的,
               [size=4]#include<stdio.h>

int main(void)

    int n;

    for(n=10005;n<100000;n=n+5)
    if(n%2!=0)
    if(n%3==0)
        printf("%7d\n",n);

   return 0;   
}[/size]

6 楼

拜托了,不要这么草率就发帖求救好不好;数据类型错了。int是不能表示那么大的数字的。

7 楼

这个我调试过了

include <stdio.h>
void main()
{long int n;
 int i=0;
 for(n=1005;n<100000;n+=10)
     if(n%3==0)
    {printf("%7ld",n);
     i++;
     if(i%10==0)
        printf("\n");
    }
}

下面的是你的,并且我给你看的错误


#include<stdio.h>

int main(void)

    int n;                     \*我觉得应该是用long int,因为数字很大超过32767,所以会出现负数*\

    for(n=10005;n<100000;n=n+5)     \*应该是n=n+10不然会有个位是0的*\

    if(n%3==0)
        printf(%d\n,n);         \*没有必要的引号,所以是格式错误*\

     return 0; 
}

另外,我的程序里面引入了i ,这是用来控制换行的。


8 楼

楼上的分析得相当详细
  小弟佩服,羡慕啊

9 楼

include <stdio.h>
void main()
{long int n;
 int i=0;
 for(n=1005;n<100000;n+=10)
     if(n%3==0)
    {printf("%7ld",n);
     i++;
     if(i%10==0)
        printf("\n");
    }
}


记得加#......呵呵

10 楼

用double 定义范围还可再大

我来回复

您尚未登录,请登录后再回复。点此登录或注册