鱼C论坛

 找回密码
 立即注册
查看: 698|回复: 1

考研前突击一下,遇到问题!

[复制链接]
发表于 2023-11-24 21:48:31 | 显示全部楼层 |阅读模式

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

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

x
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>


  4. int main(){
  5.     int n,m;
  6.     scanf("%d",&n);
  7.     int *p = (int *)malloc(n*sizeof(int));
  8.     if(p==NULL){
  9.         printf("Error");
  10.     }
  11.     for(int i=0; i<n; i++){
  12.         scanf("%d",&p[i]);
  13.     }
  14.     scanf("%d",&m);
  15.     for(int i=0; i<n; i++){
  16.         printf("%d",p[i]);
  17.     }

  18.     for(int i=0; i<m; i++){
  19.         int num=p[0];
  20.         for(int j=n-1; j>0;j--){
  21.             p[(j+1)/n]=p[j];
  22.         }
  23.         p[1]=num;
  24.     }

  25.     for(int i=0; i<n; i++){
  26.         printf("%d",p[i]);
  27.     }

  28.     free(p);
  29. }
复制代码



像循环队列一样,向后移动m位,我感觉是我移位for循环出错了!!大佬帮我看一下!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-11-24 21:49:04 | 显示全部楼层
你的代码有一些错误。
首先,你需要包含stdio.h头文件以使用scanf和printf函数。
其次,你需要包含stdlib.h头文件以使用malloc函数。
最后,你的for循环缺少结束括号 }。

下面是修正后的代码:

  1. #include <stdio.h>
  2. #include <stdlib.h>

  3. int main() {
  4.     int n;
  5.     scanf("%d", &n);
  6.     int *p = (int *) malloc(n * sizeof(int));
  7.     if (p == NULL) {
  8.         printf("Error");
  9.         return 0; // 如果内存分配失败,直接返回
  10.     }
  11.     for (int i = 0; i < n; i++) {
  12.         scanf("%d", p + i); // 使用%p的偏移量来读取输入
  13.     }
  14.     for (int i = 0; i < n; i++) {
  15.         printf("%d ", *(p + i)); // 使用%p的偏移量来打印输出
  16.     }
  17.     free(p); // 释放内存
  18.     return 0;
  19. }
复制代码


这段代码在运行时,会首先从输入中读取一个整数n,然后动态分配一个大小为n的int类型数组,接着通过一个循环依次从输入中读取n个整数到数组中。最后,再通过一个循环将数组中的元素依次打印出来,并释放动态分配的内存。
以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-18 03:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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