L1-025 正整数A+B
1.思路
1.可以用字符串的形式来输入A和B,其中空格可以使用 getchar() 把两个字符串分开
2.用函数来进行A,B的判定
3.判定字符串中1.是否有乱码,2.符号是否正确,3.数的位数是否正确
2.源码
#include<stdio.h>
#include<string.h>
int solve(char a[]) //确定数和判断数是否满足条件
{
int len=strlen(a);
int sum=0;
for(int i=0;i<len;i++)
{
if(a[i]>='0'&&a[i]<='9')
sum=sum*10+a[i]-'0';
else return 1001;
}
return sum;
}
int judge(char a[])
{
int len=strlen(a);
if(len>4)return 0;
else if(a[0]=='-') return 0;
else if(solve(a)>1000||solve(a)<1)return 0;
else return 1;
}
main()
{
char a[1000],b[1000];
scanf("%s",a);
getchar();
gets(b);
if(judge(a)&&judge(b)) printf("%d + %d = %d",solve(a),solve(b),solve(a)+solve(b));
else if(judge(a)) printf("%d + ? = ?",solve(a));
else if(judge(b)) printf("? + %d = ?",solve(b));
else printf("? + ? = ?");
}