满意答案
xinchun5120
2014.12.15
采纳率:43% 等级:11
已帮助:12305人
#include "stdio.h"
#include "string.h"
#define N 50
main() {
char a[N],a1[N],a2[N],zhongjian;
int s=0,i=0,i1=0,i2=0,i3=0,j1,j2,j3,fuhao=1,num=0,l1,l2,l3,zhishu=0; gets(a1);
if(a1[0]=='0') printf("0.00000000\n"); else {
while(a1[i]!=' '&&a1[i]!='E'&&a1[i]!='e'&&a1[i]!='\0') {
a[i]=a1[i]; i++; }
for(i1=0;i1<=i;i1++) {
if(a[i1]=='.') num++; }
if(num==0) {
a[i]='.'; a[i+1]='\0'; }
else a[i]='\0'; l1=strlen(a); l2=strlen(a1);
if(a1[i]=='E'||a1[i]=='e') zhishu=1; while(a1[i]==' '||zhishu==1) { i++;
if(a1[i]=='E'||a1[i]=='e') zhishu=1; else zhishu=0; } if(a1[i]=='-') { i++; fuhao=-1; }
while(a1[i]!='\0') {
s=s+a1[i]-48; s=10*s; i++; } s=s/10;
while(a[i2]!='.') { i2++; } if(fuhao>0||s==0) {
for(j1=l1;j1<=8+s+i2;j1++) a[j1]='0'; a[j1]='\0';
for(j1=i2;j1<=i2+s-1;j1++) {
zhongjian=a[j1];
a[j1]=a[j1+1]; a[j1+1]=zhongjian; }
if(j1+8
for(j2=0;j2<=j1+8;j2++) printf("%c",a[j2]); printf("\n"); }
else printf("%s\n",a); } else {
for(j1=i2;j1>=1;j1--) {
zhongjian=a[j1]; a[j1]=a[j1-1]; a[j1-1]=zhongjian; }
for(j3=0;j3<=l1;j3++) {
if(a[j3]!='.') {
a2[i3]=a[j1]; i3++; } j1++; }
a2[i3+1]='\0'; l3=strlen(a2); printf("0."); if(s<=8) {
for(i3=1;i3<=s-1;i3++) printf("0");
if(l3>8-s) for(i3=1;i3<=9-s;i3++) printf("%c",a[i3]);
else printf("%s",a2); if(10-l1-s>0) {
for(i3=1;i3<=10-s-l1;i3++) printf("0"); }
printf("\n"); } else {
printf("00000000\n"); } } } }
13分享举报