| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 991 人关注过本帖
标题:大哥大姐,帮我看一下吧,谢谢!
取消只看楼主 加入收藏
逸浪1
Rank: 2
来 自:重庆
等 级:论坛游民
帖 子:19
专家分:24
注 册:2013-11-2
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
大哥大姐,帮我看一下吧,谢谢!
实验题目:字符串应用(大整数加法)
 字符串应用实验内容:输入两个大整数(大于100位),求它们之和。

实验类型:综合性

实验目的:

  (1)掌握字符串的表示方法;

(2)掌握字符串常用处理方法;

(3)掌握字符串标准库函数的使用方法;

实验指导(算法框架):

主函数框架:
1. 定义合适的字符数组n1,n2,result
 2. 输入两个表示大整数的字符串n1,n2
 3. 获取n1,n2的长度len1,len2
 4. If( len1 <= len2 )  //加数长度大于被加数长度
           被加数向右移空出高位补’0’(函数RightMoving实现)
    Else
            加数向右移空出高位补’0’ (函数RightMoving实现)
5. 求n1,n2的和放入result(函数LargerIntegerAdd实现)
6. 输出字符串result的值(即求和的结果)

函数void RightMoving(char *s,int n)框架
1. 将s中的所有字符向右移动n个字符位置(空出前n个位置)
2. 将s的前n个位置填充字符’0’

函数int LargerIntegerAdd(char *result,char *n1,char *n2)框架
1. 求出result数据的最后位置(比n1或n2大1)
2. 置result的结尾符号’\0’
3. 从result的最低位开始直到次高位为止
         计算当前位置的数字
         计算当前位置向高位的进位值
4. 置result的最高位数字
5. 判断最高位数字是’0’还是’1’并将判断结果返回(用于确定输出时是否输出表示最高位数字的字符)

#include<stdio.h>
#include<string.h>
void RightMoving(int len2,int len1,int n,char*n1);
void main()
{
    char n1[500],n2[500];
    int len1,len2,x,y;
    printf("输入两个大整数\n");
    gets(n1);
    gets(n2);
    len1=strlen(n1);
    len2=strlen(n2);
    if(len1<=len2)
    {
        x=len2-len1;
        RightMoving(len2,len1,x,n1);
        puts(n1);
    }
    else
    {
        y=len1-len2;
        RightMoving(len1,len2,y,n2);
        puts(n2);
    }
    int w,q,nu1,nu2,sum,b,a;
    char result[800];
    w=strlen(n1);
    q=w;
    while(w>=1)
    {
        nu1=n1[w-1]-'0';
        nu2=n2[w-1]-'0';
         sum=nu1+nu2+b;
        if(sum<10)
        {
            result[w]=sum+'0';
            b=0;
        }
        else
        {
            a=sum%10;
            result[w]=a+'0';
            b=sum/10;
        }
        w--;
    }
    result[w+1]='\0';

    puts(result);
}
void RightMoving(int len2, int len1, int n,char*n1)
{
    n=len2-len1;
    while(len1>=1)
    {
        n1[len2-1]=n1[len1-1];
        len2--;
        len1--;
    }
    while(n>=0)
    {
        n1[n]='0';
        n--;
    }
}
搜索更多相关主题的帖子: 实验目的 result 字符串 大哥 
2013-11-22 21:03
逸浪1
Rank: 2
来 自:重庆
等 级:论坛游民
帖 子:19
专家分:24
注 册:2013-11-2
收藏
得分:0 
大哥,还是有错误啊!
图片附件: 游客没有浏览图片的权限,请 登录注册
2013-11-23 23:19
逸浪1
Rank: 2
来 自:重庆
等 级:论坛游民
帖 子:19
专家分:24
注 册:2013-11-2
收藏
得分:0 
谢谢大家啊!
2013-11-27 21:22
逸浪1
Rank: 2
来 自:重庆
等 级:论坛游民
帖 子:19
专家分:24
注 册:2013-11-2
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

大哥,这里不懂
2013-11-27 22:50
逸浪1
Rank: 2
来 自:重庆
等 级:论坛游民
帖 子:19
专家分:24
注 册:2013-11-2
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

还有这里为什么不可以该为(len-1;len>0;len--)
2013-11-27 23:05
逸浪1
Rank: 2
来 自:重庆
等 级:论坛游民
帖 子:19
专家分:24
注 册:2013-11-2
收藏
得分:0 
谢谢啊,太感谢了!
2013-11-28 12:48
逸浪1
Rank: 2
来 自:重庆
等 级:论坛游民
帖 子:19
专家分:24
注 册:2013-11-2
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

大哥,这个怎么用的
2013-11-28 13:23
逸浪1
Rank: 2
来 自:重庆
等 级:论坛游民
帖 子:19
专家分:24
注 册:2013-11-2
收藏
得分:0 
谢谢
2013-11-28 19:30
快速回复:大哥大姐,帮我看一下吧,谢谢!
数据加载中...
 
   



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

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