洛谷P2084----进制转换
#include<stdio.h> #include<string.h> int main() { int m; scanf("%d", &m); int i = 0; char n[1000]; scanf("%s", n); int len = strlen(n); int j; int flag; for (j = len - 1; j >= 0; j--) { if(n[j]!='0'){ flag = j; break; } } for (j = 0; j < len; j++) { if (n[j] != '0'&&j != flag) { printf("%c*%d^%d+", n[j], m, len - 1 - j); } if (n[j] != '0'&&j == flag) { printf("%c*%d^%d", n[j], m, len - 1 - j); } } return 0; }
笔记:第一次直接用是否到达数组末尾作为是否输出加号的依据,忘记考虑了可能末尾很多0,所以得先找到最后一个不是0的数的位置