关注
#include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct { char sign;//符号 char cardinal_num[10005];//基数 char S_sign;//科学计数符号,默认为E int index;//指数 }Sn; void Input(Sn *num,char *inum); int Conversion(Sn num,char *cnum); int ctoi(char *num); int main(int argc,char *argv[]) { Sn num; char cnum[10002]={'\0'},inum[10002]={'\0'}; int flag; gets(inum); Input(&num,inum); flag=Conversion(num,cnum); if(flag==1) { printf("%s",cnum); } else { printf("-%s",cnum); } system("pause"); return 0; } int ctoi(char *num) { int data=0,i=0,flag=0; if(num[0]=='-') { flag=-1; } if((num[0]>='0'&&num[0]<='9')||num[0]=='+') { flag=1; } for(i=0;num[i]!='\0';i++) { if(num[i]>='0'&&num[i]<='9') { data=10*data+(num[i]-'0'); } } data=flag*data; return data; } void Input(Sn *num,char *inum) { int i,e=-1,j=0; char *p=NULL,*pnum=inum; num->sign=inum[0]; num->S_sign='E'; for(i=1;inum[i]!='\0';i++) { if(inum[i]=='E') { e=i+1; break; } if(inum[i]!='.') { num->cardinal_num[j]=inum[i]; j++; } } num->cardinal_num[j]='\0'; p=pnum+e; num->index=ctoi(p); } int Conversion(Sn num,char *cnum) { int flag=0,all,point,i,j=0,zeronum; int clen; clen=strlen(num.cardinal_num); if(num.sign=='+') { flag=1; } if(num.sign=='-') { flag=-1; } if(num.index>=0) { all=num.index+1; point=1+num.index; if(all>=clen) { for(i=0;i<all;i++) { if(num.cardinal_num[i]>='0'&&num.cardinal_num[i]<='9') { cnum[i]=num.cardinal_num[j]; j++; } else { cnum[i]='0'; } } } else { cnum[point]='.'; for(i=0;i<clen+1;i++) { if(cnum[i]!='.') { cnum[i]=num.cardinal_num[j]; j++; } } } } if(num.index<0) { cnum[0]='0'; cnum[1]='.'; zeronum=abs(num.index)-1; all=clen+zeronum; for(i=2;i<2+all;i++) { if(i<2+zeronum) { cnum[i]='0'; } else { cnum[i]=num.cardinal_num[j]; j++; } } } cnum[i]='\0'; return flag; }
查看原帖
点赞 评论
相关推荐
11-26 09:40
莆田学院 产品经理 点赞 评论 收藏
分享
牛客热帖
正在热议
# 拼多多求职进展汇总 #
236067次浏览 2038人参与
# ai智能作图 #
26436次浏览 313人参与
# 阿里云管培生offer #
61436次浏览 1756人参与
# 25届秋招总结 #
405884次浏览 4069人参与
# 25届机械人为了秋招做了哪些准备? #
25979次浏览 363人参与
# 地方国企笔面经互助 #
6806次浏览 16人参与
# 北方华创开奖 #
66702次浏览 551人参与
# 机械求职避坑tips #
23255次浏览 248人参与
# 实习,投递多份简历没人回复怎么办 #
2438855次浏览 34731人参与
# 软件开发投递记录 #
1480534次浏览 23940人参与
# 虾皮求职进展汇总 #
88326次浏览 710人参与
# 我的实习求职记录 #
6128946次浏览 84002人参与
# 我在牛爱网找对象 #
74699次浏览 554人参与
# 机械人怎么评价今年的华为 #
157647次浏览 1350人参与
# 你觉得通信/硬件有必要实习吗? #
54701次浏览 695人参与
# 歌尔求职进展汇总 #
42861次浏览 294人参与
# 如果可以,你希望哪个公司来捞你 #
33205次浏览 193人参与
# 如果再来一次,你还会选择这个工作吗? #
114147次浏览 1131人参与
# 如何写一份好简历 #
618567次浏览 8723人参与
# 在职场上,你最讨厌什么样的同事 #
5941次浏览 90人参与
# 硬件兄弟们 甩出你的华为奖状 #
78389次浏览 628人参与
# 你觉得第一学历对求职有影响吗? #
17687次浏览 155人参与