输出值如何保留两位小数

这是定义的函数,求平均数后结果保留两位小数。
图片中这是加了串保留两位小数的代码,但是运行出来没有成功,我也不知道该怎么改了。

cout<<"学号为"<<L.list[i].sno<<"的同学,平均分为:"<<setiosflags(ios::fixed)<<setprecision(2)<<sum<<endl;

还有一种就是 printf("%0.2lf",a);

#include<iostream>
#include<cstring>
#include<string>
#include<cstdio>//要写printf这个头文件必须加 
#include<cstdlib>
#include<algorithm>
using namespace std;
int main(){
    double a;
    cin>>a;
    printf("%0.2lf",a);//中间那个0.2改成零点几就是几位小数。 
    return 0;
}