您的位置:首页 > 其它

HDOJ,杭电1877,又一版A+B。。又是进制转化的题目。。

2013-09-18 22:44 435 查看
这道题。。我提交了N次,最后内牛满面的AC了。。。。

我只能说,,,粗心大意害死AC!!!!!

(此题的重点就是进制转换的核心代码,还有一个易错点就是输入的十进制数字为0 的时候。)

代码:

/***** HDOJ_1877_又一版A+B ********/

/******** written by C_Shit_Hu ************/

////////////////简单题--数字进制转化题目///////////////

/****************************************************************************/
/*
简单的进制转化题。。。。。

Problem Description
输入两个不超过整型定义的非负10进制整数A和B(<=231-1),输出A+B的m (1 < m <10)进制数。

Input
输入格式:测试输入包含若干测试用例。每个测试用例占一行,给出m和A,B的值。
当m为0时输入结束。

Output
输出格式:每个测试用例的输出占一行,输出A+B的m进制数。

*/
/****************************************************************************/

//
#include <stdio.h>
#include <string.h>

int main()
{
_int64 initNum_A, initNum_B,  sum, aftNum, yu=1 ;
int i, NUM[40], temp ;
while(scanf("%I64d%I64d%I64d", &aftNum, &initNum_A, &initNum_B) != EOF && aftNum != 0)
{
temp = 0 ;  sum = 1 ;
memset(NUM, 0, sizeof(NUM)) ;
sum = initNum_A + initNum_B ;
while(sum != 0)
{
yu = sum % aftNum ;
sum /= aftNum ;
NUM[temp] = yu ;
temp ++ ;
}   // 转换的核心代码
if (temp == 0)
{
printf("0\n") ;
} // 易错点
else
{
for (i = temp-1; i >= 0; i--)
{
printf("%d", NUM[i]) ;
}
printf("\n") ;
}
}
return 0 ;
}

/******************************************************/
/********************  心得体会  **********************/
/*
果然是水题。。。
还做的那么慢。。

水水更健康!!!
*/
/******************************************************/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: