社区讨论
本地没问题,提交全wa,且都提示我输出第一个元素为’-‘
P1957口算练习题参与者 3已保存回复 3
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @lo36nhdd
- 此快照首次捕获于
- 2023/10/24 01:39 2 年前
- 此快照最后确认于
- 2023/10/24 01:39 2 年前
C
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,a[100][3]={0},b[100][3],w[5]={0};
char f,f2,f3;
scanf("%d",&n);
getchar();
for(int i=0;i<n;i++)
{
if((f=getchar())>='a')
{
f2=f;
scanf("%d%d",&a[i][0],&a[i][1]);
}
else
{
scanf("%d%d",&a[i][0],&a[i][1]);
int temp=a[i][0];
while(a[i][0]/10!=0)
{
w[1]=1;
a[i][0]/=10;
w[1]++;
}
a[i][0]=temp+pow(10,w[1])*(f-'2'+2);
}
getchar();
switch(f2)
{
case 'a':{f3='+';a[i][2]=a[i][0]+a[i][1];}break;
case 'b':{f3='-';a[i][2]=a[i][0]-a[i][1];}break;
case 'c':{f3='*';a[i][2]=a[i][0]*a[i][1];}break;
}
b[i][0]=a[i][0];
b[i][1]=a[i][1];
b[i][2]=a[i][2];
for(int j=0;j<3;j++)
{
w[0]=1;
while(b[i][j]/10!=0)
{
b[i][j]/=10;
w[0]++;
}
w[j+1]=w[0];
}
w[4]=w[1]+w[2]+w[3];
if(a[i][2]<0)
{
w[4]++;
}
printf("%d%c%d=%d\n%d\n",a[i][0],f3,a[i][1],a[i][2],2+w[4]);
}
return 0;
}
回复
共 3 条回复,欢迎继续交流。
正在加载回复...