| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 269 人关注过本帖
标题:请帮忙解决一下,提高一下...
只看楼主 加入收藏
阳光33
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-11-24
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
请帮忙解决一下,提高一下...
这是一个可以进行多位数字相加的程序,我不是很懂,请问有没有人可以帮忙解释一下啊?
谢谢啦~
#include "stdio.h"
int main(void) {
char a[1000]={0},b[1000]={0},sum[1001]={0};
int i=0,lena,lenb,f=1000;
printf ("输入两个数字,用空格分隔:\n");
scanf("%s%s",a,b);
while(a[i]!=0) { a[i]-='0'; i++; }
lena=i; i=0;
while(b[i]!=0) { b[i]-='0'; i++; }
lenb=i; i=1;
while(lena!=0 || lenb!=0 || i) {
if(lena==0 && lenb==0) i=0;
sum[f]=a[lena]+b[lenb]; f--;
if(lena==0) a[lena]=0; else lena--;
if(lenb==0) b[lenb]=0; else lenb--;
}
for(f=1000;f>-1;f--) {
sum[f-1]+=sum[f]/10;
sum[f]=sum[f]%10;
} f=0;
for(i=0;i<1000;i++) {
if(f==0 && sum[i]!=0) f=1;
if(f) printf("%d",sum[i]);
}
getchar(); /*观看结果*/
return 0;
}
搜索更多相关主题的帖子: include 
2010-11-24 15:40
guoxiaowei
Rank: 2
等 级:论坛游民
帖 子:15
专家分:20
注 册:2010-11-2
收藏
得分:20 
不会吧!一个加法用了这么多的程序!
2010-12-01 21:43
快速回复:请帮忙解决一下,提高一下...
数据加载中...
 
   



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

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