「已注销」 2023-10-02 01:25 采纳率: 62.5%
浏览 4
已结题

这两边有啥区别吗?我觉得除了字母不一样其他都一样 但是左边无法输出 右边却可以

正确的:



```c
#include<stdio.h>
void PrintArr(int a[],int n)
{
    for(int i=0;i<n-1;i++)//利用循环实现元素输出 
    {
        printf("%d",a[i]);//输出数字 
    if(i<n-2) printf(" ");//当输出数字并且不是最后一个数字之时,输出一个空格 
    }
}
void del(int n,int a[],int x)
{
    for(int i=x;i<n;i++)//从第x位开始,将数组元素每次用后一位取代。 
    a[i]=a[i+1];//前一位变成后一位 
}
int a[100];//开辟数组a的空间 
int main()
{
    int i,n,x;//定义循环变量i和数组元素个数n以及要删除的元素下标x 
    scanf("%d",&n);//键盘输入n 
    for(i=0;i<n;i++)//键盘输入数组a[] 
    scanf("%d",&a[i]);
    scanf("%d",&x);//键盘输入x 
    del(n,a,x);//执行del函数 
    PrintArr(a,n);//执行PrintArr函数
    return 0;//程序正常结束
} 


我的:
#include<stdio.h>
void PrintArr(int a[], int n)
{
    for(int c=0;c<n-1;c++)
    {
        printf("%d ",a[c]);
     } 
}
void del(int a[], int n, int i)
{
    for(int p=i;i<n;p++)
    {
        a[p]=a[p+1];
    }
}
int a[100]; 
int main()
{
    int n,i,j;
    scanf("%d",&n);
    for(j=0;j<n;j++)
    {
       scanf("%d",&a[j]);
    }
    scanf("%d",&i);
    del(a,n,i);
    PrintArr(a,n);
    return 0;
}

```

  • 写回答

2条回答 默认 最新

  • 记得开心一点啊 2023-10-02 02:07
    关注

    del里,是p<n不是i<n

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

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀