鱼C论坛

 找回密码
 立即注册
查看: 2119|回复: 3

这哪里有错啊

[复制链接]
发表于 2022-10-15 19:57:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
题目要求输入一个正整数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;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-10-15 20:11:20 | 显示全部楼层
本帖最后由 jackz007 于 2022-10-15 20:34 编辑

         修改版
  1. #include <stdio.h>

  2. int main(void)
  3. {
  4.         int i , n , m = 0                           ;
  5.         scanf("%d" , & n)                           ;
  6.         for(i = 1 ; i <= n ; i ++) {
  7.                 if(i % 3 == 0 && i % 5 == 0 && i % 7 == 0) { // 这里写 continue 几个意思??
  8.                         printf("%-6d" , i)          ;        // 必须纳入 if
  9.                         m ++                        ;        // 必须纳入 if
  10.                         if(m % 5 == 0) printf("\n") ;        // 必须纳入 if
  11.                 }
  12.         }
  13. }
复制代码

          这是我写的版本
  1. #include <stdio.h>

  2. int main(void)
  3. {
  4.         int c , d , k , n                       ;
  5.         scanf("%d" , & n)                       ;
  6.         for(c = 0 , d = 3 * 5 * 7 , k = d ; k < n + 1 ; k += d) {
  7.                 if(c && ! (c % 5)) printf("\n") ;
  8.                 printf("%6d" , k)               ;
  9.                 c ++                            ;
  10.         }
  11.         printf("\n")                            ;
  12. }
复制代码

        编译、运行实况:
  1. D:\[00.Exerciese.2022]\C>g++ -o c c.c

  2. D:\[00.Exerciese.2022]\C>c
  3. 200
  4.    105

  5. D:\[00.Exerciese.2022]\C>c
  6. 2000
  7.    105   210   315   420   525
  8.    630   735   840   945  1050
  9.   1155  1260  1365  1470  1575
  10.   1680  1785  1890  1995

  11. D:\[00.Exerciese.2022]\C>
复制代码

        看看你贴的代码,你自己愿意看吗???
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-15 20:46:08 | 显示全部楼层
本帖最后由 桃花飞舞 于 2022-10-15 20:50 编辑

楼主代码已经写的很好了只是把打印输出和continue的位置写反了,

  1.         if (i%3==0 && i%5==0 && i%7==0)
  2.         {
  3.                 printf("%-6d",i);
  4.                 m++;
  5.         }
复制代码

条件成立是打印输出,
  1.         
  2.         if (i%3==0 && i%5==0 && i%7==0)
  3.         {
  4.                 printf("%-6d",i);
  5.                 m++;
  6.         }
  7.         else
  8.         {
  9.             continue;
  10.         }
复制代码

条件不成立是conitnue;

  1. #include <stdio.h>

  2. int main()
  3. {

  4.     int i, n, m = 0;
  5.     scanf("%d",&n);
  6.     for (i = 1; i <= n; i++)
  7.     {
  8.         if (i%3==0 && i%5==0 && i%7==0)
  9.         {
  10.                 printf("%-6d",i);
  11.                 m++;
  12.         }
  13.         else
  14.         {
  15.             continue;
  16.         }

  17.         if (m%5==0)
  18.             printf("\n");
  19.     }
  20.     return 0;
  21. }
复制代码

很简单的逻辑嘛,要不楼主再看看if  和 continue的用法,建议楼主好好排版,没人愿意看着这样的代码,毕竟不是机器
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2022-10-16 16:52:44 From FishC Mobile | 显示全部楼层
当时没电脑,在手机上复制的,所以排版有问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-14 02:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表