主题:帮帮忙看看我的程序问什么错误?
tcxgsy
[专家分:450] 发布于 2005-08-09 14:45:00
#define M 1024
#include"stdio.h"
#include"math.h"
int com(int a[M],int n)
{ int i,j=0,max,min;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{ if(a[i]>=a[j])
max=i;
else continue;
}
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{if(a[i]<=a[j])
min=i;
else continue;
}
if(max>min) return(max-min);
else return("-1");
}
main()
{int i,n,k,j;
int a[M],b[M];
for(j=0;j<2;j++)
{ scanf("%d",&n);
if(n>0&&n<=5000)
{ for(i=0;i<n;i++)
scanf("%d",&a[i]);
k=com(a,n);
printf("%d\n",k);
}
}
}
题目: http://acm.pku.edu.cn/JudgeOnline/中的2452
回复列表 (共12个回复)
沙发
warmharted [专家分:700] 发布于 2005-08-10 17:21:00
给你修改好了,你看一下吧,记得评分哦呵呵
#define M 1024
#include"stdio.h"
#include"math.h"
int com(int a[M],int n)
{ int i, temp_max, temp_min, max, min;
temp_max = temp_min = a[0];
max = min = 0;
for(i=1;i<n;i++) {//这样就可以在一遍循环中求到max和min
if(a[i] > temp_max){
temp_max = a[i];
max = i;
}
if(a[i] < temp_min){
temp_min = a[i];
min = i;
}
}
if(max>min) return(max-min);
else return(-1);//不要加引号 ,否则返回字符串而非整数
}
main()
{
int i,n,k,j;
int a[M],b[M];
for(j=0;j<2;j++){
puts("\ninput the dimision\n");
scanf("%d",&n);
if(n>0&&n<=5000)
{
for(i=0;i<n;i++) {
printf("input the %dth elem: ", i);
scanf("%d",&a[i]);
}
k=com(a,n);
printf("``%d``\n",k);
}
}
}
板凳
tcxgsy [专家分:450] 发布于 2005-08-10 23:18:00
但是还是错误
3 楼
warmharted [专家分:700] 发布于 2005-08-11 08:45:00
不会的,我在机子上已经调过了,你告诉我什么情况?????也许编译器
4 楼
tcxgsy [专家分:450] 发布于 2005-08-11 10:47:00
你在http://acm.pku.edu.cn
上运行一下你就知道了
5 楼
warmharted [专家分:700] 发布于 2005-08-11 12:36:00
我是在cygwin下运行的,要不你把报错信息发给我.我再看一下,奇怪了
6 楼
tcxgsy [专家分:450] 发布于 2005-08-11 12:41:00
#define M 1024
#include"stdio.h"
#include"math.h"
int com(int a[M],int n)
{ int i, temp_max, temp_min, max, min;
temp_max = temp_min = a[0];
max = min = 0;
for(i=1;i<n;i++) {
if(a[i] > temp_max){
temp_max = a[i];
max = i;
}
if(a[i] < temp_min){
temp_min = a[i];
min = i;
}
}
if(max>min) return(max-min);
else return(-1);
}
main()
{
int i,n,k,j;
int a[M],b[M];
for(j=0;j<2;j++){
scanf("%d",&n);
if(n>0&&n<=5000)
{
for(i=0;i<n;i++)
scanf("%d",&a[i]);
k=com(a,n);
printf("%d\n",k);
}
}
}
Problem Id:2452 User Id:tcxgsy
Memory:84K Time:0MS
Language:C Result:Wrong Answer
7 楼
tcxgsy [专家分:450] 发布于 2005-08-11 12:42:00
分析报告 是没有 就一个wrong answer
8 楼
warmharted [专家分:700] 发布于 2005-08-11 12:47:00
我把上面函数有加了提示符,你在别的环境,如 tc 或者 vc 上试一下,我刚在cygwin下又试了,可是没问题啊...是不你的那个编译环境对代码有什么特殊要求啊
9 楼
tcxgsy [专家分:450] 发布于 2005-08-11 12:48:00
你可以打开他的系统看看
10 楼
tcxgsy [专家分:450] 发布于 2005-08-11 12:49:00
http://acm.pku.edu.cn/JudgeOnline/
我来回复