有兩組整數,
第一組:20,21,22,23……120
第二組:0,1,2,3,4……255
兩組資料的對應關系:
20對應0,120對應255,70對應255/2=128(四舍五入)。那么第一組的21對應第二組什么值?22對應什么值?
需要一個函式,輸入第一組的任意一個值,回傳第二組對應的值。
uj5u.com熱心網友回復:
b=((a-20)/100.0+0.001)*255;uj5u.com熱心網友回復:
麻煩把b也四舍五入一下,怎么寫?uj5u.com熱心網友回復:
#include <stdio.h>
#include <stdlib.h>
int a,b;
int main() {
printf("請輸入20-120中任意一個值:");
scanf_s("%d", &a);
b = ((a - 20) / 100.0 + 0.002) * 255;
//b = ((a - 20) + 0.2) * (255 / 100.0);
printf("%d\n", b);
system("pause");
return 0;
}
b是整數型,自動就把小數點后面的去掉了,前面加的0.002*255就相當于四舍五入了
{
double a=1.6;
int b=a+0.5,c=a;
}
輸出結果是b為2,c為1;
uj5u.com熱心網友回復:
是這個意思嗎?
int fun(int n) {
return (int)((n-20)*255.0/(120-20)+0.5);
}
int main( )
{
int i;
for(i=20; i<=120; i++) {
printf("%d:%d\n", i, fun(i));
}
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/236816.html
標籤:C語言
上一篇:C指標
