#include#include #include #define AS 20 void qw(char ps[],int v); int u = 0; int main(void) { int p = 0; char as[AS]; while (1) { printf("请输入二进制数:"); gets_s(as, AS - 1); p = strlen(as); qw(as, p); } return 0; } void qw(char ps[],int v) { int h; int k = 0; int l = 0; int a = 0; for (h = v-1; h >= 0; h--) { if (ps[h] == 49) { k = pow(2,a); l += (1 * k); } else if (ps[h] > 49) { printf("输入错误,请重新输入!"); u = 1; break; } a++; } if (u == 0) { printf("十进制值数为:%dn", l); } else printf("n"); u = 0; }
注:p[h]为什么用49,我也不太清楚,可用自己的电脑编程试一下,知道的朋友可以说一下。



