吾家有事情 发表于 2021-12-21 14:20:17

大佬们救命,函数这块不太懂,有什么办法可以帮帮吗

一、输入十个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换,写三个函数:1.输入十个数;2.进行处理 3.输出十个数且整理后的十个数,每个数后跟一个空格(最后一个也要有)
二、有n个人围城一圈,顺序排号,从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位
三、有一字符串,包含n个字符,写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串

傻眼貓咪 发表于 2021-12-21 14:39:23

#include <stdio.h>

int nums; // 全局

void insert(){
        for(int i = 0; i < 10; i++)
        scanf("%d", &nums);
}

void process(){
        for(int i = 1; i < 10; i++)
        if(nums < nums){
                nums -= nums;
                nums += nums;
                nums = nums-nums;
        }
        for(int i = 0; i < 9; i++)
        if(nums > nums){
                nums -= nums;
                nums += nums;
                nums = nums-nums;
        }
}

void print(){
        for(int i = 0; i < 10; i++)
        printf("%d ", *(nums+i));
}


int main(){
        insert();
        process();
        print();
}

傻眼貓咪 发表于 2021-12-21 14:47:39

第二题不明白什么意思

以下是第三题:#include <stdio.h>

int main(){
        int n, m;
        scanf("%d%d", &n, &m);
        char str1, str2;
        scanf("%s", str1);
        for(int i = m, j = 0; i < n; i++, j++)
        str2 = str1;
        printf("%s", str2);
}

吾家有事情 发表于 2021-12-21 14:48:58

这是三个问题{:10_266:}{:10_250:}{:10_266:}

傻眼貓咪 发表于 2021-12-21 14:52:18

第二题不明白它在说什么,所以没有代码

吾家有事情 发表于 2021-12-21 14:55:18

其实我也看不懂第二题是什么意思,但是老师出的题。。

吾家有事情 发表于 2021-12-21 15:03:16

第二题的意思一个是这样,比如有三个人123,报数时3出局,剩下12,因为是一个圈,所以1报到了3,剩下了2

吾家有事情 发表于 2021-12-21 15:04:31

傻眼貓咪 发表于 2021-12-21 14:52
第二题不明白它在说什么,所以没有代码


第二题的意思一个是这样,比如有三个人123,报数时3出局,剩下12,因为是一个圈,所以1报到了3,剩下了2

傻眼貓咪 发表于 2021-12-21 15:07:08

第二题:#include <stdio.h>

int main(){
        int n;
        scanf("%d", &n);
        int arr, m = 0;
        for(int i = 0; i < n; i++)
        arr = 1;
        for(int i = 0, c = 1, m = 0; m < n; c++, i++)
        if(arr && c == 3){
                c = 0;
                arr = 1;
                printf("%d ", i%n+1);
                m++;
        }
        return 0;
}

吾家有事情 发表于 2021-12-21 15:39:11

傻眼貓咪 发表于 2021-12-21 15:07
第二题:

不对啊,在n=2就不成立了

傻眼貓咪 发表于 2021-12-21 15:40:35

吾家有事情 发表于 2021-12-21 15:39
不对啊,在n=2就不成立了

已修改#include <stdio.h>

int main(){
        int n;
        scanf("%d", &n);
        int arr;
        for(int i = 0; i < n; i++)
        arr = 1;
        for(int i = 0, m = 1, c = 0; c < n; i++){
                if(arr){
                        if(!(m%3)){
                                arr = 0;
                                printf("%d ", (i%n)+1);
                                c++;
                                if(c == n) printf("\nlast: %d", (i%n)+1);
                        }
                        m++;
                }
        }
        return 0;
}

傻眼貓咪 发表于 2021-12-21 15:54:33

吾家有事情 发表于 2021-12-21 15:39
不对啊,在n=2就不成立了

请问大哥,修改后的代码正确吗?可否设最佳答案?{:10_245:}
页: [1]
查看完整版本: 大佬们救命,函数这块不太懂,有什么办法可以帮帮吗