fork download
  1. #include<iostream>
  2. #include<string>
  3. using namespace std;
  4. int notation(string str1,string str2,int N)
  5. {
  6. int e=0;//定义e作为返回结果
  7. int pos =0;//用来记录下标无用的0最后出现的位置
  8. //除去前面无用的0
  9. for(int i=0;i<(int(str1.length())-1);i++)//长度减一是为了防止出现全是0的情况
  10. {
  11. if(str1[i]=='0'&&str1[i+1]!='.')
  12. pos++;
  13. }
  14. str1.erase(str1.begin(),str1.begin()+pos);
  15.  
  16. int n=0;//记录已被记录的数的个数
  17. int i=0;//用来记录下标所到位置
  18. //如果除去无用0后开头不是0时,就开始记录前面N个数,让e等于小数点前数字的个数
  19. if(str1[0]!=0)
  20. {
  21. while(i<int(str1.length())&&n<N)
  22. {
  23. if(str1[i]!='.')
  24. str2[n++]=str1[i];
  25. i++;
  26. }
  27. i=0;
  28. while(str1[i]!='.'&&i<int(str1.length()))
  29. e++;
  30. }
  31. //如果除去无用0后开头为0
  32. else
  33. {
  34. //记录所前面N个不为0的数
  35. while(i<int(str1.length())&&n<N)
  36. {
  37. if(str1[i]!='0'&&str1[i]!='.')
  38. str2[n++]=str1[i];
  39. }
  40. //如果记录后长度还是为0,就让计数为0,e为0
  41. if(n==0)
  42. {
  43. for(n=0;n<N;n++)
  44. str2[n]='0';
  45. }
  46. //否则让e为小数点后0的个数
  47. else
  48. {
  49. int j=0;
  50. while(str1[j]==0)
  51. j++;
  52. e=-(j-2);
  53. }
  54. }
  55. return e;
  56. }
  57. //输出处理
  58. void show(string str,int N,int e)
  59. {
  60. if(int(str.length())==N)
  61. {
  62. cout<<"0."<<str<<"*10^"<<e<<endl;
  63. }
  64. else
  65. {
  66. cout<<"0."<<str;
  67. for(int i=0;i<(N-int(str.length()));i++)
  68. cout<<"0";
  69. cout<<"*10^"<<e<<endl;
  70. }
  71. }
  72. int main()
  73. {
  74. int N;
  75. string str1,str2;
  76. cin>>N>>str1>>str2;
  77. string str3,str4;
  78. //生产科学计数,以及e
  79. int e1=notation(str1,str3,N);
  80. int e2=notation(str2,str4,N);
  81. //比较大小并进行输出
  82. if(e1!=e2||str3!=str4)
  83. {
  84. cout<<"no";
  85. show(str3,N,e1);
  86. show(str4,N,e2);
  87. }
  88. else
  89. {
  90. cout<<"no";
  91. show(str4,N,e2);
  92. }
  93. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
3 12151.121 152454 
compilation info
Main.java:1: error: illegal character: '#'
#include<iostream>
^
Main.java:1: error: class, interface, or enum expected
#include<iostream>
        ^
Main.java:2: error: illegal character: '#'
#include<string>
^
Main.java:4: error: class, interface, or enum expected
int notation(string str1,string str2,int N)
^
Main.java:7: error: class, interface, or enum expected
	int pos =0;//?????????0???????
	^
Main.java:9: error: class, interface, or enum expected
	for(int i=0;i<(int(str1.length())-1);i++)//?????????????0???
	^
Main.java:9: error: class, interface, or enum expected
	for(int i=0;i<(int(str1.length())-1);i++)//?????????????0???
	            ^
Main.java:9: error: class, interface, or enum expected
	for(int i=0;i<(int(str1.length())-1);i++)//?????????????0???
	                                     ^
Main.java:13: error: class, interface, or enum expected
	}
	^
Main.java:16: error: class, interface, or enum expected
	int n=0;//???????????
	^
Main.java:17: error: class, interface, or enum expected
	int i=0;//??????????
	^
Main.java:19: error: class, interface, or enum expected
	if(str1[0]!=0)
	^
Main.java:25: error: class, interface, or enum expected
			i++;
			^
Main.java:26: error: class, interface, or enum expected
		}
		^
Main.java:28: error: class, interface, or enum expected
		while(str1[i]!='.'&&i<int(str1.length()))
		^
Main.java:30: error: class, interface, or enum expected
	}
	^
Main.java:39: error: class, interface, or enum expected
		}
		^
Main.java:43: error: class, interface, or enum expected
			for(n=0;n<N;n++)
			        ^
Main.java:43: error: class, interface, or enum expected
			for(n=0;n<N;n++)
			            ^
Main.java:45: error: class, interface, or enum expected
		}
		^
Main.java:50: error: class, interface, or enum expected
			while(str1[j]==0)
			^
Main.java:52: error: class, interface, or enum expected
			e=-(j-2);
			^
Main.java:53: error: class, interface, or enum expected
		}
		^
Main.java:56: error: class, interface, or enum expected
}	
^
Main.java:63: error: class, interface, or enum expected
	}
	^
Main.java:67: error: class, interface, or enum expected
		for(int i=0;i<(N-int(str.length()));i++)
		^
Main.java:67: error: class, interface, or enum expected
		for(int i=0;i<(N-int(str.length()));i++)
		            ^
Main.java:67: error: class, interface, or enum expected
		for(int i=0;i<(N-int(str.length()));i++)
		                                    ^
Main.java:69: error: class, interface, or enum expected
		cout<<"*10^"<<e<<endl;
		^
Main.java:70: error: class, interface, or enum expected
	}
	^
Main.java:75: error: class, interface, or enum expected
	string str1,str2;
	^
Main.java:76: error: class, interface, or enum expected
	cin>>N>>str1>>str2;
	^
Main.java:77: error: class, interface, or enum expected
	string str3,str4;
	^
Main.java:79: error: class, interface, or enum expected
	int e1=notation(str1,str3,N);
	^
Main.java:80: error: class, interface, or enum expected
	int e2=notation(str2,str4,N);
	^
Main.java:82: error: class, interface, or enum expected
	if(e1!=e2||str3!=str4)
	^
Main.java:85: error: class, interface, or enum expected
		show(str3,N,e1);
		^
Main.java:86: error: class, interface, or enum expected
		show(str4,N,e2);
		^
Main.java:87: error: class, interface, or enum expected
	}
	^
Main.java:91: error: class, interface, or enum expected
		show(str4,N,e2);
		^
Main.java:92: error: class, interface, or enum expected
	}
	^
41 errors
stdout
Standard output is empty