2.22题目

#include<cstdio>
int main()
{
	char c1[3],t,a,b,c;
	scanf("%s",c1);
    a=c1[0];
    b=c1[1];
    c=c1[2];
    if(a>b)
    {
        t=a;
        a=b;
        b=t;
    }
    if(a>c)
    {
        t=a;
        a=c;
        c=t;
    }
    if(b>c)
    {
        t=b;
        b=c;
        c=t;
    }
    printf("%c %c %c",a,b,c);
    return 0;
}
#include <cstdio>
#include <cmath>
double a,b,c,d;
double ans;
int main()
{
    scanf("%lf%lf%lf%lf",&a,&b,&c,&d);
    ans = sqrt((a-c)*(a-c) + (b-d)*(b-d));
    printf("%.2lf\n",ans);
    return 0;
}

以上为两题的较为不错的答案

总结一下你们出现的问题

1:float相关

float由于其在计算机中的储存方式特殊,以后用double代替

2:第一题的输入问题

本体输入只有三个字符,你可以用scanf("%c%c%c",&a,&b,&c);这种方式

要是有一百个字符呢?

解决方法:scanf("%s",c1);c1为字符数组

3:第一题的比较大小问题:

最好的方法就是上面的题解,自己好好体会一下

4:第二题的答案计算问题:

就算是两个负数相乘是不是也是正数?没有必要使用abs函数。
n的m次方的计算不可以用pow函数,直接乘就行了。

5:输入格式

你申请的int变量就要用%d,double变量就用%lf,不要混用,会出错

样例的延申:

有一个同学的写法正是我之后想要告诉你们的:

#include <cstdio>
#include <cmath>
double a,b,c,d;
double ans;
int main()
{
    int i;
    while(scanf("%lf%lf%lf%lf",&a,&b,&c,&d)!=EOF)
    {
        ans = sqrt((a-c)*(a-c) + (b-d)*(b-d));
        printf("%.2lf\n",ans);
    }
    return 0;
}

如果样例有不知道多组数据该怎么进行输入呢?有可能是4组,也有可能是100组?

这时候我们就可以用以上方法进行输入,你们在devc++编辑器上运行的时候,输入完数据后一定要同时按ctrl + z这样才能表示数据输入完毕

目前的问题就是这些,从明天开始的输入全用上面这种模式,先自行尝试一下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值