打印C语言的学生成绩

时间:2019-12-18 06:45:23

标签: c

我该如何打印浮动类型的学生的成绩(分数),最多保留两位小数位。例如1)将9打印为9而不是9.000000 2)将8.6打印为8.6而不是8.600000 3)打印6.88为6.88,而不是6.880000。 这些数字没有具体说明。我将扫描成绩并打印出来,同时循环查找

1 个答案:

答案 0 :(得分:1)

假设您的浮点值为'val',而所需的小数位数为'n'(对于您的情况为2),则答案将是: printf("%.*f",n,val);

根据OP的要求进行编辑-

#include<cstdio>
#include<iostream>
using namespace std;
int main()
{ float val; 
  //considering cases for decimal values (proposed 'n' above) upto second place:

//for no decimal place digits or a round figure:
if(val==int(val))
printf("%.*f",0,val);

//for values having digits upto one decimal place:
else if((((int)(round(x*10))) % 10) != 0))
printf("%.*f",1,val);

//for values having digits upto two decimal places:
else if((((int)(round(x*100))) % 100) != 0))
printf("%.*f",2,val);

return 0;
}