【C语言编写函数问题】从键盘输入一个浮点数,编写程序完成 如下功能:

编写程序,从键盘输入一个不等于0的浮点数,然后利用格式控制串分别输出这个浮点数的符号、整数部分和小数部分。例如输入-123.456,输出应该是按下列格式输出**(不允许使用if语句)**:

```sign: -

```integral part: 123

```decimal fraction part: 0.456000

3个回答

这个不难,就用一个 ?:表达式就行了

int main()
{
    double x = 0;
    scanf_s("%lf", &x);
    x < 0 ? printf("sign:-\nintegral part:%d\ndecimal fraction part:%lg\n", (int)x, (x - (int)x)) : printf("sign:+\nintegral part:%d\ndecimal fraction part:%lg\n", (int)x, x - (int)x);
    return 0;
}
BostonRayAlen
bostonAlen 回复_ZGq: 嗯,我错了,要加绝对值。?:知道问题就不大了
大约一年之前 回复
weixin_41461277
_ZGq 整数部分和小数部分不能带符号。像样例,这段代码的输出就是sign:- [\n]integral part:-123 [\n]decimal fraction part:-0.456
大约一年之前 回复
#include<stdio.h>
#include<math.h>
int main(){
    double dbl;
    scanf("%lf",&dbl);
    printf("sign: %c\nintegral part: %d\ndecimal fraction part: %.6f",dbl>=0?'+':'-',abs((int)dbl),fabs(dbl)-abs((int)dbl));
    return 0;
}
#include <stdio.h>
#include<math.h>

int main()
int main()
{
double x;
printf("请输入一个不等于0的浮点数:");
scanf(" %lf", &x);
x<0? printf("sign:-\nintegral part:%d\ndecimal fraction part:%.6lf\n",abs((int)x),fabs(x-(int)x)) : printf("sign:+\nintegral part:%d\ndecimal fraction part:%.6lf\n", abs((int)x),fabs(x-(int)x));
return 0;
}

最终是这样解决的,感谢两位!
还有什么问题吗?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问

相似问题

2
用C语言写了一个输入一个一维数组的函数,如何在函数中调用该数组?
1
c语言编程问题:编写两个函数,求一个3*3矩阵对角线元素之和。
1
这是一个关于C语言函数库函数的问题
3
这是一个关于C语言函数什么时候释放空间的问题
1
c语言不用函数实现strcmp()输入相同字符串时比较不正确
2
c语言函数问题使用 函数统计指定数字的个数
2
编写一个函数,实现将一个带头结点的单向链表数据逆置,代码怎么写呀?
1
编写求n个数平均值的函数,并调用该函数找出长度为n的数组中小于平均值的元素
3
函数调用那一章中,编写一个函数求N个数的最大值
2
c语言中使用int main,那么其他的函数必须要有返回值吗
1
**删除C程序中的注释(请你编写一个函数,将C语言源程序中的注释全部删去。)
3
编写函数求字符串中0~9出现次数
1
基础的C语言小问题,定义函数
0
用C语言编写简单学生学籍管理系统。有一段已经定义好的函数,求大佬帮忙编写完整。在线急等。求各位大佬帮帮忙,重谢!!
1
用c语言编写程序,下面问题是不是和斐波那契类似?
0
C语言 编写inputdate函数,接收一个date类型数组和数组大小,输入数组。 输入格式如2017 12 27
1
C语言 scanf函数 内存错误
0
使用matlab编写函数,输入成绩,分等级,输出等级人数。
1
如何用C语言编程分析高阶函数并有图像