首页 > 编程语言 >c++打卡练习(28)(还没写对,持续改进中)

c++打卡练习(28)(还没写对,持续改进中)

时间:2023-05-14 22:25:48浏览次数:37  
标签:10 int hun 28 c++ oct 100 data 打卡

黑洞数

流程图:
伪代码:

源代码:

#include<iostream>
using namespace std;
int maxof3(int,int,int);
int minof3(int,int,int);
int main(){
int i,k;
int hun,oct,data,max,min,j;
printf("请输入一个三位数\n");
scanf("%d",i);
while(k!=EOF){
hun=i/100;
oct=(i-hun*100)/10;
data=i%10;
j=maxof3(hun,oct,data)-minof3(hun,oct,data);
k++;
if(j==i){
cout<<j<<endl;
break;
}
i=j;
}
}
int maxof3(int a,int b,int c){
int t;
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;
}
return (a*100+b*10+c);
}
int minof3(int a,int b,int c){
int t;
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;
}
return (c*100+b*10+a);
}

标签:10,int,hun,28,c++,oct,100,data,打卡
From: https://www.cnblogs.com/HD-Kudu-2219/p/17400402.html

相关文章

  • L1-003 个位数统计(C++)
    一、问题描述:给定一个 k 位整数 N=dk−1​10k−1+⋯+d1​101+d0​ (0≤di​≤9, i=0,⋯,k−1, dk−1​>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定 N=100311,则有2个0,3个1,和1个3。输入格式:每个输入包含1个测试用例,即一个不超过1000位的正整数......
  • 2、c++中的指针参数传递和引用参数传递
    指针参数传递本质上是值传递。值传递的过程中,被调函数的形式参数作为被调函数的局部变量处理,会在栈中开空间用以存放由主调函数传递的实际参数,从而形成了实参值得一个副本。而值传递的特点是被调函对形参的任何修改都不会影响实参值。(如果想通过指针参数来修改主调函数的相关变量或......
  • 打卡5.8——勾股数
    1.问题描述求100以内所有的勾股数所谓勾股数,是指能够构成三角形三条边的三个正整数。2.问题分析勾股数,要符合a^2+b^2=c^2,而且任意两条边的和大于第三条边这就要用到sqrt函数,就相当于不用平方了c=(int)sqrt(a*a+b*b);if(c*c==a*a+b*b&......
  • 打卡5.9——求某一范围内完数的个数
    如果一个数等于它的因子之和,则称该数为完数,例如“6”的因子为1,2,3,而6=1+2+3,因此6是完数问题分析:假设一个数d,然后计算出它的每个因子,用到for循环,假如是a,b,c,然后进行一个判断如果a+b+c=d,就说明d是完数,应该要用到两层循环,最外层循环从2开始,一直到d,内层循环从1开始,一直到a,然后开始取余......
  • 5-14打卡 力扣24. 两两交换链表中的节点
    给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。示例1:输入:head=[1,2,3,4]输出:[2,1,4,3]示例2:输入:head=[]输出:[]示例3:输入:head=[1]输出:[1]来源:力扣(LeetCode)链接:https://leetco......
  • 每日打卡26
    一、问题描述一三位数的各个位数立方和等于本身,求所有水仙花数二、 三、流程图设计 四、代码实现#include<iostream>usingnamespacestd;intmain(){ intn,a,b,c,x; cin>>x; for(n=100;n<x;n++){ a=n/100; b=n%100/10; c=n%10; if(n==a*a*a+b*b*b+c*c*c){ cout<<n<<e......
  • 建民打卡日记5.14
    一、问题描述一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值:Z:012345678910M:10X987......
  • 2023.5.14编程一小时打卡
    一、问题描述:计算点到直线的距离。首先设计一个点类Point,它有2个私有数据成员x和y,表示点的坐标。另一个类为直线类Line,它有3个私有数据成员a,b和c,表示直线方程ax+by+c=0。这两个类中都说明了一个友元函数dist,用于计算一个点到直线的距离。点(x.y)到直线ax+by+c=0的距离d的......
  • c++打卡练习(27)
    求x的y次方的最后三位数流程图:伪代码:源代码:#include<iostream>usingnamespacestd;intmain(){intnum,y,x,i;printf("输入x以及x的次数y\n"); scanf("%d%d",&x,&y); for(i=1,num=1;i<=y;i++){ num=num*x%1000; }printf("%d",num); r......
  • 5-12打卡,练习
    实现一个z字形的字符串排列classSolution{public:voidconvert(strings){intn=s.size()-1,N=s.size()-1;intm=n%4;while(n>=0){if(n!=N){cout<<"";......