pow函数,gets输入数字后的处理

来源:互联网 发布:机房网络布线 编辑:程序博客网 时间:2024/05/02 08:43
/*
输入一个整数n和一个字符串str,计算并输出n进制数str的值。
   如输入:7    16
则输出:13 (16)7=(13)10
如输入:16   3A
则输出:58




在这里遇到一个问题 , 用gets输入函数 输入的字符串打印出来为ASCII的值
所以应该全部减去 ‘0’  就对了 
*/
#include"stdio.h"
#include"string.h"
#include"math.h"
int main()
{               
char str[20];
int i,c;
int count=0;
int j;
// scanf("%d",&j);
  //  printf("j的值=%d",j);
gets(str);
c=strlen(str);
printf("字符串的长度= %d",c);
for(i=0;i<c;i++)
{
// printf("测试%d\n",str[i]-'0');

   if(str[i]<='Z'&&str[i]>='A')     //如果输入为16进制 
        str[i]=str[i]-'A'+10;  //减去A +10   A=10
else 
str[i]=str[i]-'0';
}



for(i=0;i<c;i++)
{

count=count+str[i]*pow(2,c-i-1);   //2代表2进制 
//count=count+7*str[i];
}
printf("count=%d",count);

}
0 0
原创粉丝点击