一个程序编译通过了 但在acm系统下提示compile error
#include<stdio.h>#include<string.h>voidf(char[][]);main(){chara[5][80];inti;for(i=0;i...
#include<stdio.h>
#include<string.h>
void f(char[][]);
main()
{
char a[5][80];
int i;
for(i=0;i<5;i++)
gets(a[i]);
f(a);
for(i=0;i<5;i++)
puts(a[i]);
system("pause");
}
void f(char s[5][80])
{
int m,j,k;
char temp[80];
for(m=0;m<4;m++)
{k=m;
for(j=m+1;j<5;j++)
{if(strlen(s[k])>strlen(s[j]))k=j;}
if(k!=m)
{strcpy(temp,s[k]);
strcpy(s[k],s[m]);
strcpy(s[m],temp);}
}
}
似乎是子函数的问题? 展开
#include<string.h>
void f(char[][]);
main()
{
char a[5][80];
int i;
for(i=0;i<5;i++)
gets(a[i]);
f(a);
for(i=0;i<5;i++)
puts(a[i]);
system("pause");
}
void f(char s[5][80])
{
int m,j,k;
char temp[80];
for(m=0;m<4;m++)
{k=m;
for(j=m+1;j<5;j++)
{if(strlen(s[k])>strlen(s[j]))k=j;}
if(k!=m)
{strcpy(temp,s[k]);
strcpy(s[k],s[m]);
strcpy(s[m],temp);}
}
}
似乎是子函数的问题? 展开
3个回答
展开全部
int main()
{
//system("pause");没有
return 0;
}
大概是这样吧
{
//system("pause");没有
return 0;
}
大概是这样吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先ACM的评测系统不接受void 类型的主函数,这点要注意,主函数的类型一定要是int,system("pause");也当然是不接受的,否则会出错。
我们学校OJ的FAQ:
Restricted Function
你的程序运行时使用我们不允许使用的调用,将会得到此错误,诸如文件操作等相关函数。请特别注意:system("PAUSE"); 也会导致此错误。
我们学校OJ的FAQ:
Restricted Function
你的程序运行时使用我们不允许使用的调用,将会得到此错误,诸如文件操作等相关函数。请特别注意:system("PAUSE"); 也会导致此错误。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
女生也,哪个ACM team 有福了。哈哈
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询