a647
輸入說明 :
測試資料的第一行是一個整數 n,代表John總共投資了 n 件藝術品。以下 n 行,每一行有兩個整數 m 和 p,m 是該藝術品投資的金額、p 是該藝術品目前的價值。其中 1≤m,p≤100000,單位是仟元。
輸出說明 :
每一件藝術品依據它的投資金額及目前價值,計算並輸出其獲利率 x。x為正,表示獲利;x為負表示虧損。若x≥10.00% 或 x≤-7.00%,即售出該藝術品,以「dispose」表示;否則,即保留該藝術品,以「keep」表示。輸出格式,請見輸出範例。
一個位元一個位元做,不能直接把答案用printf(".2lf",n)的原因是你不知道浮點數後面的情況是怎麼樣,你只印到小數點第二位,編譯器會去比較是四捨比較接近,還是五入比較接近
ex:你以為是0.3600四捨五入,但printf(".2lf",n)答案是0.37,因為0.3600有可能會是
0.360000097而不是0.36000000
#include<stdio.h>
#include<stdlib.h>
int main()
{
int m,p;
int i,n;
int temp2;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d %d",&m,&p);
int temp;
temp = p-m;
if(temp<0)
printf("%c",'-');
else
printf("%c",' ');
temp *=100000;
temp/=m;
temp2=temp;
temp=abs(temp);
if((temp%10)>=5)
temp+=10;
printf("%d",temp/1000);
printf("%c",'.');
temp/=10;
printf("%02d",temp%100);
printf("%c",'%');
printf(" %s\n",(temp2>=10000||temp2<=-7000)?"dispose":"keep");
}
return 0;
}