社区讨论
求助!本地样例是对的,但是洛谷上全RE(C
P1957口算练习题参与者 3已保存回复 3
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @lo7ffr4d
- 此快照首次捕获于
- 2023/10/27 00:56 2 年前
- 此快照最后确认于
- 2023/10/27 00:56 2 年前
C
#include <stdio.h>
#include <string.h>
int lens(int a)
{
int i = 0;
for (i = 0; a != 0; a /= 10)
{
i++;
}
return i;
}
void main()
{
char op[51], temp[51];
int i, j, n, c, num[50][3] = { 0 };
scanf("%d", &n);
for (i = 0; i < n; i++)
{
scanf("%s", &temp);
if (temp[0] == 'a' || temp[0] == 'b' || temp[0] == 'c')
{
op[i] = temp[0];
scanf("%d %d", &num[i][0], &num[i][1]);
}
else
{
op[i] = op[i - 1];
for (j = 0; j < strlen(temp); j++)
{
num[i][0] = num[i][0] * 10 + temp[j]-'0';
}
scanf("%d", &num[i][1]);
}
}
for (i = 0; i < n; i++)
{
c = 0;
if (op[i] == 'a')
{
printf("%d+%d=%d", num[i][0], num[i][1], num[i][0] + num[i][1]);
printf("\n%d", lens(num[i][0]) + lens(num[i][1]) + lens(num[i][0] + num[i][1]) + 2);
}
else if (op[i] == 'b')
{
printf("%d-%d=%d", num[i][0], num[i][1], num[i][0] - num[i][1]);
if (num[i][0] - num[i][1] < 0)
c++;
printf("\n%d", lens(num[i][0]) + lens(num[i][1]) + lens(num[i][0] - num[i][1]) + 2 + c);
}
else
{
printf("%d*%d=%d", num[i][0], num[i][1], num[i][0] * num[i][1]);
printf("\n%d", lens(num[i][0]) + lens(num[i][1]) + lens(num[i][0] * num[i][1]) + 2);
}
if (i != n - 1)
printf("\n");
}
}
有佬能指出怎么修改吗TAT
回复
共 3 条回复,欢迎继续交流。
正在加载回复...