血和眼泪在一起滑落 2021-12-01 13:30 采纳率: 62.5%
浏览 5
已结题

pta的题,请问为什么把clear和sync改成getchar()就成功了?

img


#include <iostream>
#include <iomanip>
using namespace std;
struct seekbook
{
    char name[31];
    double money;
};
int main()
{
    int n,i,t,h;
    double min,max;
    struct seekbook s[50];
    cin>>n;
    for(i=0;i<n;i++)
    {
        cin.clear();
        cin.sync();
        cin.getline(s[i].name,31);
        cin>>s[i].money;
    }
    max=s[0].money,t=0;
    for(i=0;i<n;i++)
    {
        if(s[i].money>s[0].money)
        {
            max=s[i].money;
            t=i;
        }
    }
    min=s[0].money,h=0;
    for(i=0;i<n;i++)
    {
        if(s[i].money<s[0].money)
        {
            min=s[i].money;
            h=i;
        }
    }
    cout<<setiosflags(ios::fixed)<<setprecision(2)<<max<<','<<' '<<s[t].name<<endl;
    cout<<setiosflags(ios::fixed)<<setprecision(2)<<min<<','<<' '<<s[h].name<<endl;
    return 0;
}

结果:

img

后来改成了:

#include <iostream>
#include <iomanip>
using namespace std;
struct seekbook
{
    char name[31];
    double money;
};
int main()
{
    int n,i,t,h;
    double min,max;
    struct seekbook s[50];
    cin>>n;
    for(i=0;i<n;i++)
    {
        getchar();
        cin.getline(s[i].name,31);
        cin>>s[i].money;
    }
    max=s[0].money,t=0;
    for(i=0;i<n;i++)
    {
        if(s[i].money>s[0].money)
        {
            max=s[i].money;
            t=i;
        }
    }
    min=s[0].money,h=0;
    for(i=0;i<n;i++)
    {
        if(s[i].money<s[0].money)
        {
            min=s[i].money;
            h=i;
        }
    }
    cout<<setiosflags(ios::fixed)<<setprecision(2)<<max<<','<<' '<<s[t].name<<endl;
    cout<<setiosflags(ios::fixed)<<setprecision(2)<<min<<','<<' '<<s[h].name<<endl;
    return 0;
}

结果:

img

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 12月9日
    • 创建了问题 12月1日

    悬赏问题

    • ¥30 微信小程序蓝牙数据透传
    • ¥15 加氢站氢负荷数据集来源
    • ¥15 umi接入sentry遇到问题
    • ¥15 HBuilderX打包H5网页,扫码模块无法使用
    • ¥15 Javascript跳转页面后,无法执行后面代码,如何解决?
    • ¥15 echarts绘制图表
    • ¥15 请教两个关于高德地图定位不准的技术问题
    • ¥15 根据企业名称 对照两个文件 样本筛选/匹配
    • ¥15 Linux环境下CA证书更新问题
    • ¥15 sqlserver语句提取结果以外数据