iT邦幫忙

0

不知道哪部分出錯了(找出最接近的值)

  • 分享至 

  • xImage

當輸入a[0]值,跑出a[0]值是正確的,但當我數入別的值時答案還是跑出a[0]值,要再輸入一次別的值才會恢復正常。
#include <stdio.h>
#include <stdlib.h>
int main(){
int a[10],i,j;
for(i=1;i<=10;i++){
scanf("%d",&a[i-1]);
}
do{
int short_a=abs(j-a[0]);
int d;
printf("Q:");
scanf("%d",&j);
if(j==0){
break;
}
for(i=1;i<10;i++){
if(abs(j-a[i])<short_a||abs(j-a[i])==short_a&&a[i]<a[0]){
short_a=abs(j-a[i]);
d=a[i];
}else if(j-a[0]==0){
d=a[0];
}
}
printf("%d",d);
printf("\n");
}while(j!=0);
return 0;
}
https://ithelp.ithome.com.tw/upload/images/20210606/20138179CmE7YLU77E.png

wahati iT邦新手 5 級 ‧ 2021-06-08 13:40:04 檢舉
我看了一下,我的想法是int short_a和scanf(j)的位置會影響,你再試試看。
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1

我要發表回答

立即登入回答