PAT乙级1010出现段错误是什么原因?

发布于 2022-09-07 23:34:45 字数 1071 浏览 21 评论 0

1010 一元多项式求导
设计函数求一元多项式的导数。(注:x^n(n为整数)的一阶导数为nx^​(n−1)。)
输入格式:
以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。
输出格式:
以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 0 0。
输入样例:
3 4 -5 2 6 1 -2 0
输出样例:
12 3 -10 1 6 0

我的代码:

#include<iostream>
#include<vector>
using namespace std;

int main()
{
    vector<int> v;//存放输入的值
    vector<int> result;//存放输出的结果
    int n;
    int a, b;//系数,指数
    while(cin>>n)
    {
        v.push_back(n);
        if (cin.get() == '\n') 
            break;
        
    }

    for(int i = 0; i < v.size(); i+=2)
    {
        if(v[i+1] == 0)
            continue;
        a = v[i] * v[i+1];
        b = v[i+1] - 1;
        
        result.push_back(a);
        result.push_back(b);
    }

    for(int i = 0; i < result.size() - 1; i++)
    {
        cout<<result[i]<<" ";
    }
    cout<<result[result.size() - 1];
    return 0;
}

运行结果都是对的,但将代码提交上去时有段错误,请问是什么原因?
(目前对段错误的了解只知道是程序不该访问的内存空间)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

飘过的浮云 2022-09-14 23:34:45

试一试用vs之类的ide做一下代码检查

心舞飞扬 2022-09-14 23:34:45

可以试试这个:

#include<iostream>
using namespace std;
int main(){    
int index;
    int expo;
        cin>>expo>>index;    
        if(index==0)//如果指数为0     
        {        
        cout<<"0 0";        
        return 0;
            }     
        else//注意第一次输出的格式 !     
        cout<<index*expo<<' '<<index-1;
            while(cin>>expo>>index)//输入直到文件末尾     
            if(index!=0)//注意如果指数为0,不作输出!     
            cout<<' '<<index*expo<<' '<<index-1;//注意要先输出空格! 
                return 0;
                }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文