写出一个函数,将输入的十六进制数转换成十进制数。要求函数形参用引用。

作者&投稿:政凯 (若有异议请与网页底部的电邮联系)
输入一个c语言程序,能把一个十进制的数转换成二进制的数。用子函数主函数来编写,跪求大神~

原理:和十进制的数除以2,将商暂存起来,余数按字符串排列起来。再用商除以2,再将余数按字条串排列起来。如此循环。最终得到的那个余字符串就是二进制数了。

#include using namespace std;int main() { int x; cout > hex >> x; cout << "转化后数字" ; cout << x;}

#include
#include
int
htod(char
*a){
int
num=0,i;
for(i=0;
i
='0'&&*(a+i)<='9'){
num
=
num*16
+
*(a+i)-'0';
}else
if(*(a+i)>='a'&&*(a+i)<='z'){
num
=
num*16
+
*(a+i)-'a'+10;
}else
if(*(a+i)>='a'&&*(a+i)<='z'){
num
=
num*16
+
*(a+i)-'a'+10;
}else{
return
-1;//表示输入错误的数
}
}
return
num;
}
void
main(){
char
*a
=
new
char[20];
cout<<"请输入一个十六进制数:";
cin>>a;
int
num
=
htod(a);
if(num
!=-1){
cout<<"输入的数的十进制数为:"<
评论
0
0
0
加载更多

#include
#include
using
namespace
std;
void
Hexade2De(char*
T)
{
double
iResult=0;
int
Length=0;
while
(T[Length])
Length++;
for
(int
i=0;i
='0'
&&
T[i]<='9')
//Process
number
from
0
to
9
iResult+=pow(16.0,Length-i-1)*(T[i]-'0');
else
if
(T[i]>='A'
&&
T[i]<='F')
//Process
number
from
A
to
F
iResult+=pow(16.0,Length-i-1)*(T[i]-'A'+10);
else//Process
exception
{
cout<<"Illegal
Input!"<
评论
0
0
0
加载更多

void secondproblem()
{
char info[18];
printf("please input the stringinfo!!\n");
printf("INFO:");
scanf("%s",&info[0]);
clrscr();
translate(info);

translate(char info[18])
{
int i;
int number[18];
for (i=0;i<18;i++)
{switch(info[i])
{
case '0': number[i]=0;break;
case '1': number[i]=1;break;
case '2': number[i]=2;break;
case '3': number[i]=3;break;
case '4': number[i]=4;break;
case '5': number[i]=5;break;
case '6': number[i]=6;break;
case '7': number[i]=7;break;
case '8': number[i]=8;break;
case '9': number[i]=9;break;
case 'A': number[i]=10;break;
case 'B': number[i]=11;break;
case 'C': number[i]=12;break;
case 'D': number[i]=13;break;
case 'E': number[i]=14;break;
case 'F': number[i]=15;break; }


c语言:采用递归方法实现将输入的字符串按反序输出
printf("请输入一个字符串:");scanf("%s", str);printf("反序输出字符串:");printReverse(str);printf("\\n");return 0;} ```在上述代码中,我们首先定义了一个递归函数 `printReverse`,该函数接受一个指向字符串的指针作为参数。在函数内部,我们首先判断当前指针所指向的字符是否为字符串...

如何用一个函数输入一个字符串,求出这个字符的个数?
等价于&a[0] int *num = NULL; \/\/开辟空间的首地址,等价于&a[0] int flag = 0; \/\/定义一个标志位,用于计数重复的次数的数值出现 printf("Pls enter the number of arrays:"); while(1) { scanf("%d", &n); if (n <= 0) printf("Error is scanf...

C语言编程,写一个函数,使输入的一个字符串按反序存放,在主函数中输入和...
至此,你的提问已经解决。下面给出我的想法,现在思考你要解决的问题:将一个字符串(或者说是字符数组)翻转。这就要求你必须为yuan函数传递个字符串参数a;然后就是翻转,但是翻转的字符串不会超出原字符串的长度,故而可设计用它自身将翻转值带出。可将翻转函数原型设计为 void yuan(char *a); ...

写一个函数,输入一个十进制数,输出相应的二进制数(用递归法)
include<stdio.h> void dec2bin(int x){if(x>1)dec2bin(x\/2);printf("%d",x%2);} int main(){int x;scanf("%d",&x);dec2bin(x);return 0;}

python编一个函数,输入两个正整数,求出他们最大的公约数
辗转相除法求最大公约数def gcd(a, b): if a < b: a, b = b, a while a % b != 0: a, b = b, a % b return bgcd(21,49)程序缩进如图所示

用c++编写程序,编写一个3*3矩阵转置的函数,在main()函数中输入数据
1、打开vs2015,新建一个Windows Form窗体程序或者控制台都可以。2、 定义一个名为array1的数组并赋值:double[,] array1 = new double[3, 3] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };。3、右键解决方案下的项目名,添加-类,创建一个名为“turnzhi”的类。4、转置类...

在C语言中如何实现用键盘输入一个字符串,并打印出来?
在C语言中输入字符串后然后打印出来的编程方法如下:1.首先需要先定义一个存放字符串的数组空间,如给字符串100个数组空间。2.接着使用gets()函数来获取键盘输入的字符串。一般格式为gets(定义的字符数组名)。3.然后再使用puts()函数来输出之前输入的字符串内容。一般格式puts(定义的字符数组名)。4....

用C语言编写一个矩阵转置的函数,矩阵的行数和列数在程序中由用户输入...
int row,clo,**nList=NULL,**nListSave=NULL; printf("输入矩阵行列数:"); scanf("%d%d",&row,&clo); nList=getList(row,clo); setNum(nList,row*clo); printf("输入的矩阵为:\\n"); prtList(nList,row,clo); printf("转置后的矩阵为:\\n")...

c语言 编写输入函数input和打印函数print,用来输入和打印一个学生的基本...
typedef struct _stu{ char name[100];int num,score[3];}stu;stu input(){ stu s;printf("input name");scanf("%s",s.name);printf("input number");scanf("%d",s.num);printf("input 3 scores");scanf("%d,%d,%d",s.score,s.score+1,s,score+2);return s;} void print(stu...

...它的功能是将number逆序输出,在主函数中输入一个整数并调用该函数...
include <stdio.h> int reverse_num(int n){ int m = n%10;int i = n\/10;while (i > 0){ int a = i%10;m *= 10;m += a;i \/= 10;} return m;} int main(){ int n = 0;int m = 0;printf("Please input a number:\\n");scanf("%d", &n);printf("The reverse ...

兴山县13433398822: 用C语言编写一个函数实现十六进制数至十进制数的转换.在主函数中输入十六进制数,输出相应的十进制数. -
隆艺世保: #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> void HEX_DEC(int num,int N){ if(num>N-1){ HEX_DEC(num/N,N); } printf("%d",num%N); } void main(){ int num; printf("输入一个十六进制的数\n"); scanf("%...

兴山县13433398822: 写一个函数,输入一个十六进制数,输出相应的十进制数 -
隆艺世保: #include<iostream.h> int power(int x,int n); void main() { cout<<"本程序将八位二进制转化成十进制"<<endl;; cout<<"请输入8位二进制数:"<<endl; int i,s=0; char t; for(i=7;i>=0;i--) {cin>>t; if(t=='1') s+=power(16,i); } cout<<"转化成十进制是:...

兴山县13433398822: 写一个函数,输入一个十六进制的数,输出相应的十进制数.用c语言编程. -
隆艺世保: 说明trans() 函数 应该返回n (return n ;) int main() { char num[100]; printf("请输入一个十六进制的数:"); scanf("%s" , num); printf("你输入的数转换为十进制 = %d\n" , trans(num)); return 0 ; }

兴山县13433398822: 有C语言编写一函数,输入一十六进制数,输出相应的十进制数 -
隆艺世保: int lox_16,lox_10; cin>>hex>>lox_16; //c中用(scanf())输入的是4位16进制数//将16进制数转换为10进制数 注意lox_16已经为16进制数lox_10=lox_16/1000*pow(10,3)+lox_16/100%10*pow(10,2)+lox_16%100/10*pow(10,1)+lox_16%10*pow(10,0); //lox_16 是4位的,不是4位,可以自己以这种形式编一个循环

兴山县13433398822: 写出一个函数,将十六进制数转换成十进制数.要求函数调用时,使用指针作函数形参.用c++编 -
隆艺世保: #include <iostream.h>#include <string.h> int HtoD(char *a){ int num=0,i; for(i=0; i<strlen(a); i++){ if(*(a+i)>='0'&&*(a+i)<='9'){ num = num*16 + *(a+i)-'0';}else if(*(a+i)>='A'&&*(a+i)<='Z'){ num = num*16 + *(a+i)-'A'+10; }else if(*(a+i)>='a'&&*(a+i)<='z')...

兴山县13433398822: 用c语言,写出一函数,输入一个十六进制数,输出相应的十进制数. 请用余数的方法!!!谢谢啦!! -
隆艺世保: #include <stdio.h> int main(int argc, char *argv[]) { int x; scanf("%x",&x); printf("%d\n",x); return 0; } 不知道这样的行不行.哈哈. 你说的余数应该是十转十六吧.

兴山县13433398822: 求一个C语言程序,要求是要把输入的16进制数转换为2进制数,然后统计这个2进制数0和1的个数.今天要在线等 -
隆艺世保: : printf("1101"); psum+=3 ; esum+=1 ; break;2' case ': printf("1010"); psum+=2 ; esum+=2 ; break;n 共有%d个1 %d个0\: printf("1110"); psum+=3 ; esum+=1 ; break;: printf("1001"); psum+=2 ; esum+=2 ; break;C'.h> void main() { int i = 0 ,...

兴山县13433398822: C语言:调用一个函数,在一个数组中把一个16进制的数字转化成10进制 -
隆艺世保: #include "stdio.h"#include "string.h"#include "math.h" int f(char * a);// void main(){ char a[80]; printf("请输入一个16进制的数字\n"); gets(a); printf("%d",f(a)); getch(); } int f(char *a){ int i,c,sum=0,n; c=strlen(a); for(i=0;i<c;i++){ if (a[i]>...

兴山县13433398822: 编写一个函数,输入一个十六进制数,输出相应十进制数,并在主函数中调用此函数 -
隆艺世保: #include int power(int x,int n); void main() { cout<<"本程序将八位二进制转化成十进制"<<endl;; cout<<"请输入8位二进制数:"<<endl; int i,s=0; char t; for(i=7;i>=0;i--) { cin>>t; if(t=='1') s+=power(16,i); } cout<<"转化成十进制是:"<<s<<endl; } int power(int x,int n) { int sum=1; while(n--) sum*=x; return sum; } 我调试过了,没有错误,结果正确,我的程序要求输入的是8位.

兴山县13433398822: 十六进制数转换成十进制数C语言 -
隆艺世保: #include#define MAX1000 void main() { int func(char s[]); int c,i=0,flag=0,flag1=1; char t[MAX]; printf("请输入一个十六进制的数:\n"); while((c=getchar())!='\0'&&i='0'&&c<='9'||c>='a'&&c<='f'||c>='A'&&c<='F') { flag=1; t[i++]=c; } else if(flag) { t[i]='...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网