各位大佬帮忙看看,哪里错了。只有30分
查看原帖
各位大佬帮忙看看,哪里错了。只有30分
434244
abcd231楼主2021/3/18 16:45
#include<stdio.h>
int main()
{
	char qian[20];
	char hou[20];
	int zt=0;//?? 
	int i=19,j=19,d=0;
	char ch=' ';
	while((ch=getchar())&&i>=0&&j>=0)
	{
	    if(ch=='\r'||ch=='\n')
	    break;
		if(ch=='%')
		{
			zt=4;
			break;
		}
		if(ch=='.')
		{
			zt=1;
			continue;
		}
		if(ch=='/')
		{
			zt=2;
			continue;
		}
		if(zt==0||zt==4)
		{
			qian[i]=ch;
			i--;
		}
		if(zt==1||zt==2)
		{
			hou[j]=ch;
			j--;
		}
		if(zt==1&&!d&&ch!='0')
		d=j;

	}
	int is=0;
	//printf("%d",zt);
	if(zt==4||zt==0)
	{
		if(i==18)
		printf("%c",qian[19]);
		for(i+=1;i<20;i++)
		{
			if(qian[i]!='0')
			is=1;
			if(is)
			printf("%c",qian[i]);
		}
		if(zt==4)
		printf("%c",'%');
	}
	if(zt==2||zt==1)
	{
		if(i==18)
		printf("%c",qian[19]);
		for(i+=1;i<20;i++)
		{
			if(qian[i]!='0')
			is=1;
			if(is)
			printf("%c",qian[i]);
		}
		is=0;
		if(zt==1)
		printf(".");
		else
		printf("/");
		for(j+=1;j<20;j++)
		{
			if(zt==2)
			{
			if(hou[j]!='0')
			is=1;
			if(is)
			printf("%c",hou[j]);
			}
			else
			{
				if(d==0)
				{
					printf("0");
					break;
				}
				else if(j==(d+2))
				break;
				printf("%c",hou[j]);
			}
		}
	}
	return 0;
 } 

2021/3/18 16:45
加载中...