编写程序,从键盘输入一个不等于0的浮点数,然后分别输出这个浮点数的符号、整数部分和小数部分。

如题所述

#include<stdio.h>
void main()
{ float t;
printf("输入一个不为0的浮点数!\n");
scanf("%f",&t);
printf("符号位是:");
if(f>0)
printf("+\n");
else if(f<0)
printf("-\n");
printf("整数部分为:%d",(int)t);
printf("小数部分为:%f",(float)(t-(int)t));
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-03-16
int main(void){
float var;
char str[20];
scanf("%f", &var);
sprintf(str, "%f", var);
char *p = str;
if ((*p >= '0') && (*p <= '9')) //符号省略的正数,
printf ("符号为: %c \n", '+');
else
printf ("符号为:%c \n", '-');
p++;

printf("整数部分为:”);
while (((*p >= '0') && (*p <= '9')){
printf ("%c ", *p);
p++;
}
printf ("\n");

p++; //掠过小数点
printf("小数部分为:”);
while (((*p >= '0') && (*p <= '9')){
printf ("%c ", *p);
p++;
}
printf ("\n");

return 0;
}
第2个回答  2010-03-16
思路:
1.获得键盘输入的浮点数f
2.用split函数来处理这个浮点数。处理方案如下:
1>判断正负先,定义一个字符Char用来存储正负号
2>用小数点“.”作分隔符,输出小数部分和整数部分。
编程工具:Visual Studio 2005 C++/C#都有改函数本回答被网友采纳
第3个回答  2019-02-24
以下是不使用条件语句的方法
#include <stdio.h>
#include<math.h>
Int main()
{
double x;
char sign;
int a,b,c;

scanf(“%lf”,&x);
a=(int)x;
b=fabs(a);
c=a/b;
c=-c+44;
sign='c';
x=fsbs(x)-b;
printf(“sign: %c\n integral part:%d\n decimal fraction part:%lf\n ”,sign,b,x);
return 0;
}

...然后分别输出这个浮点数的符号、整数部分和小数部分。
void main(){ float t;printf("输入一个不为0的浮点数!\\n");scanf("%f",&t);printf("符号位是:");if(f>0)printf("+\\n");else if(f<0)printf("-\\n");printf("整数部分为:%d",(int)t);printf("小数部分为:%f",(float)(t-(int)t));} ...

...一个程序,从键盘上输入一个浮点数,然后分别输出该数的整数部分和小数...
printf("小数部分: %f\\n",f-int(f));return 0;}

编写一个程序,从键盘上输入一个浮点数,然后分别输出该数的整数部分和...
可以把浮点数当初字符串来处理 字符串处理函数如下:void cut(string &str){ int n=0;n=str.size()-1;string cutter(n,' ');string str3(n,' ');string dian=".";int i=0;int j=0;while(str[i]!=NULL){ if (str[i]==dian[0]){ for (int k=0;k<=n-i+1;k++){ str3...

编写一个程序,其功能为:从键盘上输入浮点数,然后分别出该的整部分和小 ...
include<stdio.h>int main(){double x; scanf("%lf",&x); printf("整数部分%d,小数部分%lg\\n",(int)x,x-(int)x); return 0;}

编写程序,从键盘上输入一个浮点数,然后将该浮点数的整数部分输出。求一...
class Test { \/** * @param args *\/ public static void main(String[] args) { \/\/ TODO Auto-generated method stub Scanner sc = new Scanner(System.in); System.out.println(请输入一个数:); double num = sc.nextDouble(); int sum = (int)num; System.out.println(sum);

编写一个Java应用程序,用户从键盘输入一个浮点数据,将该浮点数保留两位...
import java.util.Scanner;public class Demo {public static void main(String[] args) {Scanner s = new Scanner(System.in);double d = s.nextDouble();System.out.println(String.format("%.2f", d));}}

如何用c语言输入浮点数
include<stdio.h> int main(){ float a,b,c,D,max;scanf("%f%f%f",&a,&b,&c);if(a>b)D=a;else D=b;if(D>c)max=D;else max=c;printf("%f",max);return 0;}

关于整数输出为浮点数的问题
关于整数输出为浮点数的问题 50 #include<stdio.h>intmain(){inta=30000;printf("%f",(float)a);return0;}这是我选择不加括号里的(float)为何无论a取值多大输出一直为0.0000000呢?我查了下有关资料浮点数是有符... #include<stdio.h>int main(){ int a=30000; printf("%f",(float)a); return 0...

从键盘输入一个浮点数,将其存储到一个double型变量中,显示其个位和第一...
include <stdio.h> void main(){ double a;scanf("%lf",&a);printf("个位%d,第一位小数%d\\n",(int)a % 10,(int)(a * 10) % 10);}

用JAVA编程,求解并输出从键盘输入的浮点数的平方根,
{ public static void main(String[] args){ System.out.println("请输入一个数:");double input = 0;boolean flag=true;while(flag){ try{ BufferedReader in=new BufferedReader(new InputStreamReader(System.in));input=Double.valueOf(in.readLine());if(input<0){ System.out.println("...

相似回答