主题:循环问题~~
小小陈陈
[专家分:0] 发布于 2007-09-17 11:06:00
#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个回复)
沙发
luoguangyao [专家分:0] 发布于 2007-09-17 19:42:00
#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;
}
改成这样就好了
板凳
小小陈陈 [专家分:0] 发布于 2007-09-18 11:11:00
不行呀,满屏幕都是数字,而且还有负数,为什么呢?
3 楼
wruru521 [专家分:30] 发布于 2007-10-17 11:16:00
按1楼的改可以呀!!没错呀!
怎么还用tc2.0呀!网上有tc++3.0的,免费下载!
4 楼
cxl88888 [专家分:50] 发布于 2007-11-11 21:12:00
1楼这么改还是有问题啊,也将个位是0的也输出了
5 楼
cxl88888 [专家分:50] 发布于 2007-11-11 21:16:00
这是本人的改过以后的,
[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 楼
菜鸟三岁半 [专家分:30] 发布于 2008-02-11 06:25:00
拜托了,不要这么草率就发帖求救好不好;数据类型错了。int是不能表示那么大的数字的。
7 楼
wangjie5540 [专家分:110] 发布于 2008-02-11 13:22:00
这个我调试过了
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 楼
hujing [专家分:50] 发布于 2008-02-11 15:36:00
楼上的分析得相当详细
小弟佩服,羡慕啊
9 楼
%塔塔% [专家分:70] 发布于 2008-02-13 11:23:00
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 楼
jl114298030 [专家分:0] 发布于 2008-02-17 15:51:00
用double 定义范围还可再大
我来回复