c语言,输出科学计数法

Python010

c语言,输出科学计数法,第1张

#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 = 0i < 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 = s2i < 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语言写程序输出时,要控制每行输出数据的个数,可以通过自定义计数器来完成。

如:

// 输出自然数1-30,每5个数为一行

main()

{ int i   

  int cnt=0   // 定义cnt用作输出数据的计数器,初始为0

  

  for( i=1i<=30i++ )   // 循环30次

   { printf("%5d",i)   // 输出数据值

     cnt++    // 每输出一个值,计数器加一次

     if( cnt%5==0 )   // 假设每行输出5个(如果计数器与5取余为0,则换行)

        printf("\n")  // 输出换行

    }

 }

#include "stdio.h"

int main()

{

char tab[10]="123456789"

int n=0/*用来计数*/

int i=0

while(tab[i])

{

i++

n++

}

printf("%d\n",n)

return 0

}