我是刚学c语言的菜鸟 在输入输出的时候遇到一个问题
原题:
输入一个浮点数 将它的整数部分和小数部分分开输出~
这是很简单的~~ 但是我想如果要把小数部分用整数来显示出来 应该怎么做呢??
我想了很多种方案 但是都觉得太麻烦了 希望各位高手大哥可以提醒或教我一种很简单的方法
菜鸟谢谢了~~
可以不可以直接把 小数点给去掉啊~~呵呵
还有一个问题~~就是按上面那种乘10然后提取整数的方法 我该怎么结束循环啊???
不行~~~ 如果小数部分中间有0的话 那就在中间结束循环了 所以行不通啊
那样的话不是每输出一个数就要检查一次了 这个程序就很臃肿了哦~~~~
还有其他好点的办法吗???大哥再帮我想想
我发现9楼的大哥是位人间少有的天才~~~~
我对你的景仰有如滔滔江水连绵不绝~~有如黄河泛滥一发不可收拾~~
不过我希望你能告诉我这个原题的解决方法~~hoho
恩啊 ~~拜托那个大哥知道做的帮我写一下代码啊~~谢谢了
整数和小数部分分开我知道 不过我才学到循环啊~~你的程序.........我看不懂
我把整数和小数分开的程序是这样的:
main() { float f,b; int a; scanf("%f",&f); a=f/1; b=f-a; printf("%d,%f\n",a,b);
}
我还只学了这么多呢~~~不知道对不对
不过还是很感谢你 live41 我也不是做作业拉 只是突然想到这个问题 呵呵
方法:
浮点数 => 字符串 => 对字符串进行处理,分开小数点前后的数字 => 再把他们
由字符串转成INT即可
的确是好办法~~哈哈 谢谢了
谢谢各位大虾 我按上面那位高手的提示已经写出了程序 我的程序如下:
main() { char f; do { scanf("%c",&f);
if(f=='.') printf("\n"); else if(f==';') break; else printf("%1c",f); }while(f!=';');
我把浮点数分成n个小字符输入 然后从小数点那里分开来,不过最后我必须加上一个命令作为循环结束 我今天才把循环这里看完 所以不知道怎么用更好的方法做了
楼上的大虾 哥哥 你看我总资产都没有300个金笔呢??? 你能不能把价钱改为30个金笔啊?