| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2260 人关注过本帖, 1 人收藏
标题:高精度加法(使用指针)
取消只看楼主 加入收藏
ClearningC
Rank: 2
等 级:论坛游民
帖 子:98
专家分:43
注 册:2016-10-26
结帖率:89.47%
收藏(1)
已结贴  问题点数:20 回复次数:1 
高精度加法(使用指针)
实现函数:
short * plus(short *, short *)
该函数接受两个short型数组作为参数,表示两个高精度非负整数,并返回他们的和。
两个short型数组均一节表示一位,下标为0的是最高位,如a[0] = 1, a[1] = 0,则该数组表示整数10。
返回的数组应当使用同样的格式
Input
只有一组输入
Sample Input
3
1 2 3
2
1 2
Sample Output
123
12
135


一道题目,师兄说比较难(反正我是不会的
2016-12-05 22:50
ClearningC
Rank: 2
等 级:论坛游民
帖 子:98
专家分:43
注 册:2016-10-26
收藏
得分:0 
下面是main函数
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
#define MAXl (100+1)
 
int main() {
    short s1[MAXl], s2[MAXl];
    int l1, l2, i;
    scanf("%d", &l1);
    for (i = 0; i < l1; ++i)
        scanf("%hd", s1+i);
    scanf("%d", &l2);
    for (i = 0; i < l2; ++i)
        scanf("%hd", s2+i);
    s1[l1] = s2[l2] = -1;
    short *plus(short *, short *);
    short *ans = plus(s1, s2);
    for (i = 0; s1[i] >= 0; ++i)
        printf("%hd", s1[i]);
    printf("\n");
    for (i = 0; s2[i] >= 0; ++i)
        printf("%hd", s2[i]);
    printf("\n");
    for (i = 0; ans[i] >= 0; ++i)
        printf("%hd", ans[i]);
    printf("\n");
    free(ans);
    return 0;
}
求 short * plus(short *s1, short *s2)这个函数
2016-12-05 22:51
快速回复:高精度加法(使用指针)
数据加载中...
 
   



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

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