C++语言入门

224 阅读5分钟

序言

基础题部分,有一道对于低年级学生有难度的。

建议第一次跟练习,只练习基础题库。

C++语言入门这块练习题库,让初学者能基本上完成,一学就会的那种。同时也让初学者感受到一些难度,这个难度是可以克服的。

基础练习题库

Hello word

编程语言经典程序。

#include <iostream>
using namespace std; // 使用命名空间
// 没有使用命名空间 则需要使用 std::cout<<"hello word"<<std::endl;

int main() {
    cout << "尘远同学编程-少年班欢迎您! 报名热线 : 025 - 8662 0610" <<endl;

    // 在控制台输出 hello word 
    cout<< "Hello word!"; // cout 是 iostream 库下的标准输出
    return 0;
}

运行结果如下图:

image.png

C++ 是扩展了C语言,也可以使用printf实现输出:

#include <iostream>
//using namespace std;

int main() {
    std::cout << "尘远同学编程-少年班欢迎您! 报名热线 : 025 - 8662 0610" <<std::endl;
    
    printf("hello word");
    return 0;
}

输入和输出

输入三个整数,整数之间有一个空格分割,整数是32位有符号整数。把第二个整数输出。

样例输入: 100 200 300

样例输出: 200

cin方式输入

#include <iostream>
using namespace std;

int main() {
    std::cout << "尘远同学编程-少年班欢迎您! 报名热线 : 025 - 8662 0610" <<std::endl;

    int num1,num2,num3;
    cin>>num1>>num2>>num3;
    // 等价于
//    cin>>num1;
//    cin>>num2;
//    cin>>num3;
//
    cout<< num2<<endl;
    return 0;
}

运行结果如下图:

image.png

scanf方式输入

#include <iostream>
using namespace std;

int main() {
    std::cout << "尘远同学编程-少年班欢迎您! 报名热线 : 025 - 8662 0610" <<std::endl;

    int num1,num2,num3;
    scanf("%d%d%d",&num1,&num2,&num3);
    // 等价于
//    cin>>num1;
//    cin>>num2;
//    cin>>num3;
//
    printf("%d",num2);
    return 0;
}

对齐输出

输入3个整数,按照每个整数占8个字符的宽度,有对齐输出它们,按照格式要求一次输出三个整数,中间以一个空格分开。 考察点: 1、输入 cin 2、输出 cout 3、%nd 占价格字符

#include <iostream>
using namespace std;

int main() {
    std::cout << "尘远同学编程-少年班欢迎您! 报名热线 : 025 - 8662 0610" <<std::endl;

    int num1,num2,num3;
    cin>>num1>>num2>>num3;
    // scanf("%d%d%d",&num1,&num2,&num3);
    
    // %8d 之间要求有空格 8d占8个字符长度,4d占4个字长度
    printf("%8d %8d %8d\n",num1,num2,num3);
    return 0;
}

运行结果如下图:

image.png

字符三角形

给定一个,如 * 符号,用它构造一个底边长5个字符,高3个字符的等腰三角形。

输入: 输入给定的字符 如 * 输出:该字符构成的等腰三角形

#include <iostream>
using namespace std;

int main() {
   std::cout << "尘远同学编程-少年班欢迎您! 报名热线 : 025 - 8662 0610" <<std::endl;


   cout<<"请输入一个字符, 如 * # ^ 等 : ";
   char ch;
   cin >> ch;
   cout<<"  "<<ch<<endl; // 2个空格,1个字符
   cout<<" "<<ch<<ch<<ch<<endl; // 1个空格,3个字符
   cout<<ch<<ch<<ch<<ch<<ch<<endl;// 5个字符

   return 0;
}

image.png 运行结果如下:

地球人口承载力估算 (小学奥数题)

假设地球上的新生资源按照恒定速度增长。照此推算,地球上现有资源加上新生资源可供X亿人生活A年,或者可供Y亿人生活B年。 为了能够实现可持续发展,避免资源枯竭,地球最多能够养活多少亿人?

输入: 一行保证个张数, x a y b ,其中 x > y ,a < b , ax < by 。个整数均不大于 10 000 。 输出: 表示地球最多能养活多少亿人数字,保留2位小数。

说明: 该题是小学奥数题,和牛吃草题类似,求每天新生的牧草可用多少牛吃一天 。

#include <iostream>
using namespace std;

int main() {
   std::cout << "尘远同学编程-少年班欢迎您! 报名热线 : 025 - 8662 0610" <<std::endl;

   cout<<"请给X亿人,生活A年;或者Y亿人生活B年。估算模型赋值。\n按照 X A Y B的顺序:";

   // x > y , a < b, ax < by
   double x,a,y,b,max;
   cin>>x>>a>>y>>b;
   printf("X==%.2lf,A==%.2lf,Y==%.2lf,B==%.2lf\n",x,a,y,b);
   max=(y*b - x*a)/ (b-a);

   printf("估算结果,地球现有资源可养活 %.2lf 亿人\n",max);
   return 0;
}

image.png

运行结果:

扩展练习库

输出一个正方形

使用 “*” 符号,输出指定的长度(所占字符)正方形。

输入: 4

输出: * 组成的边长为4个字符长度的正方形。

#include <iostream>
using namespace std;

int main() {
    std::cout << "尘远同学编程-少年班欢迎您! 报名热线 : 025 - 8662 0610" <<std::endl;

    cout<<"请输入正方形的边长(小于20):";

    char ch= '*';
    int x,y;
    cin>>x;
    y=x;

    for(int i =0;i<x;i++){

        for(int j=0;j<y;j++){
            printf("%3c",ch); //为输出美观,使用固定长度
        }
        cout<<endl;
    }
    return 0;
}

运行效果:

image.png

输出空心的正方形

使用 “*” 符号,输出指定的长度(所占字符)正方形,要求用符号表示边,内部是空的。

输入: 4

输出: * 组成的边长为4个字符长度的正方形。

#include <iostream>
using namespace std;

int main() {
    std::cout << "尘远同学编程-少年班欢迎您! 报名热线 : 025 - 8662 0610" <<std::endl;

    cout<<"请输入正方形的边长(小于20):";

    char ch= '*';
    char empty=' ';
    int x,y;
    cin>>x;
    y=x;

    for(int i =0;i<x;i++){

        if(i==0 || i==(x-1)){  // 第一行和最后一行全输出符号
            //all
            for(int j=0;j<y;j++){
                printf("%3c",ch); //为输出美观,使用固定长度
            }
        } else{ // 其他行只有头和尾输出符号
            for(int j=0;j<y;j++){
                if(j==0 ||j==(y-1)){ // 头和尾输出符号
                    printf("%3c",ch); //为输出美观,使用固定长度
                }else{ // 输出空格
                    printf("%3c",empty); //为输出美观,使用固定长度
                }

            }
        }

        cout<<endl;
    }
    return 0;
}

运行效果:

image.png

仓库地址

联系作者访问仓库,下载 C++练习题库 完整内容。