Educator:C++之if-else基本性质

第1关:求两个实型变量x和y差的绝对值


本关必读

绝对值是指一个数在数轴上所对应点到原点的距离叫做这个数的绝对值,绝对值用| |来表示。

|a-b|表示ab差的绝对值,即数轴上表示a的点和表示b的点的距离。若a>=b,则|a-b|=a-b;若a<b,则|a-b|=b-a

本关任务

本关的任务是求两个实型变量xy差的绝对值。即:输入实型变量xy,若x>=y,则|x-y| = x-y;若x<y,则|x-y| = y-x。提醒:不允许使用系统函数fabs()

要求实现step1/Subt\fractionOperation.cpp中的带值函数float Subt\fractionOperation(float x, float y)

 
  1. // 输出实型变量x和y的差的绝对值
  2. float Subt\fractionOperation(float x, float y)
  3. {
  4. // 请在此添加实现代码
  5. }
// 输出实型变量x和y的差的绝对值
float SubtractionOperation(float x, float y)
{
    float a=x;
    float b=y;
    if(a>=b)return a-b;
    if(b>=a)return b-a;
    // 请在此添加实现代码
}

 

第2关:逆序输出不超出100000的正整数的各位数字及其位数


本关必读

所谓反序数,即有这样成对的数,其特点是其中一个数的各数字排列顺序完全颠倒过来,就变成另一个数,如102201。简单的理解就是顺序相反的两个数,我们把这种成对的数互称为反序数。

逆序输出一个正整数其实就是找到这个数的反序数并输出。

本关任务

本关任务是逆序输出不超出100000的正整数的各位数字及其位数。其代码位于step2/ReverseNumber.cpp文件

#include<iostream>
using namespace std;

int main()
{
    int x;

    // 从命令行读入一个不大于100000的正整数
    // 这个数取自测试集的输入
    cin >> x;
    
    // 请在下面添加实现代码
    /**********Program**********/
int T=0;
int y=x;
for(int z=0;z<x;z++){
    y/=10;
    T++;
    if(y==0)break;
}
int a[T];
a[0]=x%10;
a[1]=x/10%10;
a[2]=x/100%10;
a[3]=x/1000%10;
a[4]=x/10000%10;
for(int i=0;i<T;i++)cout <<a[i];
cout <<" "<<T;
    /**********  End  **********/
}

 

第3关:判断命令行输入的五位正整数是否是回文数

本关必读

所谓回文数,是指像12321这样“对称”的数。即:将这个数的各位数字按相反的顺序重新排列后,所得到的数和原来的数一样。

本关任务

本关任务是判断命令行输入的五位正整数是否是回文数,其代码位于step3/PalindromeNumberJudge.cpp文件

// 判断五位正整数是否是回文数
#include<iostream>
int PalindromeNumberJudge(int x)
{
    // 请在此添加实现代码
int y=x,T=0,z=x;
for(int i=0;i<=y;i++){
    y/=10;
    T++;
    if(y==0)break;
}
if(T!=4)return 0;
int b[4];
b[0]=z%10;
b[1]=z/10%10;
b[2]=z/100%10;
b[3]=z/1000%10;
b[4]=z/10000%10;
if(b[0]==b[4]&&b[1]==b[3]){return 1;}
else{return -1;}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值