本文共 1112 字,大约阅读时间需要 3 分钟。
/*(1)B有可能包含空格(2)A, B可能是超出范围[1, 1000]的数*/#include#include #include #include int // 检查a[]是否全是数字isInt(char a[1005]) { int i, len = strlen(a); for( i = 0; i < len; i++ ) { if( !(a[i] >= '0' && a[i] <= '9') ) { return 0; } } return 1;}int // 判断a是否在区间[1, 1000]f(char a[1005]) { int i, len = strlen(a), ans = 0; // 可看成是一个低效的atoi()函数 for( i = len - 1; i >= 0; i-- ) { ans += (a[i] - '0') * pow(10, len - i - 1); } if( !(ans >= 1 && ans <= 1000) ) { return 0; } return 1;}intmain() { char a[1005], b[1005]; scanf("%s", a); getchar(); gets(b); // b有可能包含空格 if( isInt(a) == 1 && isInt(b) == 1 && f(a) == 1 && f(b) == 1 ) { printf("%s + %s = %d\n", a, b, atoi(a) + atoi(b)); } else if( (isInt(a) == 0 || f(a) == 0) && (isInt(b) == 0 || f(b) == 0) ) { printf("? + ? = ?\n"); } else if( isInt(a) == 1 && f(a) == 1 ) { printf("%s + ? = ?\n", a); } else if( isInt(b) == 1 && f(b) == 1 ) { printf("? + %s = ?\n", b); } return 0;}
转载地址:http://qpkxi.baihongyu.com/