文章
9
粉丝
126
获赞
11
访问
52.0k
新手,自己琢磨的,轻喷
还能简化,有时间再搞
#include
using namespace std;
#include
#include
#include
int main ()
{
char s[30];
char s2[30];
char s3[120] = {0};
while (scanf ("%s", &s) != EOF)
{
int cnt = 0;
int len = strlen (s);
while (s[0] > '0')
{
s3[cnt++] = (s[len-1] - '0')%2 + '0';//模2
if (s[0] == '1' && len == 1)
s[0] = '0';
if (s[0] == '1')//首位是1
{
for (int i = 1; i < len; i++)
{
if ((s[i-1]-'0')%2 == 0)//根据前一位判断是否+5,凡模2等于1的相当于多加一个10/2
{
s2[i-1] = (s[i]-'0')/2 + '0';//首位是1,除以2过后为0,消除0
}
else
s2[i-1] = (s[i]-'0')/2+5 + '0';
}
len --;//除以2之后,长度-1
}
else//首位不是1
{
s2[0] = (s[...
登录后发布评论
暂无评论,来抢沙发