C语言中如何将小数点部分一位一位取出?
一个数字,比如314.4156怎么才能把6,5,1,4一位一位取出来?算法越简单越好!编译失败。。。错误noname.c14:非法地使用浮点数在main函数中警告nona...
一个数字,比如314.4156
怎么才能把6,5,1,4一位一位取出来?
算法越简单越好!
编译失败。。。
错误 noname.c 14: 非法地使用浮点数在 main 函数中
警告 noname.c 15: 可能在'bit'定义以前使用了它在 main 函数中
警告 noname.c 22: 'n' 被赋值但却没有使用在 main 函数中
用 win-tc编译的 展开
怎么才能把6,5,1,4一位一位取出来?
算法越简单越好!
编译失败。。。
错误 noname.c 14: 非法地使用浮点数在 main 函数中
警告 noname.c 15: 可能在'bit'定义以前使用了它在 main 函数中
警告 noname.c 22: 'n' 被赋值但却没有使用在 main 函数中
用 win-tc编译的 展开
6个回答
展开全部
在输出时,小数点算做一位.a++不能被赋值,程序有误,应少写一个加号,a=a+=5;.十进制-16在计算机里是这么表示的,16的二进制码是0000000000010000,若要表示-16,则将16的二进制码取反,得到1111111111101111,再将此数加1,得到1111111111110000,111111110000就是-16在计算机内存中存储形式,称为补码.由于%u表示无符号的整数所以第一位不是符号判断位,所以他会将补码认为是一个正整数,所以此二进制值化为十进制是4294967280.所以%u表示-16的值为4294967280.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
main()
{
double n=314.4156;
int a,b,c,d;
long t;
t=n*1000;
a=t%10;
b=(t/10)%10;
c=(t/100)%10;
d=(t/1000)%10;
printf("%d,%d,%d,%d\n",a,b,c,d);
}
输出结果应该就跟你要的一样。
{
double n=314.4156;
int a,b,c,d;
long t;
t=n*1000;
a=t%10;
b=(t/10)%10;
c=(t/100)%10;
d=(t/1000)%10;
printf("%d,%d,%d,%d\n",a,b,c,d);
}
输出结果应该就跟你要的一样。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
double n = 314.4156;
int i;
int bit;
for(i = 1; i <= 4; i++)
{
bit = (int)(n * 10 ^ i) % 10;
printf("%d", bit);
}
int i;
int bit;
for(i = 1; i <= 4; i++)
{
bit = (int)(n * 10 ^ i) % 10;
printf("%d", bit);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
修改了楼上的代码
t=n*1000 改为 t = n*10000
t=n*1000 改为 t = n*10000
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询