|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<stdio.h>
#include<string.h>
void main()
{
long t1; /*最终结果t1输出*/
int i,n,t,t3;
char a[100];
printf("please input a number string:\n");
gets(a); /*输入n进制数存到组a中*/
strupr(a); /*将a中的小写字母转换成大写字母*/
t3=strlen(a); /*求出数组a的长度*/
t1=0;
printf("please input n(2or8or16):\n");
scanf("%d",&n);
for(i=0;i<13;i++)
{
if(a[i]-'0'>n&&a[i]<'A'||a[i]-'A'+10>=0) /*判断输入的数据和进制是否相等*/
{
printf("data error!!!");
break; /*退出程序*/
}
if(a[i]>='0'&&a[i]<='9') /*判断是否为数字*/
t=a[i]-'0';
else if(n>=11&&(a[i]>='A'&&a[i]<='A'+n-10)) /*判断是否为字母*/
t=a[i]-'A'+10; /*求出字母所代表的十进制数*/
t1=t1*n+t; /*求出最终转换成的十进制数*/
}
printf("the decimal is %ld\n ",t1);
}
if(a[i]-'0'>n&&a[i]<'A'||a[i]-'A'+10>=0) /*判断输入的数据和进制是否相等*/ else if(n>=11&&(a[i]>='A'&&a[i]<='A'+n-10)) /*判断是否为字母*/ 这两条语句是什么意思?是 怎样判断的?谢谢!
|
|