int conv(char hex[]) { int i=0,num=0; while(hex[i]!='\0') { if(i>=6) //判断位数是否超过6位 return -1; if(hex[i]>='0'&&hex[i]<='9') //处理0~9 num=num16+(hex[i]-'0'); else if(hex[i]>='A'&&hex[i]<='F') //处理A~F num=num16+(hex[i]-'A'+10); else if(hex[i]>='a'&&hex[i]<='f') //处理a~f num=num*16+(hex[i]-'a'+10); else if(hex[i]=='H'||hex[i]=='h') //判断是否以H或h结尾 { if(i==0) //判断是否为空字符串 return -1; else return num; } else //输入有误 return -1; i++; } return -1;

c语言编写函数int convchar hex将16进制的数字字符串转换为十进制整数要求主函数中输入16进制数字字符串调用conv函数输出其十进制整数。16进制数字字符串的位数要求在6位一下1位以上并以H或h结尾。请只提供子函数的编写。样例输入57ABH样例输出22443#includestdioh#includestdlibhint convchar hex;int mainint m;char

原文地址: https://www.cveoy.top/t/topic/evuM 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录