比较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+" ");
    }
}

测试用例如下图:

c语言

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

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

测试用例如下图:

如果是几位数,就要稍微麻烦一点,我考虑的是用递归,逐步将字符输出;其实也没什么难度,关键就是一句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语言,数字转成字符,字符转成数字都无很大的差别,只要掌握其中一种,然后举一反三,就可以基本掌握他们的用法。

posted @ 2016-03-29 20:45  20145211  Views(270)  Comments(0Edit  收藏  举报