noip(全国青少年信息学奥林匹克联赛)自学NOIP(C++)NOIP

C++(奥赛)【3】

2019-07-12  本文已影响11人  C入禅

<-上一篇
下一篇->


终于开始写程序了,入门程序体验


向世界打个招呼,体验程序。

#include<iostream>
//头文件,函数库,预处理,都是它
using namespace std;
//命名空间
int main()
//主函数
{
    cout << "Hello,World!"<<endl;
//输出内容
    system("pause");  
//程序停留,在编译器环境下运行不用加
    return 0;
//程序结束,返回一个0,表示没有异常
}
# include <iostream>

这是头文件,是对函数库的调用和申明,一般结构为:#include<>
尖括号内为库的名称,iostream就是C++的一个库

using namespace std;

本行代码是对函数所在空间的一个命名,C++才有,纯C语言不用。

int main(){}

主函数,每一个程序都有一个主函数,主函数永远第一个执行。

cout<<""<<endl;

cout为C++中标准的输出函数。

system("pause");

暂停程序,避免在编译后生成的EXE文档执行后不能看到结果。

return 0;

程序结束,返回一个0,表示没有异常。

方块内的内容可以任意改变(必须加" "),我们也可以多加几句cout


  1. P1000 超级玛丽游戏
    这道题在洛谷的题解里面基本上是大神秀技术,可以参考,也有基础的写法
#include<iostream>
using namespace std;
int main()
{
cout<<"                ********"<<endl;
cout<<"               ************"<<endl;
cout<<"               ####....#."<<endl;
cout<<"             #..###.....##...."<<endl;
cout<<"             ###.......######              ###            ###"<<endl;
cout<<"                ...........               #...#          #...#"<<endl;
cout<<"               ##*#######                 #.#.#          #.#.#"<<endl;
cout<<"            ####*******######             #.#.#          #.#.#"<<endl;
cout<<"           ...#***.****.*###....          #...#          #...#"<<endl;
cout<<"           ....**********##.....           ###            ###"<<endl;
cout<<"           ....****    *****...."<<endl;
cout<<"             ####        ####"<<endl;
cout<<"           ######        ######"<<endl;
cout<<"##############################################################"<<endl;
cout<<"#...#......#.##...#......#.##...#......#.##------------------#"<<endl;
cout<<"###########################################------------------#"<<endl;
cout<<"#..#....#....##..#....#....##..#....#....#####################"<<endl;
cout<<"##########################################    #----------#"<<endl;
cout<<"#.....#......##.....#......##.....#......#    #----------#"<<endl;
cout<<"##########################################    #----------#"<<endl;
cout<<"#.#..#....#..##.#..#....#..##.#..#....#..#    #----------#"<<endl;
cout<<"##########################################    ############"<<endl;
return 0;
}

2.1001:Hello,World!
至于为什么不做1000:,你们看看就知道了,我们下回再来分解

#include <iostream>
using namespace std;
int main()
{
    cout << "Hello, world!" << endl;
    return 0;
}

#include <iostream>
#include <ctime>
#include <cstdlib>
#include <iomanip>
#include <math.h>
using namespace std;

int i, number;
int best;    //手气最佳 
float total;// 总金额 
float *a=new float[number];  //保存每个人的随机数。最多支持1024个人抢红包。
float *b=new float[number];  //保存每个人获得的红包金额。
float suma = 0; //随机数总和。
float sumb = 0; //红包总和。


int main()
{


    cout << "请输入红包金额:";
    cin >> total;
    if(total>=2147483647)
        cout<<"金额过大"<<endl; 
    cout << "请输入红包个数:";
    cin >> number;
    if(number>=2147483647)
        cout<<"人数过多"<<endl;
    /* 生成随机数 */
    // 设置种子
    srand((unsigned)time(NULL));
    int max = 0;
    for (i = 0; i < number; i++)
    {
        // 生成实际的随机数
        a[i] = rand() % 100;
                
        if (a[i] > max){
            max = a[i];
            best = i;//获取手气最佳
        }
        suma += a[i];
    }

    for (i = 0; i < number - 1; i++)
    {
        b[i] = a[i] / suma * total;//按照随机数计算每个人实际获得的金额
        sumb += round(b[i] * 100) / 100.0;//将红包金额保留两位小数
        //输出信息
        cout << "第" << setiosflags(ios::right)<< setw(3) << i + 1 << 
            "个人的红包是:" << setiosflags(ios::right) << setw(6) << 
            setiosflags(ios::fixed) << setprecision(2) << 
            round(b[i] * 100) / 100.0 ;
        if (best == i){
            cout << "(手气最佳)" << endl;
        }
        else {
            
            cout << endl;
        }
    }
    //最后一人的红包金额等于总金额减去前面的金额。
    cout << "第" << setiosflags(ios::right)<<
        setw(3) << number << "个人的红包是:" <<
        setiosflags(ios::right) << setw(6) << setiosflags(ios::fixed) <<
        setprecision(2) << round((total - sumb) * 100) / 100.0;
    if (best == number - 1){
        cout << "(手气最佳)" << endl;
    }
    else {

        cout << endl;
    }
    system("pause"); 
    return 0;
}

<-上一篇
下一篇->

上一篇下一篇

猜你喜欢

热点阅读