请问为啥我将其改为long int型还是有三个测试点没通过,到底哪里出错了呀
查看原帖
请问为啥我将其改为long int型还是有三个测试点没通过,到底哪里出错了呀
1629378
ahhhhh173楼主2025/1/15 12:26
#include<stdio.h>
#define N 1000000000
int main() {
	long int a[N];
	long int n, b = 0;
	scanf("%ld", &n);
	if (n == 0)
		printf("0");
	else if (n > 0) {
		while (n) {
			a[b++] = n % 10;
			n /= 10;
		}
		for (int i = 0; i < b; i++)
			if (a[i] != 0) {
				printf("%ld", a[i]);
			}
	} else {
		int c = -n;
		while (c) {
			a[b++] = c % 10;
			c /= 10;
		}
		printf("-");
		for (int i = 0; i < b; i++)
			if (a[i] != 0) {
				printf("%ld", a[i]);
			}
	}
	return 0;
}
2025/1/15 12:26
加载中...