zzs2963584895 发表于 2022-12-9 10:57:05

教材P214:第8章课后习题题三(3)-数组元素循环移位问题(左移)

【问题描述】教材P214:第8章课后习题题三(3)-数组元素循环移位问题(左移)。
【输入形式】输入移位的个数。
【输出形式】输出循环移位前和后,数组元素的值。
【样例输入】

http://10.81.10.7/userfiles/image/1542124096708018293.jpg




【样例输出】
【样例说明】完成函数的编写和调用
【评分标准】补充下面代码

#include "stdio.h"
#define N 10
void cycle(int *p,int n,int count)
{   






}
int main()
{   int i,n,a={1,2,3,4,5,6,7,8,9,10};
    scanf("%d",&n);
    printf("Before:\n");
    for(i=0;i<N;i++)
      printf("%4d",a);






printf("\nAfter:\n");
      for(i=0;i<N;i++)
      printf("%4d",a);
    printf("\n");
    return 0;
}

zzs2963584895 发表于 2022-12-9 10:57:32

求求大佬帮助

zhangjinxuan 发表于 2022-12-9 12:55:41

输入输出是什么???

zzs2963584895 发表于 2022-12-9 15:35:39

zhangjinxuan 发表于 2022-12-9 12:55
输入输出是什么???

输入位移的个数
输出形式;输出循环位移前和后,数组元素的值
例如:
3
Before:
    1    2    3    4    5    6    7    8    9    10
After:
    4    5    6    7    8    9   10   1    2   3   

zzs2963584895 发表于 2022-12-9 15:37:01

zhangjinxuan 发表于 2022-12-9 12:55
输入输出是什么???

补充空着的代码就行

zhangjinxuan 发表于 2022-12-9 16:04:27

#include "stdio.h"
#define N 10
void cycle(int *p,int n,int count)
{   
        count %= n;
        int k = count, pos = 0;
        int nk = {};
        for (pos = 0; pos < n; ++pos) {
                nk = p;
                ++k;
                k %= n;
        }
        for (int i = 0; i < n; ++i)
                p = nk;
               
}
int main()
{   int i,n,a={1,2,3,4,5,6,7,8,9,10};
    scanf("%d",&n);
    printf("Before:\n");
    for(i=0;i<N;i++)
      printf("%4d",a);
        cycle(a, N, n);
        printf("\nAfter:\n");
      for(i=0;i<N;i++)
      printf("%4d",a);
    printf("\n");
    return 0;
}

zzs2963584895 发表于 2022-12-9 16:19:05

zhangjinxuan 发表于 2022-12-9 16:04


请问可以不用c99嘛

zhangjinxuan 发表于 2022-12-9 17:16:28

zzs2963584895 发表于 2022-12-9 16:19
请问可以不用c99嘛

#include "stdio.h"
#define N 10
void cycle(int *p,int n,int count)
{   
      count %= n;
      int k = count, pos = 0;
      int nk = {};
      for (pos = 0; pos < n; ++pos) {
                nk = p;
                ++k;
                k %= n;
      }
      int i;
      for (i = 0; i < n; ++i)
                p = nk;
               
}
int main()
{   int i,n,a={1,2,3,4,5,6,7,8,9,10};
    scanf("%d",&n);
    printf("Before:\n");
    for(i=0;i<N;i++)
      printf("%4d",a);
      cycle(a, N, n);
      printf("\nAfter:\n");
      for(i=0;i<N;i++)
      printf("%4d",a);
    printf("\n");
    return 0;
}

zhangjinxuan 发表于 2022-12-9 17:17:07

zzs2963584895 发表于 2022-12-9 16:19
请问可以不用c99嘛

什么年代了啊,咋还用C90啊,你用的VC6吗?

zzs2963584895 发表于 2022-12-9 19:55:28

zhangjinxuan 发表于 2022-12-9 17:17
什么年代了啊,咋还用C90啊,你用的VC6吗?

DevC++

zzs2963584895 发表于 2022-12-9 20:14:42

本帖最后由 zzs2963584895 于 2022-12-9 20:15 编辑

zhangjinxuan 发表于 2022-12-9 17:17
什么年代了啊,咋还用C90啊,你用的VC6吗?

file:///C:/Users/29635/AppData/Local/Temp/WeChat%20Files/d19888dd3ea71e8383b20e318535000.png
提交完如图所示,打开链接就能看到

zzs2963584895 发表于 2022-12-9 20:17:31

zhangjinxuan 发表于 2022-12-9 17:17
什么年代了啊,咋还用C90啊,你用的VC6吗?

file:///C:/Users/29635/AppData/Local/Temp/WeChat%20Files/9cc81c9b26a4c09f8f0d6880003fe07.png

用软件编译的结果,打开链接可看图

zhangjinxuan 发表于 2022-12-9 20:37:17

zzs2963584895 发表于 2022-12-9 20:17
file:///C:/Users/29635/AppData/Local/Temp/WeChat%20Files/9cc81c9b26a4c09f8f0d6880003fe07.png

用 ...

what??

zhangjinxuan 发表于 2022-12-9 20:38:05

zzs2963584895 发表于 2022-12-9 20:17
file:///C:/Users/29635/AppData/Local/Temp/WeChat%20Files/9cc81c9b26a4c09f8f0d6880003fe07.png

用 ...

忘了C90没有VLA{:10_247:}
#include "stdio.h"
#define N 10
void cycle(int *p,int n,int count)
{   
      count %= n;
      int k = count, pos = 0;
      int nk = {};
      for (pos = 0; pos < n; ++pos) {
                nk = p;
                ++k;
                k %= n;
      }
      int i;
      for (i = 0; i < n; ++i)
                p = nk;
               
}
int main()
{   int i,n,a={1,2,3,4,5,6,7,8,9,10};
    scanf("%d",&n);
    printf("Before:\n");
    for(i=0;i<N;i++)
      printf("%4d",a);
      cycle(a, N, n);
      printf("\nAfter:\n");
      for(i=0;i<N;i++)
      printf("%4d",a);
    printf("\n");
    return 0;
}

zzs2963584895 发表于 2022-12-9 20:42:31

zhangjinxuan 发表于 2022-12-9 20:38
忘了C90没有VLA

多谢大佬{:5_101:}

zhangjinxuan 发表于 2022-12-9 20:43:05

zzs2963584895 发表于 2022-12-9 20:42
多谢大佬

不用谢^_^
页: [1]
查看完整版本: 教材P214:第8章课后习题题三(3)-数组元素循环移位问题(左移)