1. 程式人生 > >1073 Scientific Notation (20 分)

1073 Scientific Notation (20 分)

#include<bits/stdc++.h>
using namespace std;
int main()
{
	
	string t;
	cin>>t;
	int flag=0;
	if(t[0]=='-'){
		flag=1;
	}
	string s,ss;
	int sign=0;
	for(int i=1;i<t.length();i++){
		if(t[i]!='E'&&sign==0){
			s=s+t[i];
		}else if(t[i]=='E'||sign==1){
			ss=ss+t[i];
			sign=1;
		}
	}
	string ss1=ss.substr(2);
	int exp=stoi(ss1);/// 
	string s1=s.substr(2);
	string final;
	if(ss[1]=='+'){
		if(exp>=s1.size()){
			string temp1;
			for(int i=0;i<exp-s1.size();i++){
				temp1=temp1+"0";
			}
			final=s[0]+s1+temp1;
		}else{
			final=s[0]+s1.substr(0,exp)+"."+s1.substr(exp);//保留所有significant zeros,不然有個測試點過不了
		}
	}else if(ss[1]=='-'){
		string temp2;
		for(int i=0;i<exp-1;i++){
			temp2=temp2+"0";
		}
		final="0."+temp2+s[0]+s.substr(2);
	}
	if(flag==1){
		cout<<'-'<<final;
	}else{
		cout<<final;
	}
	cout<<endl;
	return 0;
}

相關推薦

PAT甲級 1073 Scientific Notation 20 String的使用

1073 Scientific Notation (20 分) Scientific notation is the way that scientists easily handle very large numbers or very small numbers. Th

PAT 1073 Scientific Notation 20

1073 Scientific Notation (20 分) Scientific notation is the way that scientists easily handle very large numbers or very small numbe

PAT (Advanced Level) Practice 1073 Scientific Notation 20 C++甲級

1073 Scientific Notation (20 分) Scientific notation is the way that scientists easily handle very large numbers or very small numbers. The not

1073 Scientific Notation 20

#include<bits/stdc++.h> using namespace std; int main() { string t; cin>>t; int flag=0; if(t[0]=='-'){ flag=1; } str

PAT甲1073 Scientific Notation20

#include <string.h> #include <stdio.h> #include <algorithm> #include <vector> #include <string> #incl

PAT A1073 Scientific Notation 20 ——字符串轉數字

nbsp ber test ros num ecif 情況 opened algo Scientific notation is the way that scientists easily handle very large numbers or very sma

PAT-乙-1073 1073 多選題常見計分法 20

程式碼 #include <iostream> #include <vector> #include <iomanip> #include <string.h> using namespace std; const int L

PAT乙級 1073 多選題常見計分法 20

批改多選題是比較麻煩的事情,有很多不同的計分方法。有一種最常見的計分方法是:如果考生選擇了部分正確選項,並且沒有選擇任何錯誤選項,則得到 50% 分數;如果考生選擇了任何一個錯誤的選項,則不能得分。本題就請你寫個程式幫助老師批改多選題,並且指出哪道題的哪個選項錯的人最多。 輸入格式:

PAT (Basic Level) Practice 中文- 1073 多選題常見計分法20

題目大意:略。 解題思路:略。 AC 程式碼 #include<bits/stdc++.h> #include<cmath> #define mem(a,b) memset(a,b,sizeof a); #define INF

1073 多選題常見計分法 20

1073 多選題常見計分法 (20 分) 批改多選題是比較麻煩的事情,有很多不同的計分方法。有一種最常見的計分方法是:如果考生選擇了部分正確選項,並且沒有選擇任何錯誤選項,則得到 50% 分數;如果考生選擇了任何一個錯誤的選項,則不能得分。本題就請你寫個程式幫助老師批改多選題

習題3.8 符號配對20 浙大版《數據結構第2版》題目集

檢查 size pro 是否 ring 所有 編寫 bre ace 請編寫程序檢查C語言源程序中下列符號是否配對:/*與*/、(與)、[與]、{與}。 輸入格式: 輸入為一個C語言源程序。當讀到某一行中只有一個句點.和一個回車的時候,標誌著輸入結束。程序中需要檢

習題3.4 最長連續遞增子序列20 浙大版《數據結構第2版》題目集

space align font list 格式 ott mar 不能 第一次 給定一個順序存儲的線性表,請設計一個算法查找該線性表中最長的連續遞增子序列。例如,(1,9,2,5,7,3,4,6,8,0)中最長的遞增子序列為(3,4,6,8)。 輸入格式: 輸入

習題3.9 堆棧操作合法性20 浙大版《數據結構第2版》題目集

ram xxxxx text -html base logs main 格式 using 假設以S和X分別表示入棧和出棧操作。如果根據一個僅由S和X構成的序列,對一個空堆棧進行操作,相應操作均可行(如沒有出現刪除時棧空)且最後狀態也是棧空,則稱該序列是合法的堆棧操作

習題2.2 數組循環左移20 浙大版《數據結構第2版》題目集

problem [] 要求 top out 數據結構 允許 cal right 本題要求實現一個對數組進行循環左移的簡單函數:一個數組a中存有n(>0)個整數,在不允許使用另外數組的前提下,將每個整數循環向左移m(≥0)個位置,即將a中的數據由(a?0?

習題2.8 輸出全排列20 浙大版《數據結構第2版》題目集

text ble 存在 base scripts html 數據 ext 運行時 請編寫程序輸出前n個正整數的全排列(n<10),並通過9個測試用例(即n從1到9)觀察n逐步增大時程序的運行時間。 輸入格式: 輸入給出正整數n(<10)。 輸出格

7-15 兩個有序鏈表序列的合並20

一行 htm text all color div 兩個 turn nbsp 已知兩個非降序鏈表序列S1與S2,設計函數構造出S1與S2的並集新非降序鏈表S3。 輸入格式: 輸入分兩行,分別在每行給出由若幹個正整數構成的非降序序列,用−1表示序列的結

7-16 一元多項式求導20 (有關while(scanf("%d",&n)!=EOF))

margin 常數 解題思路 return 做的 gin 遇到 bsp title 7-16 一元多項式求導(20 分) 設計函數求一元多項式的導數。 輸入格式: 以指數遞降方式輸入多項式非零項系數和指數(絕對值均為不超過1000的整數)。數字間以空格分隔。

6-1 單鏈表逆轉20

結構定義 ++ return pri 輸出 int view 鏈表 一個 6-1 單鏈表逆轉(20 分) 本題要求實現一個函數,將給定的單鏈表逆轉。 函數接口定義: List Reverse( List L ); 其中List結構定義如下: typedef stru

6-2 順序表操作集20

include error class n) log typedef 返回 操作 定義 6-2 順序表操作集(20 分) 本題要求實現順序表的操作集。 函數接口定義: List MakeEmpty(); Position Find( List L, ElementT

數據結構-起步能力自測題 自測-5 Shuffling Machine20

emp side result ear employees htm shuffle 變換 return Shuffling is a procedure used to randomize a deck of playing cards. Because standar