社区
C语言
帖子详情
两正整数相加!!!
kefeiyu
2004-12-04 09:13:53
两正整数相加,每个整数小于100位
我用数组实现
但从键盘输入的数 怎样跟数组对应???
c或c++都可以。
谢谢~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...全文
200
16
打赏
收藏
两正整数相加!!!
两正整数相加,每个整数小于100位 我用数组实现 但从键盘输入的数 怎样跟数组对应??? c或c++都可以。 谢谢~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kefeiyu
2004-12-06
打赏
举报
回复
谢谢啊!
知道了~~~~~~~
是今天的竞赛题啊,可惜我代码进去了,结果没出来(汗!)
我qq 154871094
有空加我 呵呵
idler
2004-12-05
打赏
举报
回复
加个注释吧。。。
以下是输入处理:
for (i = 0; i < 2; i++) {
gets(buf); /* 从键盘输入一行,默认输入正确 */
/*
ptr_n[i]里的每一个单元存放一个十进制位。
注意:ptr_n[i][0]为最低位!
*/
k = 0; /* 当前存放单元指针 */
for (j = strlen(buf) - 1; j >= 0; j--) {
ptr_n[i][k] = buf[j] - '0'; /* 把字符转化为对应的十进制数 */
k++;
}
for (;k < 100; k++) { ptr_n[i][k] = 0; } /* 剩下的高位全部置0 */
}
wfhlxl
2004-12-05
打赏
举报
回复
一位一位地加加以一位后加向一位加上进位
cao12m
2004-12-05
打赏
举报
回复
哈哈是的啊偶没看清题目 没带眼镜啊不好意思啊 哈哈误解拉 是100位不是100撒哈哈这个这个。。。。偶再想想
aladar
2004-12-05
打赏
举报
回复
楼上误解
cao12m
2004-12-05
打赏
举报
回复
不知道是我思想简单还是没看懂题目意思?
二个数相加不会?数组就数组把 从键盘不能向数组输入?你平时怎么读进去的现在照样啊
#define Z 100
main()
{int a[Z],b[Z],c[Z];
int i;
char ch;
for(i=0;i<Z;i++)
{
scanf("%d,%d",&a[i],&b[i]);
if(0<a[i]&&a[i]<100&&b[i]>0&&b[i]<100)c[i]=a[i]+b[i];
printf("%d\n",c[i]);
}
}
tcdddd
2004-12-04
打赏
举报
回复
是这样啊
idler
2004-12-04
打赏
举报
回复
楼上。。。竞赛题一般明确输入测试用例没有错误
tcdddd
2004-12-04
打赏
举报
回复
怎么都没有对输入数据的判断呢?如果输入的是数字以外的呢,不会出现异常吗?怎么没有异常处理呢?
idler
2004-12-04
打赏
举报
回复
从输入到计算全包了
idler
2004-12-04
打赏
举报
回复
竞赛题啊。。。
接分
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main( void )
{
char buf[1024];
char ptr_n[2][101];
int i, j, k;
for (i = 0; i < 2; i++) {
gets(buf);
k = 0;
for (j = strlen(buf) - 1; j >= 0; j--) {
ptr_n[i][k] = buf[j] - '0';
k++;
}
for (;k < 100; k++) { ptr_n[i][k] = 0; }
}
k = 0;
for (i = 0; i < 100; i++) {
buf[i] = ptr_n[0][i] + ptr_n[1][i] + k;
k = buf[i] / 10;
buf[i] %= 10;
}
j = 99;
while (buf[j] == 0 && j > 0) j--;
for (i = 0; i <= j / 2; i++) {
k = buf[i];
buf[i] = buf[j - i];
buf[j - i] = k;
}
for (i = 0; i <= j; i++) {
buf[i] += '0';
}
buf[j + 1] = '\0';
printf("%s\n", buf);
system("PAUSE");
return 0;
}
lfxzm
2004-12-04
打赏
举报
回复
a[100]="123.............48938" count<100
pzcai
2004-12-04
打赏
举报
回复
楼主那里的?这是今天学校程序竞赛的第一体嘛!
pcboyxhy
2004-12-04
打赏
举报
回复
ft,
CSDN的Tab是8的
pcboyxhy
2004-12-04
打赏
举报
回复
#include<iostream.h>
#include<memory.h>
int main( int argc, char * argv[] )
{
char num1[100], num2[100];
memset(num1, 0, 100); memset(num2, 0 ,100);
cin>>num1>>num2;
int len1=strlen(num1), len2=strlen(num2), g=0,temp;
for(int i=len1/2; i<len1; i++)
temp = num1[i], num1[i] = num1[len1-i-1], num1[len1-i-1] = temp;
for(int i=len2/2; i<len2; i++)
temp = num2[i], num2[i] = num2[len2-i-1], num2[len2-i-1] = temp;
temp = len1>len2?len1:len2;
for(int i=0; i<temp; i++)
{
if(num1[i]) num1[i] -= 48;
if(num2[i]) num2[i] -= 48;
num1[i] = num1[i]+num2[i]+g;
g = num1[i]/10;
num1[i] -= g*10;
}
if(g>0) cout<<g;
for(int i=temp-1; i>=0;i--)
cout<<(int)num1[i];
}
idler
2004-12-04
打赏
举报
回复
提示:1e9进制,作业题自己做。
两
个整数
相加
(Java)
题目:定义一个函数,在该函数中可以实现任意
两
个整数的加法。思路:由于没有限定
两
个数的大小范围,我们也要把它当做大数问题来处理。上一篇博客实现了在字符串表示的数字上加1的功能,我们可以参考这个思路实现
两
个数字的
相加
功能。另外需要主要的一个问题是如果输入的数字中有负数,我们应该怎么处理?首先需要分情况,
两
个整数
相加
(整数包括正数、0、负数)。故(1):
两
个正数
相加
;(2)一个正数一个负数
相加
;(3)
两
...
两
个超长
正整数
相加
思路:当
两
个整数已经超过了long类型长度的数据。一般的加减乘除运算已经不能用了,因为字符串没有长度限制,所以我们可以用String类型的变量来储存这
两
个超长的
正整数
,我们计算加法的时候,一般是从个位开始,所以我们可以先把字符串逆置,然后将字符串转换为char类型的数组,这样char[0]就是个位,char[1]是十位,char[2]是百位…然后将
两
个
正整数
的char数组按相同的下标
相加
,超过十的...
计算
两
个任意长的
正整数
相加
自己写的能够实现
两
个任意长的
正整数
相加
的小程序。
java实现---
两
个超长
正整数
相加
两
个超长
正整数
相加
题目描述: 请设计一个算法完成
两
个超长
正整数
的加法。借口说明: 输入参数: String addend:加数 String augend:被加数 返回值:加法结果 public String AddLongInteger(String addend,String augend){ /*在这里实现功能*/ re...
华为OJ——超长
正整数
相加
超长
正整数
相加
题目描述 请设计一个算法完成
两
个超长
正整数
的加法。 接口说明 /* 请设计一个算法完成
两
个超长
正整数
的加法。 输入参数: String addend:加数 String augend:被加数 返回值:加法结果 */ public String AddLongInteger(String addend, String augend) {
C语言
70,023
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章