HDOJ 1002 C语言版

来源:互联网 发布:人工智能 神经元 编辑:程序博客网 时间:2024/05/23 01:58
#include<stdio.h>//c语言代码#include<string.h>int main(){    int n,j;    scanf("%d",&n);    if(n<1||n>20)        return 0;    for(j=0;j<n;j++)    {        int a[1000]={0},b[1000]={0},c[1000]={0},i,ka,kb,k;        char a1[1000],b1[1000];        scanf("%s",a1);//将大数录入字符串a1        ka=strlen(a1);//测a1长度        for(i=0;i<ka;i++)            a[i]=a1[ka-i-1]-'0';//a1内有效字符首尾交换并转换为数字存入a数组        scanf("%s",b1);        kb=strlen(b1);        for(i=0;i<kb;i++)            b[i]=b1[kb-i-1]-'0';//b1内有效字符首尾交换并转换为数字存入b数组        if(ka>kb)//找出长字符串            k=ka;        else            k=kb;        for(i=0;i<k;i++)            c[i]=a[i]+b[i];//各位求和,下面对求和结果做处理                for(i=0;i<k;i++)            if(c[i]>=10)            {                c[i+1]+=c[i]/10;//需要进位的进位                c[i]%=10;            }            printf("Case %d:\n",j+1);            printf("%s + %s = ",a1,b1);            if(c[k]==0)k--;            for(i=k;i>=0;i--)                printf("%d",c[i]);            if(j==n-1)                printf("\n");            else                printf("\n\n");    }    return 0;}

0 0