Runtime Error c++

来源:百度知道 编辑:UC知道 时间:2024/06/17 14:17:49
#include <iostream>
using namespace std;
int main ()
{
char b[101][10];
int a[90];
int n,i,j,t;
cin>>n;
for(i=20;i<=90;i++)
{
a[i]=0;
}
for(i=1;i<=n;i++)
{
cin>>t>>b[i];
a[t]=i;
}
for(i=90;i>=20;i--)
{
if(a[i]!=0)
{
cout<<b[a[i]]<<endl;
}
}
return 0;
}
==============================
小白鼠排队
Time Limit:1000MS Memory Limit:65536K
Total Submit:1725 Accepted:902

Description
N只小白鼠(1 < N < 100),每只鼠头上戴着一顶有颜色的帽子。现在称出每只白鼠的重量,要求按照白

鼠重量从大到小的顺序输出它们头上帽子的颜色。帽子的颜色用“red”,“blue”等字符串来表示。不

同的小白鼠可以戴相同颜色的帽子。白鼠的重量用整数表示。

Input
输入第一行为一个整数N,表示小白鼠的数目。
下面有N行,每行是一只白鼠的信息。第一个为不大于100的正整数,表示白鼠的重量,;第二个为字符

串,表示白鼠的帽子颜色,字符串长度不超过10个字符。

注意:白鼠的重量各不相同。

Output
按照白鼠的重量从大到小的顺序输出白鼠的帽子颜色。

Sample In

10个字符你至少要用11空间来存储,最后有一个'\0'。
char b[101][12];
for(i=20;i<=90;i++)
注意下标是从0-(90-1),下标的范围你没有弄明白

for(i=20;i<=90;i++)
这句a[90]时数组溢出,
还有你其它的代码,不知道你要完成什么功能,要是你想做ACM的题的话,好像你那代码有问题