求两个32位数的和

来源:百度知道 编辑:UC知道 时间:2024/06/28 21:35:42
如何用C语言求两个32位数的和,求高手指点,谢谢!!

楼主, 为保证程序风格简约,也为了便于你阅读代码的时候直接进入核心部分,我没有加上那些提示输入的东西。也没有容错处理(如果你输入的字符串里面含有非数字,那我的程序的结果就是不可预料的)楼主要注意,写程序的时候不要一开始就陷入到容错处理中,那会给你后面你编写核心代码带来很多麻烦,最好的方法就是先写好核心代码,然后在尽量不变更核心代码的基础上再慢慢地添加一些容错处理机制。运行的时候你就直接输入就可以了,最后显示的就是结果,需要提示语句或者报错之类的,楼主自己加。这里提供两个版本。第一个版本如果输入超出了32位,那后面超出了的的低位上的数字被砍掉。第二个版本,如果输入超出了32位,超出的高位上的数字被砍掉。建议你用第二个版本,因为计算机内部采取的是这种方式。如果有不明白的地方尽管发消息问我。

/* Version 1. */

#include <stdio.h>

#define N 32

void
clear(void)
{
while ( getchar() != '\n' );
}

int
main(void)
{
char a[N], b[N], s[N+1] = { 0 };
int i;

for ( i = 0; i < N; i++ )
scanf( "%c", a+i );
clear();
for ( i = 0; i < N; i++ )
scanf( "%c", b+i );
clear();
for ( i = N; i > 0; i-- ) {
if ( (s[i]=a[i-1]+b[i-1]+s[0]-'0') > '9' ) {
s[0] = 1;
s[i] -= 10;
}
else
s[0] = 0;
}

求两个32位数的和 把一个两位质数写在一个不同的两位质数后得一个四位数,这个四位数能被这两个质数和的一半整除求所有四位数 输入一个不多于5位数的正整数,求它的位数和逆序数。 一个二位数,将它的个位和十位对调,得到另外一个二位数。这两个二位数的和为44,差为19。试问这% 0-9这十个数中,求两个三位数相加等于一个四位数,要求两个三位数与四位数当中的各个数字各不相同 编写实现对两个位数不超过30的十进制求加,减的程序。 有4个不同的数字,他们组成最大的四位数和最小的四位数,这两个四位数之和是11359,那么最小的四位数是多少 有四个互不相同的数字,用它们组成最大四位数,最小四位数,这两个四位数的和是11478,求其中最大的四位数. 两个四位数的倒数的和是1/2007 求两32位数之和