本文主要是介绍7-23 币值转换 【C++】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
有点颠的一个测试点,记录一下
测试点二,是看了一些AC代码才写出来的,至于原理我也不知道,就当多见识一点题目测试点的可能性吧
#include<iostream>
#include<cstring>
using namespace std;
int main() {string a;char b[10] = { 'S','B','Q','W','S','B','Q','Y' };char c[10] = { 'a','b','c','d','e','f','g','h','i','j' };char d[20];int index_d = 0, index_b = 0;cin >> a;int count = 0;//计算位数for (int i = 0; a[i] != '\0'; i++) {count++;}//处理最小个位数if (count == 1 && a[0] - '0' == 0) {cout << 'a';return 0;}//转换for (int i = count-1; i >= 0; i--) {int temp = (int)a[i] - '0';//最后一个零且不在最后一个时输出if (temp == 0) {if(i != count - 1 && a[i + 1] - '0' != 0)d[index_d++] = c[temp];//大于万位时,连续多零,要输出万的单位if (index_b == 3 && a[i - 1] - '0' == 0) {d[index_d++] = 'W';}}//正常数字情况elsed[index_d++] = c[temp];//单位(有零时无单位)if (i != 0 && a[i-1]-'0' != 0) {d[index_d++] = b[index_b];}index_b++;}//逆序输出for (int i = index_d - 1; i >= 0; i--) {cout << d[i];}return 0;
}
这篇关于7-23 币值转换 【C++】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!