本文目录一览:
c语言如何将小数变成整数
根据需要,可以把实数变为整数。解决实际问题时,经常需要进行这种类型的转换。
例如,
1)商店优惠,每满100元减10元。----此时需要的是截尾取整。
2)银行计算利息,最小单位是0.01元,即分。----此时进行的是“四舍五入”。
3)轮船运输货物,每船核定载重40吨,是不允许超载的。----此时需要的是向上取整。
在C语言里,这三种情况分别可以用以下的方法实现:
float x=123.456;
int y1,y2,y3;
y1=5*(int)(x/100);
y2=(int)(x*100+0.5); 以分为单位
y3=(int)(x/40.0+0.9999999)
子集树问题(用C语言或C++完成)
//说明:我是用c++编的。解法是用栈来进行递归模拟,解法编译过是正确的。我有注释说明。不过要改成递归比较麻烦。而且,解题一般是不会限制解法的,你看看这个非递归的解法吧。
#include iostream
#include string
using namespace std;
void main(){
int i,j,n,c,temp,L[100],S[100],p,sum,Get,max;
cinnc;
for (i=0;in;i++){
cinL[i];
}
max=0;
sum=0;
p=-1;//栈初始化
for (i=0;in;i++){
if (sum+L[i]=c) {
sum=sum+L[i];
p++;
S[p]=i;//i入栈
break;//寻找第一个
}
}
while ((p!=-1)||(i=n-1)){//当栈不空或未检索到末尾时运行
if (i=n-1){//如果是未检索到末尾时
Get=S[p];//取栈顶元素
for (i=Get+1;in;i++){
if (sum+L[i]=c) {
sum=sum+L[i];
p++;
S[p]=i;//i入栈
}
}
}
if(i==n){//如果检索到末尾但栈不为空时
if (summax) max=sum;
Get=S[p];//取栈顶元素
/*for (j=0;j=p;j++){
temp=S[j];
coutL[temp]" ";
}
coutendl;*///说明此处用来检验栈模拟的过程,及其正确性,可输出解的子集,你可以看看
p--;//模拟出栈
//coutmax" ";
sum=sum-L[Get];//还原
for (i=Get+1;in;i++){//
if (sum+L[i]=c) {
sum=sum+L[i];
p++;
S[p]=i;//i入栈
break;//寻找下一个
}
}
}
}
coutmaxendl;
}
全国计算机等级考试二级C语言与全国计算机等级考试二级VB的区别?
全国计算机等级考试二级C语言与VB区别如下:
这二者都市程序开发语言,c语言不支持可视化编程,vb支持可视化编程,从功能上考虑,二者均可完成任何一种开发需求,但是对于做界面,c会变得很麻烦,vb则相对简单。vb语言的语法要求不严格,可以不事先声明变量(当然是个人设置的),c必须先声明后使用,vb是一种事件驱动的程序结构,c的程序必须从一个main函数开始,c支持指针,v b不支持。
C入门相对较难,vb则很容易入门,但是后续的深入学习c会变得相对容易。c可以用来做一些底层的和计算机硬件相关的开发工作,v b在这方面相对较差。
C语言过河问题,编程!谢谢了,急!
你好,我来为你解答:
解法如下:
1.农夫带羊过去,自己回来
2.农夫带狼过去,带羊回来
3.农夫带白菜过去,自己回来
4.农夫带羊过去
全部安全过岸.
程序暂时没有时间做