首页 > 其他分享 >第八天打卡

第八天打卡

时间:2023-04-22 21:59:39浏览次数:41  
标签:temp 第八天 int decimal object char num 打卡

问题:

给定一个N进制的数,将他转换为M进制的数。

设计方案:

所有的数都是由0~F组成,因此采用字符数组进行存储。同时定义两个函数进行字符和数值之间的转换。

源代码:

#include<stdio.h>
#define MAXCHAR 101
int char_to_num(char ch);
char num_to_decima(char temp[],int source);
int decimal_to_object(char temp[],long decimal_num,int object);
void output(char temp[],int length);
main()
{
int source,object,length,deciml_num;
char temp[MAXCHAR];
int flag=1;
while(flag)
{
printf("转换前:");
scanf("%s",temp);
printf("转换前数制:");
scanf("%d",&source);
printf("转换后:");
scanf("%d",&object);
printf("转换后的数:");
decimal_num=source_to_decimal(temp,source);
length=decimal_to_object(temp,decimal_num,object);
output(temp,length);
printf("继续输入1,否则输入0:\n");
scanf("%d",&flag);
}
}
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++);
length=i;
for(i=0;i<=length-1;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--)
printf("%c",temp[i]);
printf("\n");
}

标签:temp,第八天,int,decimal,object,char,num,打卡
From: https://www.cnblogs.com/ykznlxx/p/17344153.html

相关文章

  • 2022.4.22编程一小时打卡
    一、问题描述:请编写一个计数器Counter类,对其重载运算符“+”。二、解题思路:首先编写一个Counter类,然后,进行编写运算符“+”的重载,最后,进行代码的运行编译进行验证。三、代码实现:1#include<iostream>2#include<string>3usingnamespacestd;4classCounter5{......
  • c++打卡训练(14)
    三色球问题:一共十二个球,红色白色都是三个,黑色有六个,摸出八个球,问有几种可能?流程图:伪代码:源代码:#include<stdio.h>intmain(){ intred,white,black; for(red=0;red<=3;red++){ for(white=0;white<=3;white++){ black=8-red-white; if(black<=6){ printf("红色:%d,......
  • 每天打卡一小时 第十三天 编译四部曲
     第一部曲自然语言创建递归函数创建循环调用函数第二部曲流程图 第三部曲代码#include<iostream>#include<cstdio>#include<cstdlib>usingnamespacestd;intfeibo(intn)//斐波那契数列算法{if(n==1||n==2){return1;}......
  • 天天打卡一小时第七天
    1.问题描述实验2-24.25-输出层数的倒金字塔编写一段程序,像下面这样显示输入整数层的向下的金字塔形状。第i行显示i%10的结果。-----出自【明解C语言】练习4-25.让我们来画一个向下的金字塔。金字塔有几层:3111112223输入样例:在这里给出一组输入。例如:3输出样例:......
  • 打卡 c语言趣味编程
     1.百钱百鸡#include <stdio.h>int main(){ int cock, hen, chicken; for (cock = 0; cock <= 20; cock++) { for (hen = 0; hen <= 33; hen++) { for (chicken = 0; chicken <= 100; chicken++) { if ((5 * cock + 3 * hen + chic......
  • 打卡2 c语言趣味编程
    3.抓逃犯#include <stdio.h>#include <math.h>int main(){ int a=0, b=0; //a:前两位,b:后两位 for (a = 0; a < 9; a++) { for (b = 0; b < 9; b++) { int c = a * 1000 + a * 100 + b * 10 + b; if (a != b &&sqrt(c)==(int)sqrt(......
  • 4.22打卡
    #include<iostream>#include<iomanip>#include<cmath>usingnamespacestd;doublepower(doublex,intn){doubleval=1.0;while(n--)val*=x;returnval;}intmain(){intvalue=0;cout<<"Enteran8b......
  • c++打卡第十二天
    一、问题描述。 二、设计思路①、我们可以从第五年往前推算,即1000=前一年剩余的钱*(1+12*0.0063),算出的结果加上一千就是前一年年初加上利息所得的总钱。②、列出五行式子就可以算出解。③、打印出程序运行结果。三、代码实现。#include<iostream>usingnamespacestd;i......
  • 建民打卡日记4.22
    一、问题描述输入N个数组成的有序数列,在数组中查找某个数的位置,若找到,输出下标,否则输出notfound二、流程设计1.取数组最大值最小值下标high和low2.将待查找数与中值比较,若小于中值则查找前半段,否则查找后半段3.输出结果三、流程图设计四、代码实现#include<iostream>......
  • 4.21打卡
    一、问越描述:编写用牛顿迭代法求方程更的函数。方程为ax^3+bx^2+cx+d=0,系数a,b,c,d由主函数输入。求x在1附近的一个实根。求出根后,由主函数输出。牛顿迭代法的共识是:x=x0-f(x0)/f´(x0),设迭代到|x-x0|<=10e(-5).二、设计思路:1、输入系数a,b,cd;2、构造迭代函......