第一题:
math库中pow的使用,整型数字转换成数字字符串可以用sprintf函数,用数字字符串计算时要注意以下
注意点:数组中存入的是字符串,因此需要(-‘0’)来转换成整型,‘0’的ASCII码是0x30转换成十进制是48
#include<stdio.h> #include<string.h> #include<math.h> #define LEN 80 char * s_gets(char * st , int n); void bintodec(char arr[]); int main(void) { int n; char arr[LEN]; char *p; int i; printf("input a Binary number: "); s_gets(arr,LEN); bintodec(arr); return 0; } void bintodec(char arr[]) { int i; int j = strlen(arr); int sum=0; printf("%d ",j); for(i=0;i<strlen(arr);i++) { j--; sum += (arr[i]-'0') * (int)pow(2,j); } printf("Decimal number is:%d ",sum); } char * s_gets(char * st , int n) { char * ret_val ; char * find ; if (ret_val = fgets(st , n , stdin)) { if (find = strchr(st , ' ')) *find = '