英文加法运算

别妄想泡我
816次浏览
2020年08月02日 00:28
最佳经验
本文由作者推荐

平庸的近义词-了解的近义词

#include //
#include
#include
char a[30];
char comp[10][6] = {"zero","one","two","three","four","five","six","seven","eight","nine"};

void StringBracket(char *str)//删除空格
{
int i,j,len;

len=strlen(str);
j=0;
for(i=0; i{
if(str[i]!=' ')
{
str[j]=str[i];
j=j+1;
}
}
str[j]='0';
}

int calval(char *str) //计算每个表达式的值 形参接受数组a的地址
{
int i,j,len;
int a1=0,a2=-1,b1=0,b2=-1;//每个表达式最多有4个整数
char str1[20],str2[20];//分解为两个字符串
char stra1[10],stra2[10]={0},strb1[10],strb2[10]={0};//每个字符串最多分解为两个子串

len=strlen(str); //把数组a的长度付给变量len
for(i=0; i{
str1[i]=str[i];
if(str[i]=='+')
{
str1[i]='0';
for(j=i+1; jstr2[j-i-1]=str[j];
str2[len-i-2]='0';
break;
}
}

len=strlen(str1);
for(i=0; i{
stra1[i]=str1[i];
if(i>1 && str1[i]==' ')
{
stra1[i]='0';
for(j=i+1; jstra2[j-i-1]=str1[j];
stra2[len-i-1]='0';
break;
}
}
len=strlen(str2);
for(i=0; i{
strb1[i]=str2[i];
if(i>1 && str2[i]==' ') //i>1表示不考虑前面的空格
{
strb1[i]='0';
for(j=i+1; jstrb2[j-i-1]=str2[j];
strb2[len-i-1]='0';
break;
}
}
StringBracket(stra1);
StringBracket(stra2);
StringBracket(strb1);
StringBracket(strb2);
for(i=0; i<10; i++)
{
if(strcmp(stra1,comp[i])==0)ta1=i;
if(strcmp(stra2,comp[i])==0)ta2=i;
if(strcmp(strb1,comp[i])==0)tb1=i;
if(strcmp(strb2,comp[i])==0)tb2=i;
}
if(a2>=0) a1=a1*10+a2; //a2初始化为-1,>=0表示为两位数
if(b2>=0) b1=b1*10+b2;
return a1+b1;
}

int main()
{
int i,val;
char str[10];
while(1)
{
gets(a); //从键盘获取字符串保存在数组a中
val=calval(a);
itoa(val, str, 10);//整数转换为字符串
for(i=0;iprintf("%s ",comp[str[i]-0x30]); //字符转换为数字
printf("
");
}
return 0;
}

学玄学危害-滚刀是什么意思


顺蔓摸瓜-祝英台近


行政英文-单薄成语


棉花糖是什么做的-六出奇计


火车是谁发明的-频度


神秘岛好词好句-宫商


都瓦-泥淖怎么读


简爱读书笔记好词好句-李小双