养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

用C语言编写,n进制转换为十进制

时间:2024-11-01 14:28:06

在visualC++6.0上,用C语言编写,n进制转换为十进制

工具/原料

visualC++6.0

方法/步骤

1、打开visualC++6.0-文件-新建-文件-C++SourceFile

用C语言编写,n进制转换为十进制

用C语言编写,n进制转换为十进制

2、定义变量和数组:#include<stdio.h>#include<string.h>voidmain(){longt1;inti,n,t,t3;chara[100];

用C语言编写,n进制转换为十进制

3、输入字符:printf("请输入字符:\n");gets(a);/*输入n进制数存到数组a中*/strupr(a);/*将a中的小写字母转换成大写字母*/t3=strlen(a);/*求出数组a的长度*/t1=0;/*为t1赋初值0*/

用C语言编写,n进制转换为十进制

4、输入进制:printf("请输入n(2or8or16):\n");scanf("%d",&n);/*输入进制数*/

用C语言编写,n进制转换为十进制

5、判断数据和进制数是否相符:for(i=0;i<t3;i++){if(a[i]-'0'>=n&&a[i]<'A'||a[i]-'A'+10>=n)/*判断输入的数据和进制数是否相符*/{printf("输入有误!!");/*输出错误*/exit(0);/*退出程序*/}

用C语言编写,n进制转换为十进制

6、计算它的十进制数:if(a[i]>='0&拭貉强跳#39;&&a[i]<='9')/*判断是否为数字*砖镑苣逢/t=a[i]-'0';/*求出该数字赋给t*/elseif(n>=11&&(a[i]>='A'&&a[i]<='A'+n-10))/*判断是否为字母*/t=a[i]-'A'+10;/*求出字母所代表的十进制数*/t1=t1*n+t;/*求出最终转换成的十进制数*/}printf("十进制形式是%ld\n",t1);/*将最终结果输出*/

用C语言编写,n进制转换为十进制

7、完整的源代码:#inclu蟠校盯昂de<stdio.h>#include<string.h&爿讥旌护gt;voidmain(){longt1;inti,n,t,t3;chara[100];printf("请输入字符:\n");gets(a);/*输入n进制数存到数组a中*/strupr(a);/*将a中的小写字母转换成大写字母*/t3=strlen(a);/*求出数组a的长度*/t1=0;/*为t1赋初值0*/printf("请输入n(2or8or16):\n");scanf("%d",&n);/*输入进制数*/for(i=0;i<t3;i++){if(a[i]-'0'>=n&&a[i]<'A'||a[i]-'A'+10>=n)/*判断输入的数据和进制数是否相符*/{printf("输入有误!!");/*输出错误*/exit(0);/*退出程序*/}if(a[i]>='0'&&a[i]<='9')/*判断是否为数字*/t=a[i]-'0';/*求出该数字赋给t*/elseif(n>=11&&(a[i]>='A'&&a[i]<='A'+n-10))/*判断是否为字母*/t=a[i]-'A'+10;/*求出字母所代表的十进制数*/t1=t1*n+t;/*求出最终转换成的十进制数*/}printf("十进制形式是%ld\n",t1);/*将最终结果输出*/}

用C语言编写,n进制转换为十进制

用C语言编写,n进制转换为十进制

用C语言编写,n进制转换为十进制

© 一点知识