作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在学校作业中,我们应该编写一个程序,该程序接受一个数字并将其分为三个部分:1. 检查数字是正数还是负数2. 整数(大小)3.小数部分
要求是应该有一个自己的函数,名为separate,具有输入和输出参数。
例如:如果您输入 23.639,程序应该排序并打印出:符号:+整数大小:23小数部分:0.639
问题:1.正负区分功能,输入负数时会出现错误答案。它还发布了错误的字符。我尝试过不同的数据类型,如 int、char 和 float,但似乎都不起作用。非常感谢任何有关如何解决此问题的提示,因为我认为我被自己的错误蒙蔽了......
2.将小数与整数(分数)分开的函数不会从小数中减去整数,所以我只能使用整数。有人能发现我的错误吗?
<小时/>* 更新 *
我设法解决了手头的问题,并在编辑我首先在这个问题中发布的代码时犯了可怕的 n00b 错误。我现在再次编辑了代码,以尽可能保留原始错误。正确的代码作为答案发布在下面。
很抱歉新手错误。
/*
Author: Thorbjørn Elvestad
Student ID: *****
E-mail: drommevandrer@gmail.com
This program take in number typed in by the user, and then divide it into three parts.
SIGN: '+' or '-'
Whole number: Show number as a whole number
Fraction: Show fractions
The program uses function to sort out the number, and print out the result*/
/* Declaring libraries */
#include <stdio.h>
#include <stdlib.h>
/* Declaring functions */
double sorting_sign(char x);
double sorting_whole(double x);
double sorting_fract(double x, int y);
/* Calling main function */
int main()
{
double num, fractures; /* declaring variables */
int sign_sorted, part;
double whole_sorted;
printf("LET ME TELL YOU SOME INTERESTING STUF ABOUT YOUR NUMBER!\n\n");
printf("Enter your number: ");
scanf("%d", &num);
sign_sorted = sorting_sign(num); /* Calling the function that sorts out if this number is '+' or '-' */
whole_sorted = sorting_whole(num); /* Calling the function separating whole number from decimals */
fractures = sorting_fract(num, num); /* Calling the function removing the whole number from the fractures */
printf("Sign: %c\nWhole: %0.lf\nFraction: %f", sign_sorted, whole_sorted, fractures);
return 0;
}
/* Function for sorting of if number is '+' or '-' */
double sorting_sign(char x)
{
int sign;
/* true if number is less than 0 */
if(x < 0.0){sign = '-';}
/* true if number is greater than 0 */
else if(x > 0.0){sign = '+';}
return (sign);
}
/* Function for sorting out the whole number */
double sorting_whole (double x)
{
int whole;
whole = x;
return (whole);
}
/* Function for sorting out the fractions */
double sorting_fract(double x)
{
int whole;
double fract;
whole = y;
fract = x - whole;
return (fract, whole);
}
最佳答案
您已声明您的 sorting_sign
函数返回 double
,当您返回 int
时设置为 char
的值...整理您的类型。
关于c - 如何将一个数分成正数、负数、整数和分数三部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40071104/
我是一名优秀的程序员,十分优秀!