| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 605 人关注过本帖
标题:数组处理
只看楼主 加入收藏
lhp3774848
Rank: 2
来 自:福建省
等 级:论坛游民
帖 子:46
专家分:77
注 册:2011-5-3
收藏
得分:0 
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
main()
{
      int i,j,z,k,s,n[100],m[100],t[100];
      char a[100],b[100];
      printf("input a=");
      gets(a);
      printf("input b=");
      gets(b);
      for(i=0;i<=strlen(a)-1;i++)
      {
       if(a[i]=='0')
       n[i]=0;
       else if(a[i]=='1')
       n[i]=1;
       else if(a[i]=='2')
       n[i]=2;
       else if(a[i]=='3')
       n[i]=3;
       else if(a[i]=='4')
       n[i]=4;
       else if(a[i]=='5')
       n[i]=5;
       else if(a[i]=='6')
       n[i]=6;
       else if(a[i]=='7')
       n[i]=7;
       else if(a[i]=='8')
       n[i]=8;
       else n[i]=9;
      }
      for(i=0;i<=strlen(b)-1;i++)
      {
       if(b[i]=='0')
       m[i]=0;
       else if(b[i]=='1')
       m[i]=1;
       else if(b[i]=='2')
       m[i]=2;
       else if(b[i]=='3')
       m[i]=3;
       else if(b[i]=='4')
       m[i]=4;
       else if(b[i]=='5')
       m[i]=5;
       else if(b[i]=='6')
       m[i]=6;
       else if(b[i]=='7')
       m[i]=7;
       else if(b[i]=='8')
       m[i]=8;
       else m[i]=9;
      }
      for(i=0;i<=strlen(a)-1;i++)
       t[i+1]=n[i];
      if(strlen(a)>strlen(b))
      {
      for(i=strlen(a)-1,j=strlen(b)-1;j>=0;i--,j--)
       {
           if((n[i]+m[j])<10)
           n[i]=n[i]+m[j];
           else
           {
           k=n[i]+m[j];
           n[i]=(n[i]+m[j])%10;
           n[i-1]=n[i-1]+k/10;
           }
        }
        if(n[strlen(a)-strlen(b)-1]>=10)
        {
          s=n[strlen(a)-strlen(b)-1];
          n[strlen(a)-strlen(b)-1]=n[strlen(a)-strlen(b)-1]%10;
          n[strlen(a)-strlen(b)-2]=n[strlen(a)-strlen(b)-2]+s/10;
        }
         printf("a+b=");
         for(i=0;i<=strlen(a)-1;i++)
         printf("%d",n[i]);
         printf("\n");
        }
      else if(strlen(a)<strlen(b))
      {
      for(i=strlen(a)-1,j=strlen(b)-1;i>=0;i--,j--)
       {
           if((n[i]+m[j])<10)
           m[j]=n[i]+m[j];
           else
           {
           k=n[i]+m[j];
           m[j]=(n[i]+m[j])%10;
           m[j-1]=m[j-1]+k/10;
           }
        }
        if(m[strlen(b)-strlen(a)-1]>=10)
        {
          s=m[strlen(b)-strlen(a)-1];
          m[strlen(b)-strlen(a)-1]=m[strlen(b)-strlen(a)-1]%10;
          m[strlen(a)-strlen(b)-2]=m[strlen(a)-strlen(b)-2]+s/10;
        }
         printf("a+b=");
         for(i=0;i<=strlen(b)-1;i++)
         printf("%d",m[i]);
         printf("\n");
        }
       else
       {
        for(j=strlen(b)-1,z=strlen(a);j>=0;j--,z--)
         {
            if((t[z]+m[j])<10)
            t[z]=t[z]+m[j];
            else
            {
            k=t[z]+m[j];
            t[z]=(t[z]+m[j])%10;
            t[z-1]=t[z-1]+k/10;
            }
         }
             printf("a+b=");
             if(t[0]==1)
             {
             for(i=0;i<=strlen(a);i++)
             printf("%d",t[i]);
             }
             else
             {
              for(i=1;i<=strlen(a);i++)
              printf("%d",t[i]);
             }
             printf("\n");
        }
      system("pause");
}
            现在这个可以了,是用数组处理的,楼主可以参考下
2011-05-21 13:48
周1992
Rank: 2
等 级:论坛游民
帖 子:70
专家分:60
注 册:2011-3-18
收藏
得分:0 
回复 11楼 lhp3774848
有点晕
2011-05-22 22:38
快速回复:数组处理
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028124 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved