望高手给出正确答案
通过程序实现任意两个正整数的加减乘除运算要求:(1)要求程序能够处理任意大的正整数
(2)要求程序以字符的形势接受用户的输入
(3)计算是对齐位数,注意考虑进位,退位
(4)要求程序能够打印计算结果
(5)可以进行多个数运算
#include<stdio.h> #include<string.h> void inv(char str[], int n) { int i, j; char temp; for(i=0, j=n-i-1; i<j; i++, j--) temp=str[i], str[i]=str[j], str[j]=temp; } int main() { int i, j=0, n, m=0, len1, len2; char str1[1001], str2[1001]; scanf("%d\n",&n);m=n; while(n--) { scanf("%s%s",str1,str2); printf("Case %d:\n%s + %s = ",++j,str1,str2); len1=strlen(str1); len2=strlen(str2); inv(str1, len1); inv(str2, len2); if(len1<=len2) { for(i=0; i<len1; i++) { str2[i]+=str1[i]-'0'; if(str2[i]>'9' && i<len2-1) str2[i]-=10, str2[i+1]++; } if(str2[len2-1]>'9') str2[len2-1]-=10, str2[len2]='1', str2[len2+1]='\0'; inv(str2, strlen(str2)); printf("%s\n",str2); } else { for(i=0; i<len2; i++) { str1[i]+=str2[i]-'0'; if(str1[i]>'9') str1[i]-=10, str1[i+1]++; } inv(str1, strlen(str1)); printf("%s\n",str1); } if(n>0) printf("\n"); } return 0; }
#include "stdio.h" void main() { int a,b,c; char ch; printf("请以a+b的格式输入"); scanf("%d%c%d",&a,&ch,&b); switch(ch) { case'+': c=a+b; rintf("%d+%d=%d",a,b,c); break; case'-': c=a-b; printf("%d-%d=%d",a,b,c); break; case'*': c=a*b; printf("%d*%d=%d",a,b,c); break; case'/': c=a/b; printf("%d/%d=%d",a,b,c); break; default:printf("无解"); } }