求一个c语言函数:当小数部分不为0时,返回1;小数部分为0时,返回0。如decimal(4.5) return0

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求一个c语言函数:当小数部分不为0时,返回1;小数部分为0时,返回0。如decimal(4.5) return0相关的知识,希望对你有一定的参考价值。

这个答案看不懂,也运行不起来
int decimale1(float x)

int xtoint;
xtoint= (int) x;
if (( x-(float)xtoint) !=0.)
return 1;
else return 0;

参考技术A if (( x-(float)xtoint) !=0.) 这里要么把0后面的.去掉,要么改为0.0
这样就可以运行的,意思就是xtoint是x取整数,如x = 4.5 那么xtoint = 4
然后x - xtoint = 0.5,不等于0,所以证明x后面的小数部分不是0,所以返回1,若等于0,则说明x后面的小数部分是0,所以返回0追问

你是怎么运行起来的?我编译没有错误,链接时出现
两个错误LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/hello.exe : fatal error LNK1120: 1 unresolved externals

追答

你创建工程的时候对么?

参考技术B (int)x是将x强制转换为整型,对浮点数来说,就是取整数部分。
再判断x去掉整数部分后,剩余部分(即小数部分)是否为0。追问

你是怎么运行起来的?我编译没有错误,链接时出现
两个错误LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/hello.exe : fatal error LNK1120: 1 unresolved externals

追答

你的代码仅仅是一个函数啊,一个完整的程序要有main函数的。你不会连C语言的入门都没有看就直接看代码吧

本回答被提问者采纳
参考技术C int Decimal(float x)

int a=(int)x;
if(x-a==0)
return 0;
else
return 1;
追问

你写的这个还是看不懂,也运行不起来,能详解一下吗?

参考技术D 什么意思

C语言 实数的小数部分(指针专题) 按题目要求来

Description
读入一个实数,输出该实数的小数部分,小数部分若多余的末尾0,请去掉。如输入111111.12345678912345678900
则输出0.123456789123456789。若去掉末尾0之后小数部分为0,则输出“No decimal part”。注意该实数的位数不超过100位。
请定义并使用如下函数。
char *decimal(char *p)

将字符串p表示的实数的自小数点开始的小数部分存入一个字符串,并由函数返回,若p为“123.456”,则返回的字符串为“.456”。若小数部分为0,返回空指针NULL。


Input
输入一个实数。不超过100位。
Output
输出小数部分,输出占一行。
Sample Input
111111.12345678900012345678900
Sample Output
0.123456789000123456789

参考技术A #include <stdio.h>
#include <string.h>
#include <stdlib.h>

char* decimal(char *p)
char *s = (char*)malloc(100*sizeof(char));
int i=0,l=strlen(p),j=0;
while (i < l&&p[i] != '.')
++i;
if (i == l)
return NULL;

while (i < l)
s[j++] = p[i++];
s[j] = '\0';
--j;
while (s[j] == '0')
s[j--] = '\0';

return s;


int main()
char p[101];
scanf("%s", p);
printf("%s", decimal(p));
system("pause");
return 0;
追问

system("pause");这是干嘛的

本回答被提问者和网友采纳

以上是关于求一个c语言函数:当小数部分不为0时,返回1;小数部分为0时,返回0。如decimal(4.5) return0的主要内容,如果未能解决你的问题,请参考以下文章

C语言 实数的小数部分(指针专题) 按题目要求来

C语言指针初学者 请帮我看看下面的提 为啥调用函数返回值是char型的 这样不就只能返回一个字符了吗

c语言求一个float转换为字符串的函数,包括符号,小数

C语言 怎么取小数的最后一位

c语言 怎样使计算是整数输出整数是小数输出两位小数

Bailian2738 实数加法