首页 > 其他分享 >打卡5

打卡5

时间:2023-04-14 21:35:52浏览次数:34  
标签:temp int decimal object char num 打卡

1.10数制转换

 

 

 

 

#include<bits/stdc++.h>
using namespace std;

int source,object,length;//储存原数,村拿出目标数值,存储字符串长度
long decimal_num;//存储十进制
char temp[1000];//存转换后的数值
int flag=1;//是否退出的标志


/*将字符转换为数字*/
int char_to_num(char ch)
{
if(ch>='0'&&ch<='9')return ch-'0';
else return ch-'A'+10;
}
//将数字转换为数字
char num_to_char(int num)
{
if(num>=0&&num<=9)return (char)('0'+num-0);
else return (char)('A'+num-10);
}

long source_to_decimal(char temp[],int source)
{
long decimal_num=0;
int length;
int i;
for(i=0;temp[i]!='\0';i++)
{
decimal_num=(decimal_num*source)+char_to_num(temp[i]);

}
return decimal_num;
}

int decimal_to_object(char temp[],long decimal_num,int object)
{
int i=0;
while(decimal_num)
{
temp[i]=num_to_char(decimal_num%object);
decimal_num=decimal_num/object;i++;
}
temp[i]='\0';
return i;
}

void output(char temp[],int length)
{
int i;
for(i=length-1;i>=0;i--)
{
cout<<temp[i];
}puts("");
}

int main()
{
while(flag)
{
cout<<"转换前的数是:";
cin>>temp;
cout<<"进制是:";
cin>>source;
cout<<"进制是:";cin>>object;
cout<<"转换后的数是:";
decimal_num=source_to_decimal(temp,source);
length=decimal_to_object(temp,decimal_num,object);
output(temp,length);
cout<<"继续输入1,否则输入0:"<<endl;
cin>>flag;
}
}

标签:temp,int,decimal,object,char,num,打卡
From: https://www.cnblogs.com/litianyu1969/p/17320003.html

相关文章

  • 趣味打卡第一天(包装机)
    包装机用到栈和队列:注意要找准用栈还是队列,栈要注意段错误#include<bits/stdc++.h>usingnamespacestd;intmain(){stack<char>kuang;//用栈模拟框(容易理解)queue<char>a[1000];//用队列模拟轨道(它是按键盘的输入顺序输出的,是先进先出)intm,n,s;cin>>n>>m>>s;......
  • 打卡3
      #include<stdio.h>intmain(){  intyear,month,day,x,a;  intye=2010;  intsum=0;  inti[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};//建立平年各月份天数的数组  intj[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};//建立闰年各月份天数的数......
  • c++练习打卡(7)
    银行存钱银行一年整存零取的利息每月0.0063,某人存了一笔钱,每年年底取1000,五年取完,问他存了多少?流程图:伪代码:源代码:#include<stdio.h>intmain(){ doublemoney=0.0; for(inti=0;i<5;i++){ money=(money+1000.0)/(1+12*0.0063); }printf("%0.2lf",money); return0;} ......
  • 打卡第三天
    一、 1.先定义一个变量year,将输入的变量存放到year中2.验证year是否满足能被四整除而不能被一百整除或者能被四百整除二、三、#include<iostream>usingnamespacestd;intmain(){ intyear; boolisrunnian; cout<<"年份是:"; cin>>year; isrunnian=((year%4==0&&year%100......
  • 建民の每日打卡3
    一、问题描述某人从1990年一月一日开始“三天打鱼两天晒网”,问某天以后是打鱼还是晒网?二、设计思路1.输入日期2.求1990年一月一日到该日期天数3.对天数求余,根据余数输出“打鱼”或“晒网”三、程序流程图   四、代码实现#include<iostream>usingnamespace......
  • 第三天打卡
    兔子产子;源代码:#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongintn;signedmain(){inta[33];a[1]=a[2]=1;for(inti=3;i<=30;i++)a[i]=a[i-1]+a[i-2];for(inti=1;i<=30;i++){cout<<a[i]<<'';if(i%5==0)cout<<e......
  • 天天打卡一小时第三天
     1.问题描述实验1-312-24小时制编写一个程序,要求用户输入24小时制的时间,然后显示12小时制的时间。输入格式:输入在一行中给出带有中间的:符号(半角的冒号)的24小时制的时间,如12:34表示12点34分。当小时或分钟数小于10时,均没有前导的零,如5:6表示5点零6分。提示:在scanf的格式字......
  • 第二天打卡
    1#include<iostream>2usingnamespacestd;3intmain()4{5chara,N,Y;6while(1){78cout<<"现在正在下雨吗?"<<endl;9cout<<"请输入N或Y:";10cin>>a;11if(a=='Y')12......
  • 打卡第二天
    问题:打鱼还是晒网思路:用for循环分别求1991年到某年的前一年的天数,以及某年的1月到某月的前一月的天数,用数组存储每月的天数,注意闰年的判断条件和闰年天数的变换,利用五天为一组的周期性,用除余的方式得到结果。代码:#include<iostream>usingnamespacestd;constintN=13;inta[N......
  • 第三天打卡
    一、问题描述  输入一个数,判断其是否为素数二、设计思路  1.输入一个数a;  2.用循环统计从1到他本身因数count个数   3.若count为2,则输出yes,反之输出no三、程序流程图  四、代码实现#include<iostream>usingnamespacestd;intmain(){inta,cou......