C语言问题,编译器上自己调试没问题,但在线提交时总显示Runtime error,怎么解决?
#include<iostream>#include<stdlib.h>usingnamespacestd;structNode{intdata;Node*next;};...
#include<iostream>
#include <stdlib.h>
using namespace std;
struct Node{
int data;
Node* next;
};
Node* init(int n)
{ Node* head;
Node* node;
if(n < 0) return NULL;
head = (Node*)malloc(sizeof(Node));
head->next = NULL;
Node* move = head;
for(int i = 1; i <= n; ++i)
{
node = (Node*)malloc(sizeof(Node));
node->data = i;
node->next = NULL;
move->next = node;
move = node;
}
move->next=head->next;
free(head);
return move->next;
}
int Josephus(Node* head,int num,int off)
{
Node *p,*q;
int i;
p=head;
while(p->next!=p)
{
for(i=1;i<off;i++)
{
q=p;
p=p->next;
}
q->next=p->next;
p=q->next;
}
return p->data;
}
int main()
{
int num=1,i=0,off=1;
static long long int a[301];
while(1)
{
cin>>num>>off;
if(num==0&&off==0) break;
Node* head;
head=init(num);
a[i]=Josephus(head,num,off);
i++;
free(head);
}
int j;
for( j=0;j<i-1;j++)
cout<<a[j]<<endl;
cout<<a[j];
return 0;
} 展开
#include <stdlib.h>
using namespace std;
struct Node{
int data;
Node* next;
};
Node* init(int n)
{ Node* head;
Node* node;
if(n < 0) return NULL;
head = (Node*)malloc(sizeof(Node));
head->next = NULL;
Node* move = head;
for(int i = 1; i <= n; ++i)
{
node = (Node*)malloc(sizeof(Node));
node->data = i;
node->next = NULL;
move->next = node;
move = node;
}
move->next=head->next;
free(head);
return move->next;
}
int Josephus(Node* head,int num,int off)
{
Node *p,*q;
int i;
p=head;
while(p->next!=p)
{
for(i=1;i<off;i++)
{
q=p;
p=p->next;
}
q->next=p->next;
p=q->next;
}
return p->data;
}
int main()
{
int num=1,i=0,off=1;
static long long int a[301];
while(1)
{
cin>>num>>off;
if(num==0&&off==0) break;
Node* head;
head=init(num);
a[i]=Josephus(head,num,off);
i++;
free(head);
}
int j;
for( j=0;j<i-1;j++)
cout<<a[j]<<endl;
cout<<a[j];
return 0;
} 展开
2个回答
展开全部
Microsoft Visual C++ Runtime Library Runtime Error!这个出错的原因基本上都是以下几个造成的:
一、系统Microsoft Visual C++运行库版本旧,而软件或网站所需要的运行库需要较新的版本,尤其是玩新游戏的时候。
二、系统Microsoft Visual C++运行库被病毒或木马损坏了。
三、软件所需要的运行库跟系统自带的Microsoft Visual C++运行库不一致。
可以重新下载Microsoft Visual C++安装试试
一、系统Microsoft Visual C++运行库版本旧,而软件或网站所需要的运行库需要较新的版本,尤其是玩新游戏的时候。
二、系统Microsoft Visual C++运行库被病毒或木马损坏了。
三、软件所需要的运行库跟系统自带的Microsoft Visual C++运行库不一致。
可以重新下载Microsoft Visual C++安装试试
展开全部
runtime error是运行时错误。你自己可以成功编译运行,但是提交上去之后报错的原因是你的程序在特定输入的时候出现错误。
追问
你可以看出来是什么特定输入吗?我找了很久都没找出来。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询