比较java与c语言中数字转换成字符的不同

java

java中将数字转换成字符非常方便,只要用一个“+”然后在跟一个空格行了。比如,你输入一个122 ,就会变成“122 ”。

import java.util.Scanner;
public class God {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num;
num=scanner.nextInt();
System.out.println(num+" ");
}
}

测试用例如下图:

比较java与c语言中数字转换成字符的不同

c语言

c语言中,其实也很简单,如果是单个数字,加48就行了,直接上代码,相信大家都看得懂,不再赘述。

#include"stdio.h"
int main()
{
int num;
while(scanf("%d",&num)&&num!=-1)
putchar(num+48),putchar(10);
return 0;
}

测试用例如下图:

比较java与c语言中数字转换成字符的不同

如果是几位数,就要稍微麻烦一点,我考虑的是用递归,逐步将字符输出;其实也没什么难度,关键就是一句putchar(n%10+'0');——每次取余将第一个数字转换成字符输出。不多说,上代码

#include"stdio.h"
#include"string.h"
//#include"time.h"
#include"math.h"
void convert(int n)
{
int i;
if((i=n/10)!=0)
convert(i);
putchar(n%10+'0');
putchar(32);
}
int main()
{
int num;
printf("please input an integer:\t");
scanf("%d",&num);
printf("output:\t");
if(num<0)
printf("- "),num=-num;
convert(num);
putchar(10);
return 0;
}

测试用例如下:

比较java与c语言中数字转换成字符的不同

比较java与c语言中数字转换成字符的不同

小结

其实,不管是Java还是c语言,数字转成字符,字符转成数字都无很大的差别,只要掌握其中一种,然后举一反三,就可以基本掌握他们的用法。

上一篇:numtoyminterval函数——数字转换函数


下一篇:Maven概念模型