提交记录 #166
提交时间:2024-11-12 13:34:59
语言:c
状态:Accepted
编译情况:编译成功
code.c: In function ‘main’:
code.c:7:5: warning: implicit declaration of function ‘gets’; did you mean ‘fgets’? [-Wimplicit-function-declaration]
7 | gets(str);int n=strlen(str),m=0;
| ^~~~
| fgets
/usr/bin/ld: /tmp/ccezkxcP.o: in function `main':
code.c:(.text.startup+0x2a): warning: the `gets' function is dangerous and should not be used.
固定测试点#1:
固定测试点#2:
固定测试点#3:
固定测试点#4:
固定测试点#5:
固定测试点#6:
额外测试点#3600:
H21【选做▪中学】科学记数法
#include<stdio.h>
#include<string.h>
char str[10000],pts[10000]; int cur,dlt,start=0;
int main(){
memset(pts,'0',sizeof(pts));
gets(str);int n=strlen(str),m=0;
for(m=0;m<n;m++){
if(str[m]=='e'||str[m]=='E'||str[m]==' ') break;
}
cur=m;
for(int i=0;i<m;i++) if(str[i]=='.'){
cur=i; break;
} int curpnt=cur;
if(str[0]=='-') putchar('-'),start++,cur--;
for(int i=start;i<curpnt;i++) pts[i-start]=str[i];
for(int i=curpnt+1;i<m;i++) pts[i-start-1]=str[i];
int z=m;while(str[z]!='e'&&str[z]!='E') z++;
sscanf(str+z+1,"%d",&dlt);
cur+=dlt; if(cur<=0){
printf("0."); cur=-cur;
for(int i=0;i<8;i++){
if(i<cur) putchar('0');
else putchar(pts[i-cur]);
}
}else{
for(start=0;start<cur;start++) if(pts[start]!='0') break;
for(int i=start;i<cur;i++) putchar(pts[i]);
if(start==cur) putchar('0');
putchar('.');
for(int i=cur;i<cur+8;i++) putchar(pts[i]);
}
putchar('\n');
return 0;
}