请大家帮忙看一下,不知错在哪个地方!
1. 题意描述:写一个把N(N=2,8,10,16)进制数字字符串转换成整数的函数,它有两个参数,一个是基数N,一个是字符数组。程序在运行时用户输入:
N DDDDDD
其中N 为基数, DDDD为数字字符串,然后输出转换后的整数值,以10进制显示。不必考虑整数太大int类型无法容纳的问题。
程序代码:
#include "stdio.h" #include "conio.h" #include "string.h" #include "math.h" int myint(int N,char *p) /*转换*/ { int n,i,a=0; n=strlen(p); for(i=0;i<n;i++) a+=((p[n-i-1]-'0')*pow(N,i)) ; return a; } main() {int N,B;char a[80]; printf("please input N:"); scanf("%d",&N); printf("please input a(0~N-1):"); gets(a); B=myint(N,a); printf("%d",B); }