用C语言编写一个函数实现十六进制数至十进制数的转换.在主函数中输入十六进制数,输出相应的十进制数。 C语言 写一个函数 输入一个十六进制数 输出相应的十进制
\u5982\u4f55\u7528C\u8bed\u8a00\u5c06\u4e00\u4e2a16\u8fdb\u5236\u6570\u8f6c\u6362\u621010\u8fdb\u5236\u6570\uff0c\u8981\u6c42\u7528\u51fd\u6570\u3002\u6211\u81ea\u5df1\u7f16\u5199\u7684\u4e00\u4e2a\u51fd\u6570\u3002
\u697c\u4e0a\u7684\u6839\u672c\u6ca1\u8fbe\u5230\u76ee\u7684\u3002\u8d4b\u503c\u8bed\u53e5\u5b9e\u73b0\u7eaf\u7cb9\u662f\u6295\u673a\u53d6\u5de7\u3002\u8003\u8bd5\u80af\u5b9a\u4e3a0\u5206\u3002
\u4e0b\u9762\u662f\u7a0b\u5e8f\u6e90\u4ee3\u7801
#include
void
shuchu(int
c)
//\u8fd9\u4e2a\u51fd\u6570\u4e0d\u7528\u7f16\u5199\uff0c\u53ef\u4ee5\u76f4\u63a5\u5728zhs\u51fd\u6570\u91cc\u9762\u7528\u8bed\u53e5\u5199\u7684//
{
c=c%16;
if(c>=0&&c<=9)
{c=c+48;
putchar(c);
}
else
{
c=c+87;
putchar(c);
}
}
void
zhs(int
c)
{
if(c<=15)
shuchu(c);
else
{
zhs(c/16);
shuchu(c);
}
}
void
main()
{
int
n;
printf("please
enter
a
number:\n");
scanf("%d",&n);
printf("zhuan
huan
hou
de
16jinzhi
shushi
:\n");
zhs(n);
printf("\n");
}
\u4e0d\u597d\u610f\u601d\u5f04\u9519\u4e86\u8fd9\u662f\u4e00\u4e2a\u5341\u8fdb\u5236\u8f6c\u6362\u523016\u8fdb\u5236\u7684\u95ee\u9898\u3002\u6211\u91cd\u65b0\u5e2e\u4f60\u5199\u4e00\u4e2a\u3002
#include
#include
#include
/************************
*\u51fd\u6570\uff1aconvert*
*\u529f\u80fd\uff1a\u5341\u516d\u8fdb\u5236\u8f6c\u5341\u8fdb\u5236*
************************/
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;
break;
case'E':num[j++]=14;
break;
case'F':num[j++]=15;
break;
default:num[j++]=(int)(arr-'0');
break;
}
}
for(i=n-1;i>=0;i--)
sum+=num*pow(16,n-1-i);
printf("\u8f6c\u6362\u7ed3\u679c:\n%d",sum);
}
int main()
{
char arr[10];
printf("\u8bf7\u8f93\u5165\u5341\u516d\u8fdb\u5236\u6570:\n");
gets(arr);
conver(arr);
return 0;
}
\u6269\u5c55\u8d44\u6599\uff1areturn 0\u4ee3\u8868\u7a0b\u5e8f\u6b63\u5e38\u9000\u51fa\u3002return\u662fC++\u9884\u5b9a\u4e49\u7684\u8bed\u53e5\uff0c\u5b83\u63d0\u4f9b\u4e86\u7ec8\u6b62\u51fd\u6570\u6267\u884c\u7684\u4e00\u79cd\u65b9\u5f0f\u3002\u5f53return\u8bed\u53e5\u63d0\u4f9b\u4e86\u4e00\u4e2a\u503c\u65f6\uff0c\u8fd9\u4e2a\u503c\u5c31\u6210\u4e3a\u51fd\u6570\u7684\u8fd4\u56de\u503c\u3002
return\u8bed\u53e5\u7528\u6765\u7ed3\u675f\u5faa\u73af\uff0c\u6216\u8fd4\u56de\u4e00\u4e2a\u51fd\u6570\u7684\u503c\u3002
1\u3001return 0\uff0c\u8bf4\u660e\u7a0b\u5e8f\u6b63\u5e38\u9000\u51fa\uff0c\u8fd4\u56de\u5230\u4e3b\u7a0b\u5e8f\u7ee7\u7eed\u5f80\u4e0b\u6267\u884c\u3002
2\u3001return 1\uff0c\u8bf4\u660e\u7a0b\u5e8f\u5f02\u5e38\u9000\u51fa\uff0c\u8fd4\u56de\u4e3b\u8c03\u51fd\u6570\u6765\u5904\u7406\uff0c\u7ee7\u7eed\u5f80\u4e0b\u6267\u884c\u3002return 0\u6216return 1\u5bf9\u7a0b\u5e8f\u6267\u884c\u7684\u987a\u5e8f\u6ca1\u6709\u5f71\u54cd\uff0c\u53ea\u662f\u5927\u5bb6\u4e60\u60ef\u4e8e\u4f7f\u7528return(0)\u9000\u51fa\u5b50\u7a0b\u5e8f\u800c\u5df2\u3002
\u603b\u7ed3
return\u662fC++\u9884\u5b9a\u4e49\u7684\u8bed\u53e5\uff0c\u5b83\u63d0\u4f9b\u4e86\u7ec8\u6b62\u51fd\u6570\u6267\u884c\u7684\u4e00\u79cd\u65b9\u5f0f\u3002\u5f53return\u8bed\u53e5\u63d0\u4f9b\u4e86\u4e00\u4e2a\u503c\u65f6\uff0c\u8fd9\u4e2a\u503c\u5c31\u6210\u4e3a\u51fd\u6570\u7684\u8fd4\u56de\u503c.
\u8bf4\u5230return,\u6709\u5fc5\u8981\u63d0\u53ca\u4e3b\u51fd\u6570\u7684\u5b9a\u4e49,\u4e0b\u9762\u662f\u4ece\u7f51\u7edc\u4e0a\u627e\u5230\u7684\u8d44\u6599,\u597d\u597d\u6d88\u5316\u5427,\u5bf9\u4e86\u89e3\u4e3b\u51fd\u6570\u4e2d\u8fd4\u56de\u503c\u7684\u7406\u89e3\u6709\u5f88\u5927\u7684\u5e2e\u52a9.
\u5f88\u591a\u4eba\u751a\u81f3\u5e02\u9762\u4e0a\u7684\u4e00\u4e9b\u4e66\u7c4d\uff0c\u90fd\u4f7f\u7528\u4e86void main()\uff0c\u5176\u5b9e\u8fd9\u662f\u9519\u8bef\u7684\u3002C/C++\u4e2d\u4ece\u6765\u6ca1\u6709\u5b9a\u4e49\u8fc7void main()\u3002
C++\u4e4b\u7236Bjarne Stroustrup\u5728\u4ed6\u7684\u4e3b\u9875\u4e0a\u7684FAQ\u4e2d\u660e\u786e\u5730\u5199\u7740The definition void main(){/*...*/}is not and never has been
C++,nor has it even been C.\uff08void main()\u4ece\u6765\u5c31\u4e0d\u5b58\u5728\u4e8eC++\u6216\u8005C\uff09\u3002\u4e0b\u9762\u6211\u5206\u522b\u8bf4\u4e00\u4e0bC\u548cC++\u6807\u51c6\u4e2d\u5bf9main\u51fd\u6570\u7684\u5b9a\u4e49\u3002
\u5728C89\u4e2d\uff0cmain()\u662f\u53ef\u4ee5\u63a5\u53d7\u7684\u3002Brian W.Kernighan\u548cDennis M.Ritchie\u7684\u7ecf\u5178\u5de8\u8457The C programming Language 2e\uff08\u300aC\u7a0b\u5e8f\u8bbe\u8ba1\u8bed\u8a00\u7b2c\u4e8c\u7248\u300b\uff09\u7528\u7684\u5c31\u662fmain()\u3002\u4e0d\u8fc7\u5728\u6700\u65b0\u7684C99\u6807\u51c6\u4e2d\uff0c\u53ea\u6709\u4ee5\u4e0b\u4e24\u79cd\u5b9a\u4e49\u65b9\u5f0f\u662f\u6b63\u786e\u7684\uff1a
int main(void)
int main(int argc,char*argv[])
\u5f53\u7136\uff0c\u6211\u4eec\u4e5f\u53ef\u4ee5\u505a\u4e00\u70b9\u5c0f\u5c0f\u7684\u6539\u52a8\u3002\u4f8b\u5982\uff1achar*argv[]\u53ef\u4ee5\u5199\u6210char**argv\uff1bargv\u548cargc\u53ef\u4ee5\u6539\u6210\u522b\u7684\u53d8\u91cf\u540d\uff08\u5982intval\u548ccharval\uff09\uff0c\u4e0d\u8fc7\u4e00\u5b9a\u8981\u7b26\u5408\u53d8\u91cf\u7684\u547d\u540d\u89c4\u5219\u3002
\u5982\u679c\u4e0d\u9700\u8981\u4ece\u547d\u4ee4\u884c\u4e2d\u83b7\u53d6\u53c2\u6570\uff0c\u8bf7\u7528int main(void)\uff1b\u5426\u5219\u8bf7\u7528int main(int argc,char*argv[])\u3002
main\u51fd\u6570\u7684\u8fd4\u56de\u503c\u7c7b\u578b\u5fc5\u987b\u662fint\uff0c\u8fd9\u6837\u8fd4\u56de\u503c\u624d\u80fd\u4f20\u9012\u7ed9\u7a0b\u5e8f\u7684\u6fc0\u6d3b\u8005\uff08\u5982\u64cd\u4f5c\u7cfb\u7edf\uff09\u3002
\u5982\u679cmain\u51fd\u6570\u7684\u6700\u540e\u6ca1\u6709\u5199return\u8bed\u53e5\u7684\u8bdd\uff0cC99\u89c4\u5b9a\u7f16\u8bd1\u5668\u8981\u81ea\u52a8\u5728\u751f\u6210\u7684\u76ee\u6807\u6587\u4ef6\u4e2d\uff08\u5982exe\u6587\u4ef6\uff09\u52a0\u5165return 0;\uff0c\u8868\u793a\u7a0b\u5e8f\u6b63\u5e38\u9000\u51fa\u3002\u4e0d\u8fc7\uff0c\u6211\u8fd8\u662f\u5efa\u8bae\u4f60\u6700\u597d\u5728main\u51fd\u6570\u7684\u6700\u540e\u52a0\u4e0areturn\u8bed\u53e5\uff0c\u867d\u7136\u6ca1\u6709\u8fd9\u4e2a\u5fc5\u8981\uff0c\u4f46\u8fd9\u662f\u4e00\u4e2a\u597d\u7684\u4e60\u60ef\u3002
\u6ce8\u610f\uff0cvc6\u4e0d\u4f1a\u5728\u76ee\u6807\u6587\u4ef6\u4e2d\u52a0\u5165return 0;\uff0c\u5927\u6982\u662f\u56e0\u4e3avc6\u662f98\u5e74\u7684\u4ea7\u54c1\uff0c\u6240\u4ee5\u624d\u4e0d\u652f\u6301\u8fd9\u4e2a\u7279\u6027\u3002\u73b0\u5728\u660e\u767d\u6211\u4e3a\u4ec0\u4e48\u5efa\u8bae\u4f60\u6700\u597d\u52a0\u4e0areturn\u8bed\u53e5\u4e86\u5427\uff01\u4e0d\u8fc7\uff0cgcc3.2\uff08Linux\u4e0b\u7684C\u7f16\u8bd1\u5668\uff09\u4f1a\u5728\u751f\u6210\u7684\u76ee\u6807\u6587\u4ef6\u4e2d\u52a0\u5165return 0;\u3002
#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("输入一个十六进制的数
");
scanf("%x",&num);
printf("直接用%%d输出:%d
",num);
printf("用函数输出:");
HEX_DEC(num,10);//转换成几进制就把第二个参数换成几
printf("
");
system("pause");
}
运行结果:
扩展资料:
scanf用法:
输出的值只是空格前面的字符是因为scanf函数的输入格式错误,输入参数的变量前需要加&。
scanf("%s",s);改为scanf("%s",&s);
scanf的用法是:scanf("格式控制字符串",输入参数一,输入参数二);
格式控制字符串包含:格式控制说明,普通字符。
1、格式控制字符串表示输入的格式,(int型用%d,float用%f,double型用%lf)
2、普通字符:在输出数据的时候,按照原样输出的字符,如:"fahr=%d,celsius=%d
"中的fahr=,celsius=。
3、输入的参数是变量的地址,所以要在变量前面加&。
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
int main()
{
void tran(int);
int x;
printf("请输入一个十六进制数:");
for(;;printf("输入不正确,请输入一个十六进制数:"))
{
if(scanf("%x",&x))
break;
fflush(stdin);
}
tran(x);
getch();
return 0;
}
void tran(int x)
{
int i,s[10]={0};
for(i=0;x;i++)
{
s[i]=x%10;
x/=10;
}
for(i--;i>=0;i--)
printf("%d",s[i]);
printf("
");
}
祝你成功!
#include<stdio.h>
#include<string.h>
main()
{
char s[32];
scanf("%s", s);
int len = strlen(s), ans = 0, i;
for(i = 0; i < len; i++)
{
int index;
if(s[i] >= 'a' && s[i] <= 'f')
index = s[i] - 'a' + 10;
else if(s[i] >= 'A' && s[i] <= 'F')
index = s[i] - 'A' + 10;
else index = s[i] - '0';
ans += (int)(index * pow(16.0, len - 1 - i));
}
printf("%d
", ans);
}
#include "stdio.h"
void main(){
int x;
scanf("%x",&x);
printf("%d\n",x);
}
绛旓細include <stdio.h> int main(void){ int m;scanf("%d\n",&m);printf("瀵瑰簲鐨鍗佸叚杩涘埗涓猴細%x\n",m);return 0;} 涓嶈繃鎰熻搴旇涓嶆槸杩欐牱鐨勩傚氨鍍弞ss2003璇寸殑锛氣滄劅瑙夊簲璇ユ槸缂栫▼鍋鍚э紝鐩存帴鐢ㄧ郴缁熺殑杞崲娌℃剰鎬濄傗
绛旓細main(){ void change(int s);int num;printf("璇疯緭鍏ヨ繖涓暟锛");scanf("%d",&num);printf("璇ユ暟鐨鍗佸叚杩涘埗褰㈠紡涓猴細0x%x\n",num);//鐩存帴浠ュ崄鍏繘鍒剁殑褰㈠紡灏嗘暣鏁拌緭鍑 change(num);} void change(int s){ char num1[10];sprintf(num1,"%x",s);//sprintf()鍑芥暟鏄皢鍙橀噺鎸夋寚瀹氱殑鏍煎紡...
绛旓細{if(c>='0'&&c<='9'||c>='A'&&c<='F'||c>='a'&&c<='f'){d[i]=c; i++; /* 鑻ヨ緭鍏ョ殑瀛楃鏄鍗佸叚杩涘埗鍏佽鐨勫瓧绗︼紝瀛樺叆d鏁扮粍 */ if(i>=9)break; /* 鏈澶氫節浣 */ } d[i]='\0'; /* 鏁扮粍鏈鍚涓涓鍏冪礌璧嬧橽0鈥 */ dec=htod(d); /* 璋冪敤杞崲鍑芥暟 */ } pri...
绛旓細include<stdio.h> 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[...
绛旓細include<string.h> include<math.h> / 鍑芥暟锛歝onvert 鍔熻兘锛鍗佸叚杩涘埗杞崄杩涘埗 / 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++]...
绛旓細char oNumTable[6] = {'A', 'B', 'C', 'D', 'E', 'F'};void dToO(int, char*);int main(){ int dNum;char oNum[100] = {0};//杈撳叆涓涓鍗佽繘鍒舵暟 scanf("%d", &dNum);//璋冪敤杞崲鍑芥暟锛屽皢鍗佽繘鍒惰浆鎹㈡垚浠ュ瓧绗︿覆琛ㄧず鐨鍗佸叚杩涘埗 dToO(dNum, oNum);//杈撳嚭浠ュ瓧绗︿覆琛ㄧず鐨...
绛旓細鎬濊矾锛氬崄杩涘埗鏁存暟杞崲涓鍗佸叚杩涘埗鏁存暟閲囩敤"闄16鍙栦綑锛岄嗗簭鎺掑垪"娉曘傚叿浣撳仛娉曟槸锛鐢16鏁撮櫎鍗佽繘鍒舵暣鏁帮紝鍙互寰楀埌涓涓鍟嗗拰浣欐暟锛涘啀鐢16鍘婚櫎鍟嗭紝鍙堜細寰楀埌涓涓晢鍜屼綑鏁帮紝濡傛杩涜锛岀洿鍒板晢涓0鏃朵负姝紝鐒跺悗鎶婂厛寰楀埌鐨勪綑鏁颁綔涓哄崄鍏繘鍒舵暟鐨勪綆浣嶆湁鏁堜綅锛屽悗寰楀埌鐨勪綑鏁颁綔涓哄崄鍏繘鍒舵暟鐨勯珮浣嶆湁鏁堜綅锛屼緷娆℃帓鍒楄捣鏉ャ傚弬...
绛旓細鏂规硶涓锛#include<iostream>#include <string>using namespace std;string DecIntToHexStr(long long num){string str;long long Temp = num / 16;int left = num % 16;if (Temp > 0)str += DecIntToHexStr(Temp);if (left < 10)str += (left + '0');elsestr += ('A' + left -...
绛旓細浠g爜濡備笅锛歩nclude "stdio.h" int main() { int num=0;int a[100]; int i=0; int m=0;int yushu; char hex[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};printf("璇疯緭鍏涓涓鍗佽繘鍒舵暣鏁帮細"); scanf("%d",&num); while(...
绛旓細include<stdio.h> include<string.h> char trs(int i){ char c=0;if(i/10)c=i+55;else c=i+48;return c;} main(){ char a[20];long x,i,t,length;scanf("%d",&x);for(i=0;x!=0;){t=x&15;a[i++]=trs(t);x=x>>4;} a[i]=0;length=strlen(a);printf("\n16...