生姜ZYX 发表于 2021-3-16 23:45:42

求助!修改代码,使包含7的数和7的倍数的数都输出skip

本帖最后由 生姜ZYX 于 2021-3-16 23:57 编辑

若干人按照固定顺序报数,报的数各位包含7,或者为7的倍数的情况,报 skip。
【输入形式】

人数,报数最大的数

【输入形式】

   人数,报数最大的数

【输出形式】

人员1编号报的数1

人员2编号报的数2

......

人员m编号 抱得数n

人员1编号报的数n+1

人员2编号报的数n+2

#include <stdio.h>
int main(){
        int n,i=0,j,m,c=0;
    scanf("%d %d",&m,&n);
    while(i<n){
            c=0;
       while(c<m&&i<n){
            i++;
            c++;
            if(i%7==0||i%10==7){
            printf("%d skip\n",c);
                }
            else {
                j=i;
            printf("%d %d\n",c,j);}
    }
    c++;
        }
        return 0;
}

生姜ZYX 发表于 2021-3-16 23:53:42

帮帮孩子!!!{:5_100:}

wp231957 发表于 2021-3-17 08:45:16

好久没写c代码了,先写一个python的 你先看看是不是和你要求的一样:
m=100
man=["A","B","C","D","E","F"]
for x in range(1,m+1):
    if x % 7 ==0 or x % 10==7or (x//10) % 10==7:
      print(man[(x-1)%6],"=>","skip")
    else:   
      print(man[(x-1)%6],"=>",x)

运行效果:
D:\我>py test2.py
A => 1
B => 2
C => 3
D => 4
E => 5
F => 6
A => skip
B => 8
C => 9
D => 10
E => 11
F => 12
A => 13
B => skip
C => 15
D => 16
E => skip
F => 18
A => 19
B => 20
C => skip
D => 22
E => 23
F => 24
A => 25
B => 26
C => skip
D => skip
E => 29
F => 30
A => 31
B => 32
C => 33
D => 34
E => skip
F => 36
A => skip
B => 38
C => 39
D => 40
E => 41
F => skip
A => 43
B => 44
C => 45
D => 46
E => skip
F => 48
A => skip
B => 50
C => 51
D => 52
E => 53
F => 54
A => 55
B => skip
C => skip
D => 58
E => 59
F => 60
A => 61
B => 62
C => skip
D => 64
E => 65
F => 66
A => skip
B => 68
C => 69
D => skip
E => skip
F => skip
A => skip
B => skip
C => skip
D => skip
E => skip
F => skip
A => skip
B => 80
C => 81
D => 82
E => 83
F => skip
A => 85
B => 86
C => skip
D => 88
E => 89
F => 90
A => skip
B => 92
C => 93
D => 94
E => 95
F => 96
A => skip
B => skip
C => 99
D => 100

生姜ZYX 发表于 2021-3-18 08:20:04

wp231957 发表于 2021-3-17 08:45
好久没写c代码了,先写一个python的 你先看看是不是和你要求的一样:




我还没学Python{:5_106:}

wp231957 发表于 2021-3-18 08:39:19

生姜ZYX 发表于 2021-3-18 08:20
我还没学Python

简单翻译一下:和上面代码运行效果一样
#include<stdio.h>
int main()
{
    int m=100;
    char * man[]={"A","B","C","D","E","F"};
    for(int i=1;i<=100;i++)
    {
      if (i % 7 ==0 || i % 10==7|| (i/10) % 10==7)
            printf(" %s ==> %s \n",man[(i-1)%6],"skip");
      else   
            printf(" %s ==> %d \n",man[(i-1)%6],i);
    }
    return 0;
}

生姜ZYX 发表于 2021-3-19 10:06:59

wp231957 发表于 2021-3-18 08:39
简单翻译一下:和上面代码运行效果一样

噢噢,谢谢你{:5_109:}
页: [1]
查看完整版本: 求助!修改代码,使包含7的数和7的倍数的数都输出skip