很纠结的一道题,要注意:这里是一次输入,一次输出。。。
因为没注意,找不到错误,WA了几次。。。
#include<stdio.h>
#include<math.h>
int main()
{
int i,t[100],a[100],j,k,p[100][100];
j=0;
while(scanf("%d",&t[j])!=EOF)
{
if(t[j]==5280) break;
i=0; p[j][i]=0;
while(p[j][i]!=t[j])
scanf("%d",&p[j][++i]);
a[j]=i;
j++;
}
for(k=0;k<j;k++){
for(i=1;i<=a[k];i++){
if(p[k][i]!=t[k]){
if(abs(p[k][i]-t[k])==abs(p[k][i-1]-t[k]))
printf("Moving from %d to %d: same.\n",p[k][i-1],p[k][i]);
else if(abs(p[k][i]-t[k])>abs(p[k][i-1]-t[k]))
printf("Moving from %d to %d: colder.\n",p[k][i-1],p[k][i]);
else if(abs(p[k][i]-t[k])<abs(p[k][i-1]-t[k]))
printf("Moving from %d to %d: warmer.\n",p[k][i-1],p[k][i]);
}
else{
printf("Moving from %d to %d: found it!\n",p[k][i-1],t[k]);
break;
}
}
if(k!=j-1) printf("\n");
}
system("pause");
return 0;
}
#include<math.h>
int main()
{
int i,t[100],a[100],j,k,p[100][100];
j=0;
while(scanf("%d",&t[j])!=EOF)
{
if(t[j]==5280) break;
i=0; p[j][i]=0;
while(p[j][i]!=t[j])
scanf("%d",&p[j][++i]);
a[j]=i;
j++;
}
for(k=0;k<j;k++){
for(i=1;i<=a[k];i++){
if(p[k][i]!=t[k]){
if(abs(p[k][i]-t[k])==abs(p[k][i-1]-t[k]))
printf("Moving from %d to %d: same.\n",p[k][i-1],p[k][i]);
else if(abs(p[k][i]-t[k])>abs(p[k][i-1]-t[k]))
printf("Moving from %d to %d: colder.\n",p[k][i-1],p[k][i]);
else if(abs(p[k][i]-t[k])<abs(p[k][i-1]-t[k]))
printf("Moving from %d to %d: warmer.\n",p[k][i-1],p[k][i]);
}
else{
printf("Moving from %d to %d: found it!\n",p[k][i-1],t[k]);
break;
}
}
if(k!=j-1) printf("\n");
}
system("pause");
return 0;
}