zoukankan      html  css  js  c++  java
  • 骄傲的代价

    http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2279

     1 #include<stdio.h>
     2 #include<string.h>
     3 int main()
     4 {
     5     char st1[1002],st2[1002];
     6     int a[1000],b[1000],n1,n2,k,i,j,n,l;
     7     scanf("%d%*c",&n);
     8     for(l=1;l<=n;l++)
     9     {
    10         scanf("%s %s",st1,st2);
    11         memset(a,0,sizeof(a));
    12         memset(b,0,sizeof(b));
    13         n1=strlen(st1);
    14         n2=strlen(st2);
    15         for(i=0;i<n1;i++)
    16             a[n1-1-i]=st1[i]-'0';
    17         for(i=0;i<n2;i++)
    18             b[n2-1-i]=st2[i]-'0';
    19         k=n1;
    20         if(n1<n2)
    21             k=n2;
    22         for(i=0;i<k;i++)
    23             a[i]=a[i]+b[i];
    24         for(i=0;i<k;i++)
    25         {
    26             if(a[i]>9)
    27             {
    28                 a[i+1]=a[i+1]+a[i]/10;
    29                 a[i]=a[i]%10;
    30             }
    31             else
    32             a[i]=a[i];
    33         }
    34         for(j=k;j>=0;j--)
    35         {
    36             if(a[j])break;
    37         }
    38         printf("Case %d:\n%s + %s = ",l,st1,st2);
    39        for(i=j;i>=0;i--)
    40         {
    41             printf("%d",a[i]);
    42         }
    43         printf("\n\n");
    44     }
    45     return 0;
    46 }

    大数加法我在http://my.csdn.net/m12110501061发了博客。这道题变了一下形势,输出问题我想了一天,最终问了tanhehe,printf("Case %d:\n%s + %s = ",l,st1,st2);这样输出第一次用,开始也想到了,以为不行,就没试试。他的代码比我的简单,在这里给大家分享一下

     1 #include<stdio.h>  
     2 #include<string.h>  
     3 int main()  
     4 {  
     5     int js,js1=0,i,la,lb,max;  
     6     int a[1000],b[1000],c[1000];  
     7     char sa[1000],sb[1000];  
     8     scanf("%d%*c",&js);  
     9     while(js!=0)  
    10     {  
    11         js1++;  
    12         js--;  
    13         memset(a,0,sizeof(a));  
    14         memset(b,0,sizeof(b));  
    15         memset(c,0,sizeof(c));  
    16         scanf("%s%s",&sa,&sb);  
    17         la=strlen(sa);  
    18         lb=strlen(sb);  
    19         for(i=0;i<la;i++)  
    20             a[la-1-i]=sa[i]-48;  
    21         for(i=0;i<lb;i++)  
    22             b[lb-1-i]=sb[i]-48;  
    23         if(la<lb) max=lb;  
    24         else max=la;  
    25         for(i=0;i<max;i++)  
    26             c[i]=a[i]+b[i];  
    27         for(i=0;i<max || c[i]>=10;i++)  
    28         {  
    29             c[i+1]=c[i+1]+c[i]/10;  
    30             c[i]%=10;  
    31         }  
    32         for(;c[i]==0;)  
    33         if(c[i]==0) i--;  
    34         else break;  
    35         printf("Case %d:\n%s + %s = ",js1,sa,sb);  
    36         for(;i>=0;i--)  
    37             printf("%d",c[i]);  
    38         if(js!=0) printf("\n\n");  
    39     }  
    40     return 0;  
    41 }
    42 tanhehe的代码
  • 相关阅读:
    HTML5 文件上传
    Vue-Router模式、钩子
    网络基础协议随笔
    Vue-Router基础使用
    vue中mixin的一点理解
    纯css3跑马灯demo
    Charles使用笔记
    提个醒。。。
    本机未装Oracle数据库时Navicat for Oracle 报错:Cannot create oci environment 原因分析及解决方案
    easyUI datagrid 清空
  • 原文地址:https://www.cnblogs.com/sdutmyj/p/2958226.html
Copyright © 2011-2022 走看看