#include <stdio.h>
#include <string.h>
/** 通过键盘输入100以内正整数的加、减运算式,编写程序输出运算结果字符串*/
void arithmetic(const char *pInputStr, long lInputLen)
{
int i,flag_num1,flag_oper,flag_num2;
i=0;
flag_num1=0;
while(pInputStr[i]>='0' && pInputStr[i]<='9')
{
i++;
}
if(i==0 || i>2)
return;
if(pInputStr[0]=='0' && i>1)
return;
int j,num1;
num1 = 0;
for(j=0;j<i;j++)
num1 = num1*10 + (pInputStr[j]-'0');
if(pInputStr[i]!= ' ')
return;
++i;
if(pInputStr[i]!= '+' && pInputStr[i]!='-')
return;
char oper;
oper = pInputStr[i];
++i;
if(pInputStr[i]!=' ')
return;
++i;
int start_tag,num2_len;
start_tag = i;
while(pInputStr[i]>='0' && pInputStr[i]<='9')
{
i++;
}
num2_len = i - start_tag;
if(num2_len == 0 || num2_len > 2)
return;
if(num2_len > 1 && pInputStr[start_tag]=='0')
return;
int k,num2;
num2 = 0;
for(k=start_tag;k<i;k++)
{
num2 = num2*10 + (pInputStr[k]-'0');
}
if(i>lInputLen)
return;
int sum;
sum = 0;
if(oper == '+')
{
sum = num1 + num2;
}else
{
sum = num1 - num2;
}
printf("%d\n",sum);
getchar();
}
int main()
{
char s[10] ;
gets_s(s);
arithmetic(s,strlen(s));
return 0;
}
简单数加法
最新推荐文章于 2015-12-01 16:44:43 发布