c语言科学计数法输出1_e10,北航13年机试--十进制数字的科学计数法表示的C语言实现...
給出一個標準輸入的正數(開頭末尾沒有多余的0),輸出其科學計數法表示結果。
Example:
輸入0.000002,輸出2e-6
輸入123.456,輸出1.23456e2
輸入123456,輸出1.23456e2
#include
#include
#include
int main(){
char v[10000]={'\0'};
scanf("%s",v);
int i;
int len=strlen(v);
if(v[0]=='0'){ //小數
i=2;
while(v[i]=='0')
i++;
int xiaoshu=i+1-2;
if(i
printf("%c",v[i++]);//遇到第一個不為0的數直接輸出
if(i
printf(".");//如果此后還有數字,則添加小數點
for(;i
printf("%c",v[i]); //之后輸出剩下的小數位
printf("e-%d\n",xiaoshu);
}
else{ //大于1的數
i=0;
printf("%c.",v[0]); //第一位后加小數點輸出
while(v[i]!='.'&&i
i++; //判斷原數小數點之前的位數
int ex=i-1; //從而求得科學計數的E
for(i=1;i
if(v[i]!='.')
printf("%c",v[i]); //順序輸出剩下的數,要把小數點去掉
printf("e%d\n",ex);
}
return 0;
}
總結
以上是生活随笔為你收集整理的c语言科学计数法输出1_e10,北航13年机试--十进制数字的科学计数法表示的C语言实现...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息展示类图表设计指南:10个必须遵循的
- 下一篇: c语言科学计数法整数位改为0,c语言科学