主程序代碼 -數組
1 #include <stdio.h> 2 #include <string.h> 3 main() 4 { 5 long t1; 6 int i, n, t, t3; 7 char a[100]; 8 printf("please input a number string:\n"); 9 gets(a); /*輸入n進制數存到數組a中*/ 10 strupr(a); /*將a中的小寫字母轉換成大寫字母*/ 11 t3 = strlen(a); /*求出數組a的長度*/ 12 t1 = 0; /*爲t1賦初值0*/ 13 printf("please input n(2or8or16):\n"); 14 scanf("%d", &n); /*輸入進制數*/ 15 for (i = 0; i < t3; i++) 16 { 17 if (a[i] - '0' >= n && a[i] < 'A' || a[i] - 'A' + 10 >= n) /*判斷輸入的數據和進制數是否相符*/ 18 { 19 printf("data error!!"); /*輸出錯誤*/ 20 exit(0); /*退出程序*/ 21 } 22 if (a[i] >= '0' && a[i] <= '9') /*判斷是否爲數字*/ 23 t = a[i] - '0'; /*求出該數字賦給t*/ 24 else if (n >= 11 && (a[i] >= 'A' && a[i] <= 'A' + n - 10)) /*判斷是否爲字母*/ 25 t = a[i] - 'A' + 10; /*求出字母所表明的十進制數*/ 26 t1 = t1 * n + t; /*求出最終轉換成的十進制數*/ 27 } 28 printf("the decimal is %ld\n", t1); /*將最終結果輸出*/ 29 }
程序來自 :c語言程序開發範例寶典spa