北大ACM1107题说我Output Limit Exceeded

来源:百度知道 编辑:UC知道 时间:2024/06/19 05:29:12
首先嘛叫Output Limit Exceeded啊……明明样数都对了……啊!!!我恨ACM...
代码:(唉,新手,大家帮忙找找错吧……就剩10分了,各位海涵啊……)
#include<stdio.h>
#include<STRING.H>
main()
{
char a[1000],b[1000];
int k[4];
while(scanf("%d %d %d",&k[1],&k[2],&k[3]),k[1]!=0||k[2]!=0||k[3]!=0)
{
int g[4][1000],c[4]={0,0,0,0},i,m,n,q;
fflush(stdin);
gets(a);
for(i=0;a[i]!='\0';i++)
{
if(a[i]>='a'&&a[i]<='i')
g[1][c[1]++]=i;
else if(a[i]>='j'&&a[i]<='r')
g[2][c[2]++]=i;
else
g[3][c[3]++]=i;
}
for(n=1;n<4;n++)
{
for(q=0;q<k[n];q++)
b[g[n][q]]=a[g[n][c[n]-k[n]+q]];
for(m=0;q<c[n];q++)
b[g[n][q]]=a[g[n][m++]];
}
b[i]='\0';
puts(b);
}
}
能详细一点么……样数都对了啊,看题……呃……这个题我看了接近半小时了……

#include <stdio.h>
#define SIZE 10

void sort(int a[],int n)
{
int i,len,temp;
len=n-1;
for(i=0;i<len;)
{
if((a[i]&0x01)==0) //判断是否为偶数
{
temp=a[len];
a[len]=a[i];
a[i]=temp;
len--;
}
else
i++;
}
}
int main()
{
int a[SIZE]={0},i;
for(i=0;i<SIZE;i++)
scanf("%d",&a[i]);
sort(a,SIZE);
for(i=0;i<SIZE;i++)
printf("%-5d",a[i]);
printf("\n");
return 0;
}

从字面上翻译是输出溢出。就是说你的输出结果太多。
看看你的输出结果是不是符合要求。一般就是看错题了!

输出限制被打破。
main()前加void

while(scanf(&qu