用字符数组进行简单加减运算

来源:百度知道 编辑:UC知道 时间:2024/09/21 23:46:38
我想用字符数组实现简单的加减运算

可能是加法比较简单 很快就出来了

但是减法程序虽然能运行 却得不到正确的结果

哪位NX大大帮我看啊

下面是我调试时的一段程序......

#include<stdio.h>
#include<string.h>
int n,m;
main()
{
char a[100],b[100];

int i,j,k;
int c[100];
for(i=0;i<100;i++)
c[i]=0;
printf("\n input a number string A:\n");
scanf("%s",a);
n=strlen(a);

printf("\n input a number string B:\n");
scanf("%s",b);
m=strlen(b);

if(n==m)

{
if(strcmp(a,b)>0)
{ k=i;
j=i;
for(i=n-1;i>=0;i--)
{
c[k]=(a[i]-'0')-(b[j]-'0')-c[k];
if(c[k]<0)
{a[i]=a[i]+10;
a[i-1]=a[i-1]-1;
}
}
for(k=0;k<=

你的程序进位时有问题
这是我改的希望能对你有帮助!!.

#include<stdio.h>
#include<string.h>

int n,m;
main()
{
char a[100],b[100];
int i,j,k,t;

int c[100];

for(i=0;i<100;i++)

c[i]=0;

printf("\n input a number string A:\n");
scanf("%s",a);
n=strlen(a);

printf("\n input a number string B:\n");
scanf("%s",b);
m=strlen(b);
if(n==m)
{
if(strcmp(a,b)>0)
{
for(i=n-1;i>=0;i--)

{ k=i;
j=i;
c[k]=(a[i]-'0')-(b[j]-'0');
if(c[k]<0)
{a[i]=a[i]+10;
a[i-1]=a[i-1]-1;
c[k]=c[k]+10;
}
}