C语言编程问题:输出100以内个位数为6且能被3整除的所有数。

输出100以内个位数为6且能被3整除的所有数。
我编的程序是这样的:
#include<stdio.h>
main()
{int i;
for(i=1;i<100;i++)
{
if(i%10==6&&i%3==0);
printf("%d",i);
}
}
本来以为没有什么错,但是输出的结果是123....99,和题意不符
求解我哪步算错了,应该怎么改正,谢谢,不要复制粘贴

输出100以内个位数为6且能被3整除的所有数的源代码如下:

#include&lt;stdio.h&gt;

int main()

{

int i;

for(i=1;i&lt;100;i++)

{

if(i%10 == 6 &amp;&amp; i%3 == 0)

printf(" %d ",i);

}

return 0;

}

扩展资料

1、#include <stdio.h>就是一条预处理命令, 它的作用是通知C语言编译系统在对C程序进行正式编译之前需做一些预处理工作。

2、printf()是格式输出函数,它的功能就是在屏幕上输出指定的信息return是函数的返回值,根据函数类型的不同,返回的值也是不同的。

3、main函数又叫主函数,main函数是c语言程序的入口,程序是从main函数开始执行的,一个c语言程序中只能有一个main函数。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-12-10

#include<stdio.h>

main()

{inti;

for(i=1;i<100;i++)

{

if(i%10==6&&i%3==0)

printf("%d\n",i);

}

}

扩展资料

用for循环输出1-1000内能被5整除的数字,且每行输出三个

public class Division {

public static void main(String[] args) {

for (int i = 1; i <=1000; i++) {

if (i%5==0) {

System.out.print(i+”\t”);

}

if (i%15==0) {

System.out.println();

}

}

}               

}

本回答被网友采纳
第2个回答  推荐于2017-05-21
if(i%10==6&&i%3==0);
printf("%d",i);

if语句最后面的分号去掉,不然的话这句判断就直接结束了, 不管条件是否满足,下面的printf是另一条语句了,会无条件执行。

另外printf最好加一个\n表示换行,改成

if(i%10==6&&i%3==0)
    printf("%d\n",i);

追问

为什么加上分号结果就会出问题呢

追答

去掉分号,就是一条语句,if判断完了,根据判断的结果决定是否执行下面的printf语句。
如果带有分号,这是两条无关的语句,if判断完了,不做任何处理,这条语句就结束了。下一条printf语句,是另一条语句了,跟上面的if没有关系,所以不管上面的判断如何,printf总是会执行。

本回答被网友采纳
第3个回答  2015-04-08

这样:

#include<stdio.h>
main()
{
    int i;
    for(i=1;i<100;i++)
    {
if(i%10==6&&i%3==0)    /*去掉分号*/
printf("%d ",i);
    }
}

追问

这个分号的有无有什么区别
有分号和没有分号应该怎么分析

追答

if语句在后面的语句没有使用大括号括起来的情况下,默认if后面的第一个语句为子句,而一个语句是以分号分隔的,所以加了分号后,if语句的子句就只有分号这个空语句作为子句了,而printf("%d",i);这一句则不是if语句的子句了。

if语句后面是没有分号的,你可以看看书上的标准写法,后面是没有分号的。

第4个回答  2015-04-08
#include<stdio.h>
void main()
{int i;
for(i=1;i<100;i++)
{
if(i%10==6&&i%3==0)
{printf("%d ",i);}*****************if语句的条件一定要用{……}括起来!
}
}追问

!嗯,懂了