小数,分数,不对!!
查看原帖
小数,分数,不对!!
528867
Paris_Commune楼主2022/1/12 20:23
#include <cstdio>
#include <iostream>
using namespace std;
int main(){
    char a[25];
	int cnt=0,cnt3=0;
    scanf("%s",a);
	for(int i=0;a[i]!='\0';i++){
		cnt3++;
	}
	//cout<<cnt3<<"\n";
	if(cnt3==1){
		cout<<a[0];
		return 0;
	}
	if(a[cnt3-1]=='%'){
		int cnt2=0;
		for(int i=cnt3-2;i>=0;i--){
			if(a[i]!='0'||cnt2==1){
				 	cout<<a[i];
				 	cnt2=1;
			}
		}
		cout<<"%";
		return 0;
	}
	//cout<<a[cnt3-1]<<'\n';
	while(a[cnt]!='\0'){
		if(a[cnt]=='/'){
			int cnt2=0;
			for(int i=cnt-1;i>=0;i--){
				 if(a[i]!='0'||cnt2==1){
				 	cout<<a[i];
				 	cnt2=1;
				 }
			}
			cout<<"/";
			cnt2=0;
			for(int i=cnt3-1;i>cnt;i--){
				if(a[i]!=0||cnt2==1){
				 	cout<<a[i];
				 	cnt2=1;
				 }
			}
			return 0;
		}
		else if(a[cnt]=='.'){
				int cnt2=0;
				for(int i=cnt-1;i>=0;i--){
				 	if(a[i]!='0'||cnt2==1){
				 		cout<<a[i];
				 		cnt2=1;
				 	}
				}
				cout<<".";
				cnt2=0;
				for(int i=cnt3-1;i>cnt;i--){
					if(a[i]!='0'||cnt2==1){
				 			cout<<a[i];
						}
				}
					return 0;
				}
				else{
				int cnt2=0;
				for(int i=cnt3-1;i>=0;i--){
					if(a[i]!='0'||cnt2==1){
						cout<<a[i];
						cnt2=1;
					}
				}
				return 0;
				}
		cnt++;
	}
	return 0;
}
2022/1/12 20:23
加载中...