社区讨论
求助帮忙找bug,我已经改不出来了= =40分
P1553数字反转(升级版)参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mi7pxp90
- 此快照首次捕获于
- 2025/11/21 01:41 4 个月前
- 此快照最后确认于
- 2025/11/21 01:41 4 个月前
CPP
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
#include<string.h>
char a[100], change2[100];
int main()
{
int change1 = 0, b = 0, c = 0, flag = 1, l = 0, m = 0, i = 0, n = 0,v=0,len=0,x=0;
gets_s(a);
for (i = 0; isdigit(a[i]); i++);
switch (a[i])
{
case '\0':
{
b = atoi(a);
for (int l = 0; l < i; l++)
{
c = b % 10;
b /= 10;
change1 = change1 * 10 + c;
}
printf("%d\n", change1);
}
break;
case '.':
{
b = atoi(a);
for (l = 0, m = 0; l < i; l++, m++)
{
c = b % 10;
b /= 10;
if (flag)
{
if (c == 0)
{
m--;
continue;
}
else
{
change2[m] = c + '0';
flag = 0;
}
}
else
{
change2[m] = c + '0';
}
}
flag = 1;
for (x = l+1; a[x] == '0'; x++);
len = strlen(a + x);
b = atoi(a + x);
change2[m + 1] = '0';
if (l > m)
{
change2[m] = '.';
for (x=0, v = m + 1; x<len; x++, v++)
{
c = b % 10;
b /= 10;
change2[v] = c + '0';
}
}
else
{
change2[l] = '.';
for (x=0, v = l + 1;x<len; x++, v++)
{
c = b % 10;
b /= 10;
if (flag)
{
if (c == 0)
{
v--;
continue;
}
else
{
change2[v] = c + '0';
flag = 0;
}
}
else
{
change2[v] = c + '0';
}
}
}
puts(change2);
}
break;
case '/':
{
b = atoi(a);
for (l = 0, m = 0; l < i; l++, m++)
{
c = b % 10;
b /= 10;
if (flag)
{
if (c == 0)
{
m--;
continue;
}
else
{
change2[m] = c + '0';
flag = 0;
}
}
else
{
change2[m] = c + '0';
}
}
flag = 1;
for (x = l + 1; a[x] == '0'; x++);
len = strlen(a + x);
b = atoi(a + x);
if (l > m)
{
change2[m] = '/';
for (x = 0, v = m + 1; x < len; x++, v++)
{
c = b % 10;
b /= 10;
change2[v] = c + '0';
}
}
else
{
change2[l] = '/';
for (x = 0, v = l + 1; x < len; x++, v++)
{
c = b % 10;
b /= 10;
if (flag)
{
if (c == 0)
{
v--;
continue;
}
else
{
change2[v] = c + '0';
flag = 0;
}
}
else
{
change2[v] = c + '0';
}
}
}
puts(change2);
}
break;
case '%':
{
b = atoi(a);
for (int l = 0; l < i; l++)
{
c = b % 10;
b /= 10;
change1 = change1 * 10 + c;
}
printf("%d%%", change1);
}
break;
}
system("pause");
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...