| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1672 人关注过本帖
标题:[求助]高精度加法
取消只看楼主 加入收藏
czylove
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-6-30
收藏
 问题点数:0 回复次数:2 
[求助]高精度加法

#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#define MAX 100

main()
{
char temp,n[MAX],m[MAX],result[MAX*2+1];
int lenn,lenm,i,now,x,high,low,place;

scanf("%s%s",n,m);
lenm=strlen(m);
lenn=strlen(n);
for (i=0;i<MAX*2+1;i++) result[i]='0';
/*将字符串倒置 */
for (i=0;i<lenn/2;i++){
temp=n[i];
n[i]=n[lenn-i-1];
n[lenn-i-1]=temp;
}
for (i=0;i<lenm/2;i++){
temp=m[i];
m[i]=m[lenm-i-1];
m[lenm-i-1]=temp;
}

for (i=0;i<(lenm>lenn?lenm:lenn);i++){
now=n[i]+m[i]-96;
place=i;
do{
high=(now+result[place]-48)/10;
low=(now+result[place]-48)%10;
result[place++]=(low+48);
now=high;}
while(now==1);

} result[place]='\0';
for (i=0;i<strlen(result)/2;i++){
temp=result[i];
result[i]=result[strlen(result)-i-1];
result[strlen(result)-i-1]=temp;
}
printf("%s\n\n",result);printf("%d",'.');

system("pause");
}




输入某 些数有错误

搜索更多相关主题的帖子: 加法 高精度 
2007-06-30 17:03
czylove
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-6-30
收藏
得分:0 
你的这个也不对啊
2007-07-06 18:19
czylove
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-6-30
收藏
得分:0 

#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#define MAX 100

main()
{
char temp,n[MAX],m[MAX],result[MAX];
int lenn,lenm,i,now,x,high,low,place;
scanf("%s%s",n,m);
lenm=strlen(m);
lenn=strlen(n);
for (i=0;i<MAX;i++) result[i]='0';
/*将字符串倒置 */
for (i=0;i<lenn/2;i++){
temp=n[i];
n[i]=n[lenn-i-1];
n[lenn-i-1]=temp;
}
for (i=0;i<lenm/2;i++){
temp=m[i];
m[i]=m[lenm-i-1];
m[lenm-i-1]=temp;
}
for (i=lenn;i<MAX;i++) n[i]='0';
for (i=lenm;i<MAX;i++) m[i]='0';
i=0;
for (i=0;i<((lenn>lenm)?lenn:lenm);i++){
now=n[i]+m[i]-96;
place=i;
do{
high=(now+result[place]-48)/10;
low=(now+result[place]-48)%10;
result[place++]=(low+48);
now=high;}
while(now>0);

}
result[place]='\0';
for (i=0;i<strlen(result)/2;i++){
temp=result[i];
result[i]=result[strlen(result)-i-1];
result[strlen(result)-i-1]=temp;
}
printf("%s\n\n",result);

system("pause");
}
正确

2007-07-09 23:03
快速回复:[求助]高精度加法
数据加载中...
 
   



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

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