1024 科学计数法 (20 分) C语言
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                1024 科学计数法 (20 分) C语言
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.                        
                                題目連接:https://pintia.cn/problem-sets/994805260223102976/problems/994805297229447168
注意事項:
數(shù)字的整數(shù)部分只有 1 位,小數(shù)部分至少有 1 位,該數(shù)字及其指數(shù)部分的正負號即使對正數(shù)也必定明確給出。
代碼:
#include<stdio.h> #include<string.h>char s[15000],r1[1],r2[10008],loc; //數(shù)組r1用于存儲原有的整數(shù)位,數(shù)組r2用于存儲原有的小數(shù)位 int change=0;void backward(int l) {int u=0;printf("%s",r1);if(l<=change){printf("%s",r2);for(int i=0;i<(change-l);i++)printf("0");}else{for(int i=0;i<l;i++){if(i==change)printf(".");printf("%c",r2[i]);}}return; }void forward(int l) {printf("0.");for(int i=0;i<(change-1);i++)printf("0");printf("%s%s",r1,r2);return; }int main() {scanf("%s",s);int e=0,i=0,p=0,k=0,l=0;r1[0]=s[1];for(i=1;i<strlen(s);i++){if(s[i]=='E'){e=i;break;}if(s[i]=='.'){p=1;continue;}if(p==1){r2[l]=s[i];l++;}}i=e+2;for(i;i<strlen(s);i++){change*=10;change+=(s[i]-'0');}if(s[0]=='-')printf("%c",s[0]);if(s[e+1]=='+')backward(l); //小數(shù)點后退,即整數(shù)位增加else if(s[e+1]=='-')forward(l); //小數(shù)點前進,即整數(shù)位減少printf("\n");return 0; }總結
以上是生活随笔為你收集整理的1024 科学计数法 (20 分) C语言的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: vue从入门到精通之高级篇(一)vue-
 - 下一篇: oracle负数怎么比较大小,输出负数【