这哪里有错啊
题目要求输入一个正整数n(n>10),找出1-n之间同时能被3、5和7整除的整数并打印输出。输出时每个整数占用6个字符位置,每行最多输出5个这样的数。#include <stdio.h>
int main()
{
int i, n, m = 0;
scanf(
"%d",&n
);
for (i = 1; i <= n; i++)
{
if (
i%3==0&&i%5==0&&i%7==0
)
continue;
printf(
"%-6d",i
);
m++;
if (
m%5==0
)
printf("\n");
}
return 0;
} 本帖最后由 jackz007 于 2022-10-15 20:34 编辑
修改版
#include <stdio.h>
int main(void)
{
int i , n , m = 0 ;
scanf("%d" , & n) ;
for(i = 1 ; i <= n ; i ++) {
if(i % 3 == 0 && i % 5 == 0 && i % 7 == 0) { // 这里写 continue 几个意思??
printf("%-6d" , i) ; // 必须纳入 if
m ++ ; // 必须纳入 if
if(m % 5 == 0) printf("\n") ; // 必须纳入 if
}
}
}
这是我写的版本
#include <stdio.h>
int main(void)
{
int c , d , k , n ;
scanf("%d" , & n) ;
for(c = 0 , d = 3 * 5 * 7 , k = d ; k < n + 1 ; k += d) {
if(c && ! (c % 5)) printf("\n") ;
printf("%6d" , k) ;
c ++ ;
}
printf("\n") ;
}
编译、运行实况:
D:\\C>g++ -o c c.c
D:\\C>c
200
105
D:\\C>c
2000
105 210 315 420 525
630 735 840 9451050
11551260136514701575
1680178518901995
D:\\C>
看看你贴的代码,你自己愿意看吗??? 本帖最后由 桃花飞舞 于 2022-10-15 20:50 编辑
楼主代码已经写的很好了只是把打印输出和continue的位置写反了,
if (i%3==0 && i%5==0 && i%7==0)
{
printf("%-6d",i);
m++;
}
条件成立是打印输出,
if (i%3==0 && i%5==0 && i%7==0)
{
printf("%-6d",i);
m++;
}
else
{
continue;
}
条件不成立是conitnue;
#include <stdio.h>
int main()
{
int i, n, m = 0;
scanf("%d",&n);
for (i = 1; i <= n; i++)
{
if (i%3==0 && i%5==0 && i%7==0)
{
printf("%-6d",i);
m++;
}
else
{
continue;
}
if (m%5==0)
printf("\n");
}
return 0;
}
很简单的逻辑嘛,要不楼主再看看if和 continue的用法,建议楼主好好排版,没人愿意看着这样的代码,毕竟不是机器 当时没电脑,在手机上复制的,所以排版有问题
页:
[1]