zoukankan      html  css  js  c++  java
  • 3:大整数加法(待复习版)

    由于写得时间太久,断断续续,思维混乱,此代码仅限于蒙混过关,


    由此可以看出,至于字符类型和int类型之间的转换,博主掌握得不够扎实,有待夯实。


    教训:


    1.从此此次过程可以看出,程序不宜放太久不去看,肯定会遗忘的甚至遗忘了当初想法


    也不宜把整个时间拖得太长,要速战速决。


    2.另,可以考虑再前面加一个解题思路,防止忘记思路,同时适当添加注释。





    3:大整数加法


    总时间限制: 
    1000ms 
    内存限制: 
    65536kB
    描述

    求两个不超过200位的非负整数的和。

    输入
    有两行,每行是一个不超过200位的非负整数,可能有多余的前导0。
    输出
    一行,即相加后的结果。结果里不能有多余的前导0,即如果结果是342,那么就不能输出为0342。
    样例输入
    22222222222222222222
    33333333333333333333
    
    样例输出
    55555555555555555555

























    以下为程序源码:



    #include <stdio.h>
    #define N  202//5// 202 
    
    int main(void)
    {
    	char a[N];
    	char b[N];        
    	char sum[N];
    	int c;
    	int i;
    	int j;
    	int k;
    	char ch;
    	int tag = 0;
    	for(i=0; i<N; i++)
    	{
    		a[i] = '00';
    		b[i] = '00';
    		sum[i] = '0';
    	}
    
    	scanf("%s", a);
    	scanf("%s", b);
    	for(i=N-2, j=N-2, k=N-2; i>-1 || j>-1 ; i--, j--,k--)
    	{
    	    while(('00' == a[i]) && (i>-1))
    	    {	
    		i--;
        	    }
    	    while(('00' == b[j])&& (j>-1))
    	    {
    		j--;
    	    }
    	    if(i>-1&& j>-1)
    		 c = (a[i]-'0') + (b[j]-'0')+(sum[k]-'0');
    	    else if(j>-1&&i<0)
    		c = b[j]-'0'+(sum[k]-'0');
    	    else if(i>-1&&j<0)
    		c = a[i] - '0'+(sum[k]-'0');
    		
    	    if(c>=10)
    	    { 
    	     //	printf("%d
    ", c);
    		sum[k]= (c-10)+'0';
    	//	printf("%d
    ", sum[k]);
    		if(sum[k] == '00')
    		    sum[k] = '0';
    	        sum[k-1] ='1';
    	    }
    	    else
    	    {   
    		sum[k] = c+'0';//sum[k]+c;//(sum[k]-'0') + (c);
    //		if(sum[k]>=10)
    		{
    //		    sum[k] = sum[k]+sum[k]-10;
    //		    sum[k-1] = '1';
    		}
    
    	    }
    	}
    	sum[N-1] = '';
            for(i=0; i<=N-2; i++)
    	{
    	  if(sum[i]=='0'&&tag==0)
    	  {
    	      continue;
    	  }
    	  else if (sum[i]!='0')
    	  {
    	      tag = 1;
    	  }
    	  putchar(sum[i]);
    	}
    	putchar('
    ');
    	
    	return 0;
    }
    




    转载本Blog文章请注明出处,否则,本作者保留追究其法律责任的权利。 本人转载别人或者copy别人的博客内容的部分,会尽量附上原文出处,仅供学习交流之用,如有侵权,联系立删。
  • 相关阅读:
    Css几个兼容性问题
    一些常用的正则表达式
    超链接hover切换效果
    读取根目录src下的指定配置properties文件内容
    SQL Server查询表结构语句
    单独使用ibatis做事物控制。
    ibatis调用存储过程(无返回参数)
    oracle split函数
    Jquery调用Ajax实现联动使用json
    简单分页插件
  • 原文地址:https://www.cnblogs.com/drfxiaoliuzi/p/3864707.html
Copyright © 2011-2022 走看看