一、c語言四舍五入的設計思路是怎樣的?求詳細解答。。。。
#include<stdio.h>
void main()
{
int a;
float x,i;
scanf(%f,&x);
i=x-int(x);//x減去整數部分
if(i>=0.5) a=int(x)+1;//x大于0,x小于0的情況自己寫咯
else a=int(x);//c語言中類型轉換是用向0取整的
printf(%d\n,a);
}
如果還需要保留多少位小數,可以這樣設計程序:
以保留3位為例,x先乘1000,再按上面程序做判斷,得到a值,再把a除以1000。
舉個例x=1.2359
y=x*1000; //y=1235.9減去整數部分后
i=y-int(y);//i=0.9; 這時可判斷是進一
a=int(y)+1;//a=1236
x=a/1000.0;//即x=1.236
二、pascal 動態規劃 奶牛打工 怎么做,思路是什么?
分析
這道題目和上面的采藥的區別僅僅在于,每個物品可以無限次的取,其他的和采藥并沒有什么區別。
當然,這樣的問題仍然可以用背包模型來解決,我們將這種模型稱為無限背包。
在這種情況下,我們可以把上面的opt[i-1,j-v[i]]變成opt[i,j-v[i]],即允許一種物品被取多次。
又由于是計數,所以應該有opt[i,j]:=opt[i,j-v[i]]+opt[i-1,j]。
還有一個優化就是我們可以把opt數組壓縮成長度為total的一維數組(因為這樣是不會影響結果的),可以極大地優化它的空間復雜度。
狀態的確定
我們用opt[i]表示硬幣總面值為i時共有多少種方法
Opt[i]:=opt[i]+opt[i-value[j]];(j=1,2,3..n)
代碼
for i:=0 to total do opt[i]:=0;
opt[0]:=1;
for i:=1 to n do
for j:=a[i] to t do
opt[j]:=opt[j]+opt[j-a[i]];
writeln(opt[t]);
三、flash中制作小人行走的思路
我不很懂腳本。要是我做這個。我就用最笨最笨的方法。
把地圖上每一個點都做成按鈕。
地圖上任意兩點間小人的移動都做成影片剪輯。
鼠標點擊任意一個點的時候就加載固定的影片剪輯。
要是地圖上點太多我就放棄。選擇別的動畫表現形式。
四、做java開發,怎么才能理清思路思緒,我一直都是暈的,理不清
抽絲剝繭.
你說的信息比較少,看代碼暈的話,我只能猜你做的是別人已經開發了一半的項目.
Java一般應該是web項目,如果是其他的可以類比,這種項目一定以頁面為起點,抓住這個起點,往后面追.剛開始接手的時候不要看無關的代碼,也不用起記憶無關的表,就一個功能點開始,從前臺往后面追,一直追到數據訪問,理清楚業務以及用到的表.
瀏覽器的開發者工具可以抓取請求和響應結果,沒有頭緒的時候,點一下菜單,抓取請求,再(eclipse為例)ctrl+H搜索一下抓到的請求方法,就可以快速找到java文件.再在xml文件里搜索類名,就可以找到注入的相關配置.
等積累多了,業務和表自然就熟悉了,也就不會暈了.