Shack8 @ 2021-11-30 11:40:24
#include <bits/stdc++.h>
using namespace std;
int i;
char k;
int main( )
{
cin>>i;
string n[i][3];
for (int j=0;j<i;j++)
{
for (int e=0;e<2;e++)
{
cin>>n[j][e];
}
if (n[j][0]>="a"&&n[j][0]<="c") cin>>n[j][2];
}
for (int j=0;j<i;j++)
{
if (n[j][0]=="a") k='a';
else if (n[j][0]=="b") k='b';
else if (n[j][0]=="c") k='c';
else
{
if (k=='a')
{
n[j][2]=n[j][1];
n[j][1]=n[j][0];
n[j][0]="a";
}
else if (k=='b')
{
n[j][2]=n[j][1];
n[j][1]=n[j][0];
n[j][0]="b";
}
else if (k=='c')
{
n[j][2]=n[j][1];
n[j][1]=n[j][0];
n[j][0]='c';
}
}
char e=n[j][0][0];
switch (e)
{
case 'a':
{
int num1=0,num2=0,l=n[j][1].size( )+n[j][2].size( )+2;
for (int q=0;q<n[j][1].size( );q++)
{
num1*=10;
num1+=n[j][1][q]-'0';
}
for (int q=0;q<n[j][2].size( );q++)
{
num2*=10;
num2+=n[j][2][q]-'0';
}
cout<<n[j][1]<<"+"<<n[j][2]<<"="<<num1+num2<<endl;
for (int num3=num1+num2;num3>0;num3/=10) l++;
cout<<l<<endl;
break;
}
case 'b':
{
int num1=0,num2=0,l=n[j][1].size( )+n[j][2].size( )+2;
for (int q=0;q<n[j][1].size( );q++)
{
num1*=10;
num1+=n[j][1][q]-'0';
}
for (int q=0;q<n[j][2].size( );q++)
{
num2*=10;
num2+=n[j][2][q]-'0';
}
cout<<n[j][1]<<"-"<<n[j][2]<<"="<<num1-num2<<endl;
for (int num3=num1-num2;num3>0;num3/=10) l++;
cout<<l<<endl;
break;
}
case 'c':
{
int num1=0,num2=0,l=n[j][1].size( )+n[j][2].size( )+2;
for (int q=0;q<n[j][1].size( );q++)
{
num1*=10;
num1+=n[j][1][q]-'0';
}
for (int q=0;q<n[j][2].size( );q++)
{
num2*=10;
num2+=n[j][2][q]-'0';
}
cout<<n[j][1]<<"*"<<n[j][2]<<"="<<num1*num2<<endl;
for (int num3=num1*num2;num3>0;num3/=10) l++;
cout<<l<<endl;
break;
}
}
}
return 0;
}
代码如上
by Shack8 @ 2021-11-30 11:41:17
请问是哪里不正确吗?
by YAHC @ 2021-12-04 22:46:57
我也是!
#include<iostream>
#include<string>
using namespace std;
int main()
{
string a=" abcdefghijklmnopqrstuvwxyz";
int b[27]={1,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,4,1,2,3,1,2,3,4};
string c;
getline(cin,c);
int ans;
for(int i=0;i<=c.size()-1;i++)
{
ans+=b[a.find(c[i])];
}
cout<<ans;
}