提交记录 #518
提交时间:2025-01-04 09:50:39
语言:c
状态:Unaccepted
编译情况:编译成功
code.c: In function ‘kezheng’:
code.c:15:5: warning: statement with no effect [-Wunused-value]
15 | for (i;i<count_zheng+zhi;i++) printf("%c",number[i]);
| ^~~
code.c:17:5: warning: statement with no effect [-Wunused-value]
17 | for (i;i<strlen(number);i++){
| ^~~
code.c: In function ‘kefu’:
code.c:37:9: warning: statement with no effect [-Wunused-value]
37 | for (i;i<strlen(number);i++){
| ^~~
code.c:53:9: warning: statement with no effect [-Wunused-value]
53 | for (i;i<strlen(number);i++){
| ^~~
固定测试点#1:
固定测试点#2:
固定测试点#3:
固定测试点#4:
固定测试点#5:
固定测试点#6:
附加测试点暂不可用
H21【选做▪中学】科学记数法
#include<stdio.h>
#include<string.h>
char number[100],z[20];
void kezheng(int zhi,int count_zheng,int count_xiao){
int i,count=0;
if (zhi+count_zheng>=strlen(number)){
printf("%s",number);
for (i=1;i<=zhi+count_zheng-strlen(number);i++) printf("0");
printf(".00000000\n");
return ;
}
i=0;
if (count_zheng+zhi>=2) while (number[i]=='0') i++;
for (i;i<count_zheng+zhi;i++) printf("%c",number[i]);
printf(".");
for (i;i<strlen(number);i++){
printf("%c",number[i]);
count++;
if (count==8){
printf("\n");
return ;
}
}
for (i=1;i<=8-count;i++) printf("0");
printf("\n");
}
void kefu(int zhi,int count_zheng,int count_xiao){
int i=0,count=0;
if (zhi>=8+count_zheng){
printf("0.00000000\n");
return ;
}
if (zhi==0){
printf("%c",number[i]);
i++;
for (i;i<strlen(number);i++){
printf("%c",number[i]);
count++;
if (count==8){
printf("\n");
return ;
}
}
for (i=1;i<=8-count;i++) printf("0");
printf("\n");
return ;
}
if (count_zheng>zhi){
count=0;
for (i=0;i<count_zheng-zhi;i++) printf("%c",number[i]);
printf(".");
for (i;i<strlen(number);i++){
printf("%c",number[i]);
count++;
if (count==8){
printf("\n");
return ;
}
}
for (i=1;i<=8-count;i++) printf("0");
printf("\n");
return ;
}
printf("0.");
count=0;
for (i=1;i<=zhi-1;i++){
printf("0");
count++;
}
for (i=0;i<strlen(number);i++){
printf("%c",number[i]);
count++;
if (count==8){
printf("\n");
return ;
}
}
for (i=1;i<=8-count;i++) printf("0");
printf("\n");
}
int main(){
int count_zheng=0,count_xiao,i=0,flag=1,flag_fushu=0,flag_fuzhi=0,zhi=0,flag_0=1;
char b;
do {
b=getchar();
if (b==' ') break;
if (b=='-'){
flag_fushu=1;
continue;
}
if (b=='.'){
flag=0;
continue;
}
number[i++]=b;
if (flag) count_zheng++;
}while (b!=' ');
number[i]='\0';
count_xiao=strlen(number)-count_zheng;
while (b==' '){
b=getchar();
if (b=='E'||b=='e') b=getchar();
}
if (b=='-'){
flag_fuzhi=1;
b=getchar();
}
i=0;
while(b>='0'&&b<='9'){
z[i++]=b;
b=getchar();
if (!(b>='0'&&b<='9')) break;
}
z[i]='\0';
for (i=0;i<strlen(z);i++){
zhi=zhi*10+z[i]-'0';
}
for (i=0;i<strlen(number);i++) if (number[i]!='0') flag_0=0;
if (flag_0){
printf("0.00000000\n");
return 0;
}
if (flag_fushu) printf("-");
if (flag_fuzhi) kefu(zhi,count_zheng,count_xiao);
else kezheng(zhi,count_zheng,count_xiao);
return 0;
}