2556 - 函数练习-2

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

数字反转:

编写一个函数reverse,其功能是将一个正整数反转。如123可以反转为321,3682可以反转为2863,1200可以反转为21。

reverse函数的原型可以参考如下:

int  reverse(int num);

其中num为要反转的数,函数的返回值为反转后的数。

从键盘上输入一个正整数n,代表要反转的数的个数,接着输入n个正整数,将这些正整数依次反转并输出。输出的数据之间用空格分隔。


题目输入

8 24367 19791 6759 18283 13165 18027 14290 5675

题目输出

76342 19791 9576 38281 56131 72081 9241 5765

输入/输出样例

输入格式

6 746 1422 18 4300 8 4076

输出格式

647 2241 81 34 8 6704

C语言解答

#include<stdio.h>
int  reverse(int num)
{
	int i,t,f;
	int b[100];
    int a,h;
	int sum=0;
    for(i=0;num!=0;i++)
	{
		b[i]=num%10;
		num=num/10;
	}
	t=i;
	f=t;
	for(i=0;i<t;i++)
	{    t=f;
	    h=t-i;
		for(a=1;h>1;h--)
		{
			a=a*10;
		}
    sum= sum+b[i]* a;
	}
	return sum;	
}
int main()
{
	int n,i;
	int a,b;
	scanf("%d",&n);
    for(i=0;i<n;i++)
	{
		scanf("%d",&b);
    	a=reverse(b);
	    printf("%d ",a);
	}
    return 0;
}

C++解答

#include<stdio.h>
#include<math.h>
int main()
{
	int reverse(int a);
	int a[100], n, i;
	scanf("%d", &n);
	for(i=0; i<n; i++)
	{
		scanf("%d", &a[i]);

	}
	for(i=0; i<n; i++)
	{
		a[i] = reverse(a[i]);

	}
	for(i=0; i<n; i++)
	{
		printf("%d ", a[i]);

	}


}



int reverse(int a)
{
	int b, i, f=10, c=0, d=0;


	for(i=0; i<9; i++)
	{
		if(a==0)break;
		b = a%10;
		c = b;
		d += c;
		if(a>9)
		{
			d*=f;
		}
		a /= 10;
		
		
	}


	
	return d;

}








Java解答

import java.util.Scanner;
class Main {
	public static void main(String args[]){
		Scanner reader=new Scanner(System.in);
		int n=reader.nextInt();
		Main test=new Main();
		int[] a=new int[n];
		for(int i=0;i<n;i++){
			a[i]=reader.nextInt();
		}
		for(int i=0;i<n-1;i++){
			test.reverse(a[i]);
		}
		test.reverse1(a[n-1]);
	}
	public void reverse(int num){
		 String s =String.valueOf(num);
		  StringBuilder builder = new StringBuilder(s);
		  s = builder.reverse().toString();
                  int a=Integer.parseInt(s);
		  System.out.print(a+" ");
	}
	public void reverse1(int num){
		 String s =String.valueOf(num);
		  StringBuilder builder = new StringBuilder(s);
		  s = builder.reverse().toString();
                  int a=Integer.parseInt(s);
		  System.out.print(a);
	}
}