pat、c语言-PAT1022 D进制的A+B 一个测试点不通过

问题描述

PAT1022 D进制的A+B 一个测试点不通过

#include
void fun( int n, int d ) {
int r;
if( n ) {
fun( n / d, d );
r = n % d;
printf( "%d", r );
}
}
int main() {
int a, b, d;
scanf( "%d%d%d", &a, &b, &d );
int sum = a + b;
fun( sum, d );
return 0;
}

解决方案

解决方案二:

为什么呢为什么呢??

解决方案三:

PAT 1022. D进制的A+B
PAT1022D进制的A+B
PAT(B ) 1022. D进制的A+B

解决方案四:

http://blog.csdn.net/sunbaigui/article/details/8657103

时间: 2024-11-03 07:04:07

pat、c语言-PAT1022 D进制的A+B 一个测试点不通过的相关文章

c语言-C语言求教,进制转换代码

问题描述 C语言求教,进制转换代码 请大家帮我看看我的程序有什么错误,感激不尽! /* num:数字 i:进制数 k:总位数 */ #include"stdio.h" #include"math.h" int firsttext(int num,int i){ int k; for(k=1;;k++){ if(num<((int)pow((float)i,(float)k))) break; } --k; return k; } int printouteve

函数-C语言中关于进制转化问题

问题描述 C语言中关于进制转化问题 请问如何用htoi函数将十六进制组成的字符串转化成十进制数(前面可能包含0X或0x) 解决方案 C语言 进制的转化黑马程序员---C语言-进制问题c语言的进制问题 解决方案二: int htoi(const char *s) { if( !s )return 0; if( *s == '0' ) { s++; if( *s == 'x' || *s == 'X' )s++; } int n = 0; while( *s ) { n <<= 4; if( *s

c语言-实现b进制的加法,我是先把两个数转化为十进制,然后求和在转换为b进制,可是一直出现问题,调试

问题描述 实现b进制的加法,我是先把两个数转化为十进制,然后求和在转换为b进制,可是一直出现问题,调试 #include #include int main() { int a; char str1[40], str2[40]; while (scanf("%d%s%s", &a,str1,str2) != EOF) { int temp1 = 0, c1 = 1; int length1 = strlen(str1); printf("lenrht1=%dn&quo

C语言之任意进制的转换

我们都知道转换进制是一个让人比较头疼的事情,下面我的代码不是最好的,也就仅仅是一个思路而已,至少我认为使用栈来进行进制转换是比较合适的一种方法,好了,不多叙述了. #include<stdio.h> #include<stdlib.h> /* 函数trans将无符号整数n翻译成d(2<=d<=16)进制表示的字符串s */ #define M sizeof(unsigned int)*8 int trans(unsigned n, int d, char s[]) {

C 语言进制之间的转换_C 语言

二进制.八进制和十六进制向十进制转换都是非常容易的,就是"按权相加". 所谓"权",也即"位权".例如,十进制第1位的位权为100=1,第2位的位权为101=10,第3位的位权为102=100:而二进制第1位的位权为20=1,第2位的位权为21=2,第3位的位权为22=4.设数字所采用的进制为N(基数也是N),那么第 i 位的位权为 N(i-1). 不同进制转换为十进制举例: 二进制:1001 = 1×23 + 0×22+ 0×21 + 1×20

c语言-如何将数字字符串转为16进制字符串?

问题描述 如何将数字字符串转为16进制字符串? 请教一个示例:如何将数字字符串转为16进制字符串?字符串:char str[20]="1234567890123456";将中间的"789012"转换为16进制的"0C0A14":最后str=""1234560C0A143456"" 如果有描述不清的地方,请指出.多谢! 解决方案 你先用字符串截取到 比如strstr等,""789012&q

C语言OJ项目参考(1942)进制转换

1942: 进制转换 Description 输入一个十进制数N,将它转换成R进制数输出. Input 输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10). Outputt 为每个测试实例输出转换后的数,每个输出占一行.如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等). Sample Input 7 2 23 12 -4 3 Sample Outputt 111 1B -11 参考解答: #include

Mcad学习笔记之序列化(2进制和Soap序列化)

我最近学习remoting和web服务时,总是看到一个重要的字眼"序列化". 那什么是序列化呢? 以前我也模模糊糊. 为了搞清楚,请和我一起来序列化学习之旅吧. 让我们先看看序列化的定义,以下是微软的说明: 序列化可被定义为将对象的状态存储到存储媒介中的过程.在此过程中,对象的公共字段和私有字段以及类的名称(包括包含该类的程序集)都被转换为字节流,然后写入数据流.在以后反序列化该对象时,创建原始对象的精确复本 序列化一般用在2种地方: 1.将数据保持到存储中 例如:我知道在Asp.Ne

进制转换-java怎么把一个数组里面的16进制值转换成8进制,我想先把16进制转成2进制再转8进制

问题描述 java怎么把一个数组里面的16进制值转换成8进制,我想先把16进制转成2进制再转8进制 java怎么把一个数组里面的16进制值转换成8进制,我想先把16进制转成2进制再转8进制,但是老是运行出错.大神们能不能给个小例子解释一下,谢谢 解决方案 http://blog.csdn.net/vanezuo/article/details/6556768 解决方案二: 使用函数啊,你找一下,Java有相应的函数能做到 解决方案三: 如果你的程序出错,你贴出你的程序才知道. 也可以参考我给你的