shanhai847 2020-02-13 23:02 采纳率: 0%
浏览 4308

C语言输出小数点后第n位数字

图片说明

要求输出结果依次为2 4 6
我输出结果和这个题目要求一致,但是OJ提交却显示失败,求大佬帮助

#include
#include

int main()
{int t,n,i,m,j,k;
char a[50];
scanf("%d",&t);
while(t--){
scanf("%s%d",a,&n);
m=0;
m=(int)strlen(a);
k=0;
j=0;
for(i=0;i if(a[i]=='.'){
k=i+n;
j=m-i-1;
break;
}
}
if(j>=n){
if(n>=1&&n<=6){
printf("%d\n",a[k]-'0');
}

        }

}

return 0;

}


  • 写回答

2条回答 默认 最新

  • threenewbee 2020-02-14 09:52
    关注

    for(i=0;i if(a[i]=='.'){
    这代码根本就是错的。

    要保留3位小数,可以用 double,printf中使用 %.3lf

    评论

报告相同问题?

问题事件

  • 请采纳用户回复 10月23日

悬赏问题

  • ¥15 mmocr的训练错误,结果全为0
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀