使用unsigned int,不需要使用string记录和。
注意do while 和while的区别。
这里使用while不能通过测试。
#include <iostream> #include <string.h> #include <stdio.h> using namespace std; int main(){ int m; unsigned int sum, a, b; while (cin >> m) { if(m == 0) return 0; int z[50]; int num = 0; cin >> a >> b; sum = a + b; // if(sum == 0){ // cout << 0 << endl; // break; // } // while(sum != 0){ // z[num++] = sum % m; // sum = sum / m; // } do{ z[num++]=sum%m; sum=sum/m; }while(sum!=0); for(int i = num - 1; i >= 0; i--){ printf("%d", z[i]); } printf("\n"); } return 0; }