#include<stdio.h>
#include<math.h>
#include<string.h>
int main()
{
char a[10];
void convert(char a[]);
printf("请输入十六进制数:");
gets(a);//输入十六进制数
convert(a);
return 0;
}
void convert(char a[])
{
int n,i,num=0;
n=strlen(a);
for(i=n-1;i>=0;i--)
{
if(a<i>>='0'&&a<i><='9')
num+=(a<i>-'0')*pow(16,n-1-i);
else if(a<i>>='A'&&a<i><='Z')
num+=(10+(a<i>-'A'))*pow(16,n-1-i);
else if(a<i>>='a'&&a<i><='z')
num+=(10+(a<i>-'a'))*pow(16,n-1-i);
}
printf("转换十进制为:");
printf("%d",num);
}
gets()的用法:
gets()函数用来从标准输入设备(键盘)读取字符串直到回车结束;但回车符不属于这个字符串。其调用格式为:gets(s);其中s为字符串变量(字符串数组名或字符串指针)。
gets(s)函数与scanf("%s",s)相似,但不完全相同,使用scanf("%s",s)函数输入字符串时存在一个问题,就是如果输入了空格会认为输入字符串结束,空格后的字符将作为下一个输入项处理,但gets()函数将接收输入的整个字符串直到回车为止。
示例:
#include<stdio.h>
int main()
{
char s[20];
printf("What's your name?\n");
gets(s);
printf("%s\n",s);
return 0;
}
当输入a bde回车的时候,会输出a bde。
写一个函数,输入一个十六进制的数,输出相应的十进制数
int main(){ char a[10];void convert(char a[]);printf("请输入十六进制数:");gets(a);\/\/输入十六进制数 convert(a);return 0;} void convert(char a[]){ int n,i,num=0;n=strlen(a);for(i=n-1;i>=0;i--){ if(a>='0'&&a<='9')num+=(a-'0')*pow(16,n-1-i)...
C语言编程:写一个函数,输入一个16进制数,输出相应的10进制数。
include<conio.h> include<string.h> define N 1000 char str[N];int a[N],b[N];int main(void){ void zsh();long ycl();int i,n;do{ printf("请输入一个十六进制数:\\n");scanf("%s",str);for(i=0,n=0;str[i]!='\\0';i++)if(str[i]<'0'||(str[i]>'9'&&str[i...
写一个函数,输入十六进制数,输出相应的十进制数
printf("Please enter Hex number:");\/\/输入一个字符串 scanf("%s",str);xtod(str);\/\/调用转制函数 return 0;} \/\/转制函数 void xtod(char s[]){ int i,j,n=strlen(s);double num[10],sum;\/\/以下是判断输入的数是否是合法的十六进制数,不是就报错并重新输入 for(i=0;i<n;i++...
写一个函数,输入一个十六进制数,输出相应的十进制数
char a[10];void convert(char a[]);printf("请输入十六进制数:");gets(a);\/\/输入十六进制数 convert(a);return 0;} void convert(char a[]){ int n,i,num=0;n=strlen(a);for(i=n-1;i>=0;i--){ if(a>='0'&&a<='9')num+=(a-'0')*pow(16,n-1-i);else if(a>...
C语言 写一个函数 输入一个十六进制数 输出相应的十进制
函数:convert 功能:十六进制转十进制 \/ void conver(char arr[]){ int i,j=0,k=0,sum=0,n=strlen(arr);int num[100];for(i=0;i<n;i++){ switch(arr){ case'A':num[j++]=10;break;case'B':num[j++]=11;break;case'C':num[j++]=12;break;case'D':num[j++]=13;brea...
有C语言编写一函数,输入一十六进制数,输出相应的十进制数
\/*按要求,输入输出都在子函数中进行*\/ include <stdio.h> void fun(void){ int a=0,i;char str[6];printf("输入十六进制数:\\n");gets(str);for(i=0;str[i]!='\\0';i++)if(str[i]>='0'&&str[i]<='9')a=a*16+str[i]-48;else if(str[i]>='a'&&str[i]<='z')...
用c语言写一个函数,输入16进制,输出相对应的10进制
y;}void main(){ char a[N]; puts("输入一个十六进制数(只能含有0-9,a-f,A-F):"); scanf("%s", a); int b = change(a, strlen(a)); printf("其对应的十进制数为: %d\\n", b); getchar(); getchar();}2 运行结果希望对你有帮助~...
c语言写一个函数,输入一个十六进制数,输出相应的十进制数
long hex2dec(char *p){ long x=0;for(;*p;p++){ if(*p>='0'&&*p<='9')x=x*16+*p-'0';else if(*p>='A'&&*p<='F')x=x*16+*p-'A'+10;else if(*p>='a'&&*p<='f')x=x*16+*p-'A'+10;else { printf("Data error!\\n");return -1;} } return x;} int main...
...在主函数中输入十六进制数,输出相应的十进制数。
if(num>N-1){ HEX_DEC(num\/N,N);} printf("%d",num%N);} void main(){ int num;printf("输入一个十六进制的数\\n");scanf("%x",&num);printf("直接用%%d输出:%d\\n",num);printf("用函数输出:");HEX_DEC(num,10);\/\/转换成几进制就把第二个参数换成几 printf("\\n");syste...
写一个自定义函数,将输入的十六进制数转换成十进制数并输出?
int hex2dec(char *s){ int n;for(n=0;*s;s++){ if(*s>='0'&&*s<='9')n=n*16+*s-'0';else if(*s>='a'&&*s<='f')n=n*16+*s-'a'+10;else if(*s>='A'&&*s<='F')n=n*16+*s-'F'+10;} return n;} int main(){ char s[10];scanf("%s",s);printf...