题目

解决代码及点评



/************************************************************************/
/*
77. 大数相加。
写一个程序,实现对任意长的两个大整数(例如100位)进行相加。每个数可用以下形式存放,
例如整数179534679198可放于数组N中,其中:
N[1]=198, N[2]=679, N[3]=534, N[4]=179
把两个数组中的元素一一相加,并根据需要进行进位。
要求:
1) 输出一个大数时中间不允许有空格, 如上述N数组输出时不允许输出:
179 534 679 198
而应输出
179534679198
2) 输出的数据中间的零不能用空格代替。
假设N[1]=23, N[2]=5, N[3]=534, N[4]=179时应输出
179534005023
而不应输出
179534 5 23
思考: 一个数组元素存放一位数时应如何修改程序? */
/************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
int GETWS77(int num)
{
int count=0;
while(num)
{
count++;
num/=10;
}
return count;
}
void Printfarr(int * arr,int n)
{
int i=0;
while(arr[i]==0)
i++;
for(;i<n;i++)
{
if (GETWS77(arr[i])==3)
{
printf("%d",arr[i]);
}
else
{
for (int j=0;j<3-GETWS77(arr[i]);j++)
{ printf("%d",0);
}
printf("%d",arr[i]);
}
}
printf("\n");
}
int * ADD77(int *arr1,int * arr2,int n)
{ int JW=0;
for (int i=n-1;i>=0;i--)
{
if (arr1[i]+arr2[i]+JW>1000)
{
arr1[i]=(arr1[i]+arr2[i]+JW)%1000;
JW=(arr1[i]+arr2[i]+JW)/1000;
}
else
{
arr1[i]=(arr1[i]+arr2[i]+JW);
JW=0;
}
}
return arr1;
}
void main()
{
int arr[30]={0};
arr[25]=192;
arr[26]=123;
arr[27]=154;
arr[28]=176;
arr[29]=98;
Printfarr(arr,30);
int brr[30]={0};
brr[25]=192;
brr[26]=123;
brr[27]=154;
brr[28]=176;
brr[29]=998;
Printfarr(brr,30);
ADD77(arr,brr,30);
Printfarr(arr,30);
system("pause");
}

代码编译以及运行

由于资源上传太多,资源频道经常被锁定无法上传资源,同学们可以打开VS2013自己创建工程,步骤如下:

1)新建工程

2)选择工程

3)创建完工程如下图:

4)增加文件,右键点击项目

5)在弹出菜单里做以下选择

6)添加文件

7)拷贝代码与运行

程序运行结果

代码下载

http://download.csdn.net/detail/yincheng01/6681845

解压密码:c.itcast.cn






基于visual Studio2013解决C语言竞赛题之1077大数相加的更多相关文章

  1. 基于visual Studio2013解决C语言竞赛题之1075大数阶乘

        题目 解决代码及点评 /************************************************************************/ /* ...

  2. 基于visual Studio2013解决C语言竞赛题之0401阶乘

      题目 解决代码及点评 这个是一道经典的教科书题目,基本上每本基础的c/c++语言教科书都会有这个题目 用来演示循环语句 #include <stdio.h> #include ...

  3. 基于visual Studio2013解决C语言竞赛题之0205位数求和

     题目

  4. 基于visual Studio2013解决C语言竞赛题之0201温度转换

    题目 解决代码及点评 #include <stdio.h> #include <stdlib.h> void main() { float f; float c; float ...

  5. 基于visual Studio2013解决C语言竞赛题之0409 100以内素数

       题目 解决代码及点评 在已经知道素数是怎么判断的基础上,增加循环,可以判断出100以内的素数 /******************************************* ...

  6. 基于visual Studio2013解决C语言竞赛题之0408素数

      题目 解决代码及点评 判断一个数是不是素数的方法,一般是看n是不是能被n以内的某个整数(1除外)整除 为了提高效率,这个整数范围一般缩小到n的平方根 如果在这个范围内的整数都不能整除,那么 ...

  7. 基于visual Studio2013解决C语言竞赛题之0407最大值最小值

      题目 解决代码及点评 这道题考察循环和比较 /*********************************************************************** ...

  8. 基于visual Studio2013解决C语言竞赛题之0406数列求和

      题目 解决代码及点评 这个题目,还是考察for循环的使用 以及数列规律,该数列的特点是第n个分子 = 第n-1个分子 + 第n-2个分子,分母也是此规律 而另外一个规律是第n个分子和第n- ...

  9. 基于visual Studio2013解决C语言竞赛题之0405阶乘求和

      题目 解决代码及点评 这道题和上一道题类似,第n个累加项 = n-1累加项的n倍 由于有这个规律,我们可以用一个for循环实现 但是例子代码并没有这么做,大家可以回去修改下代码,使得代码更 ...

随机推荐

  1. Android Intent 解析之二

    服务端Intent运行过程: Sticky:这个类型的BroadCast表示某些Intent须要被保留,当新的应用起来后,须要关注这个消息,可是呢,又不须要启动这个应用来接收此消息,比方耳机插入等消息 ...

  2. CentOS 64位上编译 Hadoop 2.6.0

    Hadoop不提供64位编译好的版本号,仅仅能用源代码自行编译64位版本号. 学习一项技术从安装開始.学习hadoop要从编译開始. 1.操作系统编译环境 yum install cmake lzo- ...

  3. 【Eclipse】Failed to load the JNI shared library

    这是因为JDK配置错误所导致的现象. 一般说来,新购笔记本会预装64位的windows系统,而在网上下载软件时,32位会优先出现在页面中(现在来说是这个情况,但我认为未来64位会越来越普及). 如果你 ...

  4. Web Deploy发布网站一条龙解决方案

    Web Deploy工具对于ASP.NET开发人员来说一定不陌生,没有用过也经常见到,Web Deploy发布十分方便而且在发布时会帮助用户检验发布文件的正确性.接下来介绍一下基础使用. 第一步:安装 ...

  5. Centos6.5快速配置可用网卡

    原文链接: Centos6.5快速配置可用网卡 安装完成后,我们启动我们的系统,此时我们的系统,是没有连网的,IP设备,并没有被激活,如果我们使用ifconfig命令查看IP地址,就会发现,此刻的地址 ...

  6. linux BC命令行计算器

    1. 基本使用: $ bc <<< 5*4 20 $ bc <<< 5+4 9 $ bc <<< 5-4 1 或者 $ echo "5* ...

  7. c语言,链表

    #include "stdafx.h" #include <stdio.h> #include <stdlib.h> struct Node{ struct ...

  8. 高级UIKit-07(AVAudioPlayer)

    [day09-1-AVAudioPlayer]:播放音乐案例 实现多媒体需要准备以下两点: 需要引入一个框架AVFoundation.framework 然后引入#import <AVFound ...

  9. debian安装jdk8

    1.官方下载java想安装的JAVA版本: http://www.oracle.com/technetwork/java/javase/downloads/index.html 2.比如说,常安装的J ...

  10. centos7安装codeblocks教程

    author:lidabo 装了好多次系统,每次装的时候都有要在网上各种查,太麻烦了.所以决定记录一下,以后用到的时候会方便一些.当然,本文来源于网络,取百家之长,最重要的是本人已验证过,说明对本系统 ...