c语言输出大数,C语言大数加法程序!这个如何无法输出结果的,菜鸡啊

C语言大数加法程序!这个怎么无法输出结果的,菜鸡求救啊?

#include

#include

int main()

{char a[100],b[100],c[100];

int i,t,l1,l2,l3;

gets(a);

gets(b);

//反序

l1=strlen(a);

for(i=0;i<=l1/2;i++)

{

t=a[i]-'0';

a[i]=a[l1-i]-'0';

a[i-i]=t;

}

l2=strlen(b);

for(i=0;i<=l2/2;i++)

{

t=b[i]-'0';

b[i]=b[l2-i]-'0';

b[i-i]=t;

}

l3=l1>l2?l1:l2;

c[1]=a[1]+b[1];

for(i=1;i<=l3;i++)

{

if(c[i-1]/10==1)

{

c[i-1]%=10;

c[i]=(a[i]+b[i])%10+1;

}

else

c[i]=(a[i]+b[i]);

}

if(c[i-1]/10==1)

{

c[i-1]%=10;

c[i]=1;

c[i+1]='\0';

}

else

c[i]='\0';

l3=strlen(c);

for(i=l3;i>=0;i--)

printf("%c",c[i]);

}

分享到:

更多

------解决方案--------------------

仅供参考#include 

#include 

#define MAXLEN 1000

char a1[MAXLEN];

char a2[MAXLEN];

static int v1[MAXLEN];

static int v2[MAXLEN];

static int v3[MAXLEN];

int i,j,n,L,z;

void main(void) {

scanf("%d",&n);

for (j=0;j

scanf("%s%s",a1,a2);

L=strlen(a1);

for (i=0;i

L=strlen(a2);

for (i=0;i

for (i=0;i

for (i=0;i

if (v3[i]>=10) {

v3[i+1]+=v3[i]/10;

v3[i]=v3[i]%10;

}

}

printf("Case %d:\n", j+1);

printf("%s + %s = ", a1, a2);

z=0;

for (i=MAXLEN-1;i>=0;i--) {

if (z==0) {

if (v3[i]!=0) {

printf("%d",v3[i]);

z=1;

}

} else {

printf("%d",v3[i]);

}

}

if (z==0) printf("0");

printf("\n");

}

}

//Sample Input

//3

//0 0

//1 2

//112233445566778899 998877665544332211

//

//Sample Output

//Case 1:

//0 + 0 = 0

//Case 2:

//1 + 2 = 3

//Case 3:

//112233445566778899 + 998877665544332211 = 1111111111111111110

------解决方案--------------------

引用:Quote: 引用:仅供参考#include 

#include 

#define MAXLEN 1000

char a1[MAXLEN];

char a2[MAXLEN];

static int v1[MAXLEN];

在 Code::Blocks 中,C 语言程序输出乱码的原因可能有以下几种情况: 1. 使用了错误的字符编码:确保程序文件使用的字符编码与你的操作系统和终端的字符编码一致。一般情况下,UTF-8 是一个通用的编码格式,可以尝试在程序中使用该编码。 2. 使用了错误的输出函数:在 C 语言中,输出函数有多种,如 printf、puts、fputs 等,每个函数的使用方式和输出结果略有不同,需要根据具体的需求进行选择。 3. 终端字符编码设置错误:如果程序输出到终端,那么终端的字符编码也需要正确设置。在 Windows 系统下,可以使用 chcp 命令来设置终端的字符编码;在 Linux 和 macOS 系统下,可以使用 locale 命令来设置终端的字符编码。 4. 程序中存在中文字符:如果程序中存在中文字符,需要在程序中添加 #pragma execution_character_set("utf-8") 或者 #pragma execution_character_set("gbk") 等语句来设置字符编码。 如果以上方法都不起作用,可以尝试在程序中使用 Unicode 编码,并将输出转换成 UTF-8 或者 GBK 编码。可以使用如下代码来进行转换: ```c #include <locale.h> #include <wchar.h> #include <stdlib.h> void unicode_to_utf8(wchar_t *in, char *out, size_t len) { setlocale(LC_ALL, "en_US.utf8"); wcstombs(out, in, len); } void unicode_to_gbk(wchar_t *in, char *out, size_t len) { setlocale(LC_ALL, "zh_CN.gbk"); wcstombs(out, in, len); } ``` 使用上述代码,可以将 Unicode 编码的字符串转换成 UTF-8 或者 GBK 编码,然后再进行输出
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值