oj上显示wrong answer什么原因 5
#include<stdio.h>#include<string.h>#include<malloc.h>char*arr[100];intn;intmain(){int...
#include<stdio.h>
#include<string.h>
#include<malloc.h>
char *arr[100];
int n;
int main()
{
int i;
while(scanf("%d",&n)!=EOF)
{i=0;
while(i<n)
{
arr[i]=(char *)malloc(20);
scanf("%s",arr[i]);
i++;
}
{
int i,j;
char str[]="china";
char *p=str;
for(i=0;i<n-i;i++)
{
if((*arr[i])==(*p))
{
for(j=i;j<n-1;j++)
{
arr[j]=arr[j+1];
}}}}{
int i,j;
char *temp;
for(i=0;i<n-2;i++)
{
for(j=0;j<n-2-i;j++)
{if(strcmp(arr[j],arr[j+1])>0)
{
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}}}}{
int i;
for(i=0;i<n-1;i++)
{
printf(arr[i]);
printf("\n");
}
printf("China\n");
}}
return 0;
}
2014年将在南京举行第2届奥林匹克青年运动会,在开幕式的运动员出场顺序上,按照国家名字的英文字母顺序来出场,请编写一个计算机程序实现国家名字的排序(升序),东道主 中国(China)在最后一个出场
输入参加国家数n(占一行),下面n行是国家明(必须包含China)
按字母序输出国家名字 ,东道主国家名字最后输出 展开
#include<string.h>
#include<malloc.h>
char *arr[100];
int n;
int main()
{
int i;
while(scanf("%d",&n)!=EOF)
{i=0;
while(i<n)
{
arr[i]=(char *)malloc(20);
scanf("%s",arr[i]);
i++;
}
{
int i,j;
char str[]="china";
char *p=str;
for(i=0;i<n-i;i++)
{
if((*arr[i])==(*p))
{
for(j=i;j<n-1;j++)
{
arr[j]=arr[j+1];
}}}}{
int i,j;
char *temp;
for(i=0;i<n-2;i++)
{
for(j=0;j<n-2-i;j++)
{if(strcmp(arr[j],arr[j+1])>0)
{
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}}}}{
int i;
for(i=0;i<n-1;i++)
{
printf(arr[i]);
printf("\n");
}
printf("China\n");
}}
return 0;
}
2014年将在南京举行第2届奥林匹克青年运动会,在开幕式的运动员出场顺序上,按照国家名字的英文字母顺序来出场,请编写一个计算机程序实现国家名字的排序(升序),东道主 中国(China)在最后一个出场
输入参加国家数n(占一行),下面n行是国家明(必须包含China)
按字母序输出国家名字 ,东道主国家名字最后输出 展开
1个回答
展开全部
oj上显示wrong answer最常见的原因是边界数据没考虑,低估数据强度,漏看数据范围。
其次是编译器差异。然后是系统差异。
正式比赛选手机器跟判题都是同配置同软件版本,平时训练很难保证。总之看AC率和绝对数:AC绝对数越多坑的几率越低。AC率越高,犯低级错误的概率越高。
扩展资料:
OJ作为一种在编程竞赛中用来测试参赛程序的在线系统,也可以用于平时练习。许多OJ网站会自发组织一些竞赛。
OJ系统能够编译并执行代码,使用预设的数据对这些程序进行测试。提交的代码一般会在受限的环境下运行,包括时间限制、内存限制、安全限制等。代码的输出会被OJ系统捕获,与标准答案进行比较后返回结果。
OJ网站会对用户进行排名,以用户的提交答案通过数多少或某个题目执行时间快慢为排名依据。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询