求解惑?
查看原帖
求解惑?
654733
liuqishijian楼主2022/1/24 13:00
#include<stdio.h>
#include<string.h>
int main()
{
	char a[100];
	int i,count=0;
	scanf("%s",a);
	if(a[0]=='-'){
		for(int j=strlen(a)-1;j>=1;j--)
			if(a[j]=='0'){
				count++;
			}
		if(count==strlen(a)-1){
			printf("0");
			return 0;
		}
	}
	else{
		for(int j=strlen(a)-1;j>=0;j--)
			if(a[j]=='0'){
				count++;
			}
		if(count==strlen(a)){
			printf("0");
			return 0;
		}
	}
	i=strlen(a)-1;
		while(a[i]=='0'){
			i--;
		}
	if(a[0]=='-'){
		printf("-");
		for(;i>=1;i--){
			printf("%c",a[i]);
		}
	}
	else
		for(;i>=0;i--){
			printf("%c",a[i]);
		}
	return 0;
}

这个代码把两个特殊类型输出都等于0,如-000000我是让它输出0,000000我也是让它输出0,但是我觉得原样输出也没错,但是样例没有测试,我该到底输出哪个?

2022/1/24 13:00
加载中...