本文目錄一覽:
- 1、C語言 科學計數法
- 2、c語言,輸出科學計數法
- 3、C語言科學記數法
C語言 科學計數法
do {
a1[i++]=getchar();
}while (a1[i]!=’.’);
這兒的判斷不對,因為此時a1[i]還沒有值。
c語言,輸出科學計數法
#include stdio.h
#include string.h
char num[110];
char result[110];
int len;
int main()
{
int i,j;
int s1,s2; //小數點位置,字符串首個非零數位置
int find1 = 0;
int find2 = 0; //find1:是否找到小數點位置標誌位,find2:是否找到首個非零數位置,0:表示未找到
int index;
scanf(“%s”,num);
len = strlen(num); //讀取字符串長度
for(i = 0;i len;++i) //尋找原字符串中小數點與首個非零數的位置
{
if(find1 find2)
break;
if(num[i] == ‘.’){
s1 = i;
find1 = 1;
}
else if(num[i] != ‘0’ !find2){
find2 = 1;
s2 = i;
}
}
if(s1-s2 0) //根據二個位置確定指數大小
index = s1-s2-1;
else if(s2 s1)
index = s1-s2;
j = 0;
for(i = s2;i len;++i) //確定底數
{
if(num[i] == ‘.’)
continue;
else if(i == s2) { //確定底數小數點位置
if(num[i+1]){
result[j++] = num[i];
result[j++] = ‘.’;
}
else
result[j++] = num[i];
}
else
result[j++] = num[i];
}
result[j] = ‘\0’;
printf(“%se%d\n”,result,index);
return 0;
}
C語言科學記數法
double a = 1.2e5
char buf[100]
sprintf(buf, “%e”, a);/*先sprintf %e 輸出到字符數組,然後再去對字符數組裡的字符串做適當的調整*/
…….剩下的代碼就是看你字符串 處理 功力了
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/154262.html