强风_QF 2023-05-28 12:40 采纳率: 92.9%
浏览 34
已结题

数组倒转变式的目前状态啊

img


一般的题都会在输入的时候把数组个数同时输入,这个直接写数组元素了,咋做啊(希望给出一个完整代码)
以下是我写的代码喵呜


#include<stdio.h>
void reverse(int arr [],int sum){
    for(int  i = 0; i < sum / 2; i++){
        int temp = arr[i];
        arr[i] = arr[sum - i - 1];
        arr[sum - i -1] = temp;
    }
    for(int j = 0 ;j < sum ;j++){
        printf("%d",arr[j]);
    }
}
int main(){
    int arr [100] = {0};
    int sum = 0;
    for(int i = 0;i < 100;i++){
        scanf("%d",&arr[i]);
        if(arr[i] = '\n'){
            break;
        }
        sum++;
    }
    reverse(arr,sum);
    return 0;
}
  • 写回答

2条回答 默认 最新

  • qzjhjxj 2023-05-28 13:02
    关注

    这么改,供参考:

    #include<stdio.h>
    void reverse(int arr [],int sum){
        for(int  i = 0; i < sum / 2; i++){
            int temp = arr[i];
            arr[i] = arr[sum - i - 1];
            arr[sum - i -1] = temp;
        }
        for(int j = 0 ;j < sum ;j++){
            printf("%d ",arr[j]);
        }
    }
    int main(){
        int  arr [100] = {0}, i = 0;
        do {
            scanf("%d", &arr[i++]);
        }while ((getchar()) != '\n');
    
        //for(int i = 0;i < 100;i++){
        //    scanf("%d",&arr[i]);
        //    if(arr[i] = '\n'){
        //        break;
        //    }
        //    sum++;
        //}
        reverse(arr,i);
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月5日
  • 已采纳回答 5月28日
  • 创建了问题 5月28日