C语言循环编程:输出1-100间能被3或5整除的数。

如题所述

此题拟用最基本的方法解决。遍历3~100,考察能否可被3或5整除,将能被3或5整除的数输出。代码如下(为输出版面整齐,每行限20个数):

#include "stdio.h"
int main(int argc,char *argv[]){
int i,l;
for(l=0,i=3;i<=100;i++)//遍历3~100
if(i%3==0 || i%5==0)//判断能被3或5整除才输出
printf(++l%20 ? "%4d" : "%4d\n",i);
if(l%20)
printf("\n");
return 0;
}

运行结果如下:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-24
#include<stdio.h>
void main(){
int i;
for(i=1;i<=100;i++){
if(i%3==0)printf("%d ",i);
else if(i%5==0)printf("%d ",i);}
} 上面提问者的程序是有语法和算法理论错误的,语法错误在于最后面少了一个花括号,而算法错误在于连续使用两个if语句,那样输出会有重复的数字,比如15,既可以被3整除,有可以被5整除,所以会输出两个15,改正方法可以在第二个if语句改成else if语句,程序已改好如上,可直接复制的哦!
第2个回答  2013-06-24
#include "stdio.h"int main()
{
int i;
for(i=1;i<=100;++i)
{
if((i%3==0)||(i%5==0))
printf("%d\n",i);
}
return 0;
}一个循环就OK了
第3个回答  2013-06-24
#include<stdio.h>
void main()
{int i;<br/>for(i=1;i<=100;i++)<br/>{if(i%3==0)<br/>printf("%d ",i);<br/>if(i%5==0)<br/>printf("%d ",i);<br/>}本回答被网友采纳
相似回答