• 1017,1004,1015,1007,1005,1014(题目太长,输不进,大家原谅一下)


    #include<iostream>
    using namespace std;
    int main(){
        long k,i,j,h;
        long temp,a[100001],x;
        cin>>x;//基本结构 
        for(i=0;i<3;i++){
            a[0]=x%10;
            a[1]=x/10%10;
            a[2]=x/100;
        }//模运算,因为它有直接给你位数,所以可以根据数学知识求出各个位数数字 
        for(i=0;i<3;i++){ //记得加花括号,多个语句要用到这个循环时,就要括起来,表示一部分      
          k=i;//位数比较的初始位数                       
          for(j=i+1;j<3;j++) //枚举i后的数字进行比较 
            if(a[k]<a[j]) k=j; //从大到小排列,如果前一个数 比后一个数小,就交换位数(也就是数组的下标)   
            if(k!=i){             
              temp=a[i];
              a[i]=a[k];
              a[k]=temp;
            }//如果数组的k超出了枚举范围 ,就数组前移。其实这一步可有可无,但oj要求要。 
        } 
        for(i=0;i<3;i++){
            h=a[0]*100+a[1]*10+a[2];//排列好后,用最大数为千百位,第二大为十位,其他同理。 
        } 
        cout<<h<<endl;
        return 0; 
    }

    这道题是接下来几道题综合起来的题,会这个大概都会了。如果不会可以评论提问。主要讲点是模运算求出一个数的各个位数。模运算就是求一个数除以另一个数的余数,不过前提是他要给你位数,不然你不知道最高位是多少,就无法除。

    排序其实也可以用数组,如果用选择结构就会在多位数排序中显得麻烦。这个排序很有用。

  • 相关阅读:
    cocosCreator-环境配置
    egret
    webpack升级4记录
    安装
    docker
    【转+综合其他】JavaScript在JSP页面加载与执行顺序
    JAVA基础之(十四)--“多线程”
    工具--idea的插件离线安装
    工具--eclipse中添加插件方法
    工具--在一台电脑中安装两个jdk版本
  • 原文地址:https://www.cnblogs.com/13zpk/p/8433305.html
Copyright © 2020-2023  润新知