ACM标准输入输出【输入不同类型数据】【输出调整精度】

0 - 前言

ACM模式下,要手动处理输入输出(后台测试相当于有个人在键盘上一个个敲测试案例,根据屏幕上显示的内容判断代码是否正确),也就是说,ACM模式只是在黑盒测试,并不是像核心代码模式一样检查代码内的变量。

本文着重于总结ACM模式中各种输入与输出问题

参考:

ACM标准输入输出C/C++版

ACM模式下C++的输入输出格式模板

1 - 输入

本文只使用C++的输入函数cin与输出函数cout,因此需要包含头文件

#include < iostream >  

使用func函数表示对输入进行处理

1-1 确定个数变量(输入1次)

int main() 
{
    
    
     int a,b; 
     cin >> a >> b;
     //func(a, b);
     return 0; 
}

1-2 确定个数变量(输入n次)

int main() {
    
    
    int a, b, n;
    cin >> n;
    while (n--) {
    
    
        //func(a, b);
    }
    return 0;
}

1-3 不定个数变量

int main()
{
    
    
       int a,b;
       while(cin >> a >> b)
            //func(a, b);
       return 0;
}

1-4 不定个数变量(以某标志结束)

int main()
{
    
    
    int a ,b;
    while(cin>>a>>b&&flag)
        //func(a, b);
    return 0;
}

1-5 定长数组

int main() 
{
    
    
    int n = 0;
    cin >> n;
    vector<int> a(n);	//STL容器
    //int a[1000];		//普通数组
    for (int i = 0; i < n; i++)
        cin >> a[i];
    //func(a);
}   

1-6 字符

int main() {
    
    
    char ch = getchar();
    while (ch) {
    
    
        //func(ch);
        ch = getchar();
    }
    return 0;
}

1-7 字符串

int main() {
    
    
    string line;
    while (getline(cin, line)) {
    
    
        //func(line);
    }
    return 0;
}

注意,cin在遇到空格、回车时,都会认为当前输入已经结束,自动切换到下一输入。因此,使用cin填充输入时,空格与回车作用相同。

2 - 输出

cout << fixed << setprecision(2) << res << endl;

注意C++保存小数位数要引用头文件#include <iomanip>,在要保存的小数变量之前加上“fixed << setprecision(x)”表示保存x位

猜你喜欢

转载自blog.csdn.net/weixin_44484715/article/details/116986813