一、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文件里搜索类名,就可以找到注入的相关配置.
等积累多了,业务和表自然就熟悉了,也就不会晕了.