关注
#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; }
查看原帖
点赞 评论
相关推荐
07-26 07:41
第一拖拉机制造厂拖拉机学院 C++ 点赞 评论 收藏
分享

点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 从顶到拉给所有面过的公司评分 #
21520次浏览 187人参与
# 机械人春招想让哪家公司来捞你? #
357474次浏览 3109人参与
# 为了求职,我做过的疯狂伪装 #
12939次浏览 254人参与
# 校招笔试 #
851次浏览 32人参与
# 职场破冰,你们都聊什么? #
7519次浏览 78人参与
# 晒晒你的中秋福利 #
15445次浏览 119人参与
# 大家实习每天都在干啥 #
89141次浏览 518人参与
# 你的公司给实习生发中秋礼物吗 #
2049次浏览 31人参与
# 机械笔面试考察这些知识点 #
10563次浏览 96人参与
# bilibili求职进展汇总 #
90437次浏览 815人参与
# 工作压力大怎么缓解 #
105286次浏览 1053人参与
# 秋招OC许愿 #
347096次浏览 2531人参与
# 广联达求职进展汇总 #
11110次浏览 50人参与
# 机械人怎么评价今年的华为 #
209073次浏览 1525人参与
# 宣讲会你有哪些意向不到的收获 #
1541次浏览 23人参与
# 聊聊这家公司值得去吗 #
560048次浏览 3716人参与
# 你面试被问到过哪些不会的问题? #
22602次浏览 832人参与
# 百度秋招提前批进度 #
150688次浏览 1770人参与
# 电网笔面经互助 #
46836次浏览 431人参与
# 秋招的嫡长offer #
31655次浏览 295人参与