1149 - C语言5.11

给定一个不多于5位的正整数,要求:

1、 求出它是几位数;

2、 分别输出每一位数字,且每一位数字之后输出一个空格;

3、 按逆序输出各位数字,且每一位数字之后输出一个空格。

题目输入

一个不多于5位的正整数。

题目输出

共有三行,分别对应题目描述中提到的三个要求。

请注意行尾输出换行。

输入/输出样例

题目输入

34568

题目输出

5
3 4 5 6 8 
8 6 5 4 3 

C语言解答

#include<stdio.h>
int main(){
int a,i=0,j,c[5];
scanf("%d",&a);
  while(a!=0){
    c[i++]=a%10;
    a=a/10;
  }
printf("%d\n",i);
for(j=i-1;j>0;j--)
  printf("%d ",c[j]);
printf("%d \n",c[j]);

for(j=0;j<i-1;j++)
  printf("%d ",c[j]);
printf("%d \n",c[j]);
  return 0;
}

C++解答

#include <stdio.h>
int main() {
	int v, i, digit;
	int d[10];
	scanf("%d", &v);
	digit = 0;
	while (v > 0) {
		digit++;
		d[digit] = v % 10;
		v /= 10;
	}
	printf("%d\n", digit);
	for (i = 1;i <= digit;i++)
		printf("%d ", d[digit + 1 - i]);
	printf("\n");
	for (i = 1;i <= digit;i++)
		printf("%d ", d[i]);
	printf("\n");
	return 0;
}

时间限制 1 秒
内存限制 32 MB
讨论 统计
上一题 下一题