qq_59853617 2022-05-24 14:04 采纳率: 60%
浏览 145
已结题

1.利用指针,将整型数组a中的n个整数循环移动一个位置,

1.利用指针,将整型数组a中的n个整数循环移动一个位置,即a[0]的内容放入a[1],a[1]的内容放入a[2],…,a[-1]的内容放入a[]:n和数组a的内容均由用户输入,n不超过10。

  • 写回答

2条回答 默认 最新

  • a5156520 2022-05-24 14:33
    关注

    一个实现,供参考:

    #include <stdio.h>
    
    int main(void){
        
        
        int a[10]; //因为数组的长度不超过10,所以定义数组a为11个整数长度就可以了。 
        int i;
        int n;
        printf("请输入数组a的长度:");
        scanf("%d",&n);
        
        if(n>10){
            printf("数组a的长度不能超过10.\n");
            return 0;
        }
        
        //获取输入到数组a 
        for(i=0;i<n;i++){
            printf("请输入第%d个数组的元素:",i+1);
            scanf("%d",&a[i]);
        } 
        
    
        
        int *p=a;
        int j;
        int temp = *(p+i-1); //保存最后一个元素的值 
        //利用指针将数组a的元素往后移动一个位置 
        for(j=i;j>0;j--){  //从后往前逐个复制其值,达到数组元素往后移动一个位置的目的 
            *(p+j)=*(p+j-1);
        }
        *(p+j)=temp;//把最后一个元素移动到第一个元素 
        
        printf("\n经过移动后的数组a元素如下:\n");
        int k; 
        for(k=0;k<n;k++){
            printf("%d ",a[k]);
        
        }
        
        return 0;
    } 
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月18日
  • 已采纳回答 10月10日
  • 创建了问题 5月24日

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?