编写函数atox()能把连续输入的3个16进制字符转换成一个十进制整数,如输入’F’’B’’3’,输出4019

作者&投稿:上黎 (若有异议请与网页底部的电邮联系)
编写函数atox()能把连续输入的3个16进制字符转换成一个十进制整数,如输入’F’’B’’3’,输出4019~

#include"stdio.h"


void atox()
{
char str[4];

int n=0;

gets(str);

if(str[0]>'9')
n+=(str[0]-'7')*16*16;
else
n+=(str[0]-'0')*16*16;

if(str[1]>'9')
n+=(str[1]-'7')*16;
else
n+=(str[1]-'0')*16;

if(str[2]>'9')
n+=(str[2]-'7');
else
n+=(str[2]-'0');


printf("%d
",n);

}

你要自己手动转换的函数的话,这个就是你i要的进制转换函数,vc6通过运行调试了
#include
#include
void main()
{
int change(char num[50],int length);
char num[50]="";
int number;
printf("input a number:0x");
gets(num);
number=change(num,strlen(num));
printf("result is:%d",number);
}
int change(char num[50],int length)
{
int j;
int number=0;
for(j=0;j<length;j++)
{
if((*(num+j)>='0')&&(*(num+j)<='9'))
number=number*16+*(num+j)-'0';
if((*(num+j)>='A')&&(*(num+j)<='F'))
number=number*16+*(num+j)-'A'+10;
}
return number;
}

#include <stdio.h>
#include <math.h>
int atox(char *str)
{
int n = 0;
for (int i=2;i>=0;i--)
{
if(str[i]>='0' && str[i]<='9')
n+=(str[i]-'0')*pow(16,2-i);
else if (str[i]>='A' && str[i]<='F')
n+=(str[i]-'A'+10)*pow(16,2-i);
}
return n;
}
void main()
{
int n;
char str[4];
scanf("%s",str);
n = atox(str);
printf("十六进制%s转换为十进制数为:%d\n",str,n);
}


编写函数atox()能把连续输入的3个16进制字符转换成一个十进制整数,如输...
void atox(){ char str[4];int n=0;gets(str);if(str[0]>'9')n+=(str[0]-'7')*16*16;else n+=(str[0]-'0')*16*16;if(str[1]>'9')n+=(str[1]-'7')*16;else n+=(str[1]-'0')*16;if(str[2]>'9')n+=(str[2]-'7');else n+=(str[2]-'0');printf...

C语言编程。利用函数实现进制转换。
随便写了个 include<stdio.h> int atod(char a, char b, char c, char d){ return (a % 0x30) * 1000 + (b % 0x30) * 100 + (c % 0x30) * 10 + (d % 0x30);} int atox(char a, char b, char c){ unsigned int n;a = a | 0x20;b = b | 0x20;c = c |...

VC6.0还没调试完就出现了个窗口?
VC调试程序的一种方法是跟踪到函数内部,观察函数是否按照设想的逻辑在执行。这可以通过在函数调用处设置断点,在中断后使用step into(F11为功能快捷键)功能实现。但有时在你按F11后,会出现“please enter the path for 某源文件”的对话框,如果你选择cancel,就进入了汇编模式,这通常不是我们希望的...

交城县15318978349: 输入一个以回车结束的字符串,将其中的数字字符转换为整数输出,要求定义和调用函数atoi(s) -
单于桑卡尼: (9)for(i=0; s[i]!='\0' ;i++)的意思是从前往后,只要字符不是空就执行下列操作,C语言的字符串都是以'\0结尾',所以s[i]!='\0'就是指字符串还没有遍历完.if(s[i]>='0' && s[i]<='9') sum=sum*10+(s[i]-'0');的意思就是这个字符是数字的话,sum这个数...

交城县15318978349: 编写一个函数,将字符串中连续的相同字符仅保留1个.用指针完成 -
单于桑卡尼: #include "string.h" int main(void){ char a[110],i; printf("Input a string...\n"); gets(a); for(i=0;a[i];i++) if(a[i]==a[i+1]) strcpy(a+i,a+1+i--); printf("The result is:\n%s\n",a); return 0; }

交城县15318978349: 编写一个递归函数,完成输入一串字符,以.作为结束标志,然后再倒序输出.比如输入abcdefg.输出 -
单于桑卡尼: void revert() { char ch = getchar(); if (ch == '.') {//putchar(ch); return; } else { revert();//递归 putchar(ch);//后输出,所以逆序 } } int main() { revert(); return 0; }

交城县15318978349: 编写函数:输入一字符串,将该字符串中连续的数字字符以整数返回到一数组中 -
单于桑卡尼: 正则,正则字符串用 \d就行,首先用Regex.Matches找出所有的数字,再判断是否连续

交城县15318978349: 编写一个函数myatol,该函数的功能是:输入一个数字字符串,返回对应的long型整数.在main中写出调用的语句 -
单于桑卡尼: #include <iostream>#include <sstream> using namespace std; template<class T1, class T2> inline T1 myatol(const T2 &t) { static stringstream sstream; T1 r; sstream << t; sstream >> r; sstream.clear(); return r; } int main() { cout << myatol("56464") << endl; return 0; }

交城县15318978349: 用C写一个函数,要求能去掉连续相同的字母 -
单于桑卡尼: #include <stdio.h> char* foo(char* s) { int i = 0, j = 0; while (s[i + 1]) { if (s[i] == s[i + 1]) i++; // 如果相邻的字母相同就把i加1,这就保证了没有重复 else s[j++] = s[i++]; // 不同就把s[i] 赋值给s[j] } s[j] = s[i]; s[j + 1] = 0; return s; } int main(void) { char s[] ...

交城县15318978349: C++语言编写递归函数,将输入的整数按字符串形式正序输出 -
单于桑卡尼: #include void split_number( int number ) { if( numberreturn; } int low_dit = number % 10; number = number / 10; split_number( number); // make sure forward print std::cout }

交城县15318978349: 编写一个函数,输入一个字符串,内有数字和非数字字符,将其中连续的数字作为一个整数依次存放到数组a中 -
单于桑卡尼: <html><br><head><br></head><br><script defer type="text/javascript"><br>function GetArray(obj_id) {/*obj_id为textbox的id*/<br> var str = document.getElementById(obj_id).value;<br> var flag = true;<br> var num = "";<br> var arr = new Array(...

交城县15318978349: 2. 写出一个函数,去掉字符串中连续的重复字母,例如由:“aabbbcddddkkkmmmmaakk -
单于桑卡尼: 题目要求的数据类型是什么? 假装都是小写字母#define MaxN 255 char *removeDup(char *s){char p[26];char r[MaxN];int i, j = 0;for (i = 26; i--; p[i] = 0);for (i = 0; i <= strlen(s); i++)if (!p[s[i] - 'a']){p[s[i] - 'a'] = 1;r[j++] = s[i];}r[j++] = '\0';return r; }

交城县15318978349: 编写一个将两个字符串连接起来函数(即实现strcat函数的功能),两个字符串由主函数输入, 连接后的字符串也由主函数输出. -
单于桑卡尼: #include<stdio.h> char *fun1(char *s,char *t) { char *s1=s; while(*s)s++; while(*t)*s++=*t++; *s=0; return s1; } void main() { char s[100],t[100]; printf("输入字符串:"); gets(s); printf("输入字符串:"); gets(t); printf("%s\n",fun1(s,t)); } VC6通过

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