首页 > 其他 > 详细

c0104

时间:2017-02-25 17:30:17      阅读:441      评论:0      收藏:0      [点我收藏+]

【问题描述】编写一个程序,当用户输入一个小数(正值浮点数)后,将小数转化为最近的整数输出(四舍五入)。
【输入形式】用户在第一行输入一个小数
【输出形式】用户在下一行显示输出结果
【样例输入】3.47
【样例输出】3
【样例说明】与输入值3.47接近的整数为3和4,3.47比3.5小,舍掉小数部分,结果为3。

------------------------

个人代码:

#include <stdio.h>
#include <stdlib.h>

int main(){
    float x;
    int y;
    scanf("%f",&x);
    if(x>0){
        y = (int)x;
        if((x - y)<0.5)
            printf("%d\n",y);
        else
            printf("%d\n",y+1);
    }
    else
        printf("请输入正值浮点数\n");
    system("pause");
    return 0;
}

标答:

#include <stdio.h>

main()
{
    float num;
    int rnum;
    scanf("%f", &num);
    rnum = num + 0.5;
    printf("%d\n", rnum);
}

-------------------------

1、scanf("%f",&x);中若为%f则x必须为float型(若x为double型,则读进来的数为0)

2、若x为int型,y为float型,则“x = y;”语句执行后x为y截掉小数点后的数的整数值。

3、printf("%d\n",y);中若为%d则y必须为int型(若y为float/double型,则输出为0)

c0104

原文:http://www.cnblogs.com/alison-f/p/6442152.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!