| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 790 人关注过本帖
标题:求人帮忙解答关于scanf()函数获取的问题
只看楼主 加入收藏
_2hanhan
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2023-9-9
结帖率:50%
收藏
已结贴  问题点数:15 回复次数:4 
求人帮忙解答关于scanf()函数获取的问题
题目:
专家通过多组情侣研究数据发现,最佳的情侣身高差遵循着一个公式:(女方的身高)×1.09 =(男方的身高)。如果符合,你俩的身高差不管是牵手、拥抱、接吻,都是最和谐的差度。

下面就请你写个程序,为任意一位用户计算他/她的情侣的最佳身高。

输入格式:
输入第一行给出正整数N(≤10),为前来查询的用户数。随后N行,每行按照“性别 身高”的格式给出前来查询的用户的性别和身高,其中“性别”为“F”表示女性、“M”表示男性;“身高”为区间 [1.0, 3.0] 之间的实数。

输出格式:
对每一个查询,在一行中为该用户计算出其情侣的最佳身高,保留小数点后2位。

输入样例:
2
M 1.75
F 1.8
输出样例:
1.61
1.96

代码
程序代码:
#include<stdio.h>
int main()
{    
    double height[10] = { 0 }, h;
    char sex[10] = { '0' }, s;
    int n, i = 0, ed = 0;
    scanf("%d", &n);
    getchar();                //
    while (0 < n)
    {
        scanf("%c %lf", &s, &h);
        getchar();                //
        sex[ed] = s;
        height[ed] = h;
        n--;
        ed++;
    }
    while (i < ed)
    {
        if (sex[i] == 'M')
        {
            printf("%.2lf\n", height[i] / 1.09);
        }
        else
        {
            printf("%.2lf\n", height[i] * 1.09);
        }
        i++;
    }

    return 0;
}

这是我修改后的代码,但我的问题是:为什么我①②处的getchar()没了的话(我是因为想到/n这个字符的问题所以加上的,没想到真就可以了),这个效果是实现不了的,虽然解决了题目,但我还是想知道scanf()函数具体是如何获取输入的数据的,请求大佬们解答!
搜索更多相关主题的帖子: 函数 获取 用户 scanf 输入 
2023-10-06 22:19
沈和
Rank: 4
等 级:业余侠客
威 望:5
帖 子:45
专家分:214
注 册:2019-8-26
收藏
得分:8 
这篇博客里面翻过源码,你参考下
https://
2023-10-06 22:32
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:7 
根据你的源代码改写

程序代码:
#include <stdio.h>

int main( void )
{
    size_t n;
    double matchs[10];

    scanf( "%zu", &n );
    for( size_t i=0; i!=n; ++i )
    {
        char sex;
        double height;
        scanf( " %c%lf", &sex, &height );
        matchs[i] = sex=='M' ? height/1.09 : height*1.09;
    }

    for( size_t i=0; i!=n; ++i )
        printf( "%.2f\n", matchs[i] );
}

2023-10-07 08:37
_2hanhan
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2023-9-9
收藏
得分:0 
回复 2楼 沈和
谢了
2023-10-07 10:41
_2hanhan
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2023-9-9
收藏
得分:0 
回复 3楼 rjsp
ok ,谢了
2023-10-07 10:42
快速回复:求人帮忙解答关于scanf()函数获取的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.038626 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved