鱼C论坛

 找回密码
 立即注册
查看: 1392|回复: 3

[已解决]逆序输出,哪里错了

[复制链接]
发表于 2023-10-18 20:24:05 | 显示全部楼层 |阅读模式

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

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

x
#include<iostream>
using namespace std;
int main()
{
        int arr[10] = { 0 };
        for (int i = 0; i <= 9; i++)
        {
                cin >> arr[i] >> " ";
        }
        return 0;
        for (int j = 9; j >= 0; j--)
        {
                cout << arr[j] << " ";
        }
        return 0;
}
最佳答案
2023-10-18 20:25:19
这段代码存在两个错误:

1. 在输入循环中,cin >> arr[i] >> " ";这行代码是错误的。你可能想要在每次输入数组元素后输出一个空格,但是这个写法是不正确的。应该将" "作为字符串常量直接输出,而不应该作为输入的一部分。

2. 将return 0;放在了第一个循环之后。这会导致程序在输入完毕后立即结束,而不会执行下面的逆序输出操作。

修改后的代码如下:
++#include<iostream>using namespace std;int main(){    int arr[10] = { 0 };    for (int i = 0; i <= 9; i++)    {        cin >> arr[i];    }        for (int j = 9; j >= 0; j--)    {        cout << arr[j] << " ";    }    return 0;}
修改后的代码会按照逆序输出的要求,首先输入10个整数,并存储在数组arr中,然后从数组的最后一个元素开始逆序输出数组元素,并在每个元素之间输出一个空格。最后,程序会返回0,表示正常结束。请注意,之前的return 0;被移动到了正确的位置。

球一个最佳答案谢谢啦!这对我非常重要!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-10-18 20:24:28 | 显示全部楼层
代码中存在一些错误。以下是修正后的代码:
#include<iostream>
using namespace std;

int main()
{
    int arr[10] = { 0 };
    for (int i = 0; i <= 9; i++)
    {
        cin >> arr[ i];
    }
    
    for (int j = 9; j >= 0; j--)
    {
        cout << arr[j] << " ";
    }
    
    return 0;
}

修正说明:
· 将 cin >> arr[ i] >> " "; 修改为 cin >> arr[ i];,因为不需要输入空格。
· 将 return 0; 移到逆序输出循环的前面,以保证程序能够执行完整个逆序输出。
· 删除多余的 return 0;,因为只需要一个主函数返回语句即可。
请注意,本回答来自GPT-3.5
如果问题已经解决,请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-10-18 20:24:34 | 显示全部楼层
问题出在代码中的两个return语句上。第一个return语句会导致程序提前结束,后面的代码不会被执行。所以,需要将第一个return语句删除。

此外,你在输入数组元素时使用了  cin >> arr[ i] >> " ";  这样的语法是错误的。应该将  >> " "  修改为  >> arr[ i] ,即输入的值应该存储到数组中。

修正后的代码如下:
#include<iostream>
using namespace std;

int main()
{
    int arr[10] = { 0 };
    for (int i = 0; i <= 9; i++)
    {
        cin >> arr[ i];
    }

    for (int j = 9; j >= 0; j--)
    {
        cout << arr[j] << " ";
    }

    return 0;
}

这样修改后,程序会按照逆序输出输入的数组元素。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-10-18 20:25:19 | 显示全部楼层    本楼为最佳答案   
这段代码存在两个错误:

1. 在输入循环中,cin >> arr[i] >> " ";这行代码是错误的。你可能想要在每次输入数组元素后输出一个空格,但是这个写法是不正确的。应该将" "作为字符串常量直接输出,而不应该作为输入的一部分。

2. 将return 0;放在了第一个循环之后。这会导致程序在输入完毕后立即结束,而不会执行下面的逆序输出操作。

修改后的代码如下:
++#include<iostream>using namespace std;int main(){    int arr[10] = { 0 };    for (int i = 0; i <= 9; i++)    {        cin >> arr[i];    }        for (int j = 9; j >= 0; j--)    {        cout << arr[j] << " ";    }    return 0;}
修改后的代码会按照逆序输出的要求,首先输入10个整数,并存储在数组arr中,然后从数组的最后一个元素开始逆序输出数组元素,并在每个元素之间输出一个空格。最后,程序会返回0,表示正常结束。请注意,之前的return 0;被移动到了正确的位置。

球一个最佳答案谢谢啦!这对我非常重要!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 08:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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