C++程序设计实验1

本文解析了四个C++编程练习题目,包括计算三个整数的和与平均值、计算特殊金钱交换计划、反转三位数及打印对称三角形。通过这些题目,读者可以加深对C++基本语法和逻辑的理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【问题描述】
从键盘输入三个整数,分别存入x,y,z三个整型变量中,计算并输出三个数的和以及平均值。
【输入形式】
从键盘输入三个整数,整数之间以空格隔开。
【输出形式】
在屏幕上分两行显示结果:
第一行为三个数的和,整数形式输出;

第二行为三个数中最大数的值,整数形式输出;

第三行为三个数中最小数的值,整数形式输出;

第四行为三个数的平均值,浮点数形式输出,小数点后保留两位小数。
【输入样例】

3 2 3

【输出样例】

8
3
2
2.67

【样例说明】
3、2、3的和为8,所以第一行输出8;

第二行输出三个数的最大数值,所以输出3

第三行输出三个数的最小数值,所以输出2

第四行输出3、2、3的平均值2.67(保留两位小数)。

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int sum=0,min=0,max=0;
    int a[3];
    for(int i=0;i<3;i++)
    {
        cin>>a[i];
        sum=sum+a[i];
        if(a[max]<a[i])
        {
            max=i;
        }
        if(a[min]>a[i])
        {
            min=i;
        }
    }
    cout<<sum<<endl<<a[max]<<endl<<a[min]<<endl<<fixed<<setprecision(2)<<(double)sum/3<<endl;
    return 0;
}

【问题描述】
一个百万富翁碰到一个陌生人,陌生人找他谈了一个换钱的计划。该计划如下:我每天给你10万元,而你第一天给我一元,第二天我仍给你十万,你给我二元,第三天我仍给你十万,你给我四元......你每天给我的钱是前一天的两倍,直到满n(0<=n<=30)天。百万富翁非常高兴,欣然接受了这个契约。
请编写一个程序,计算这n天中,陌生人给了富翁多少钱,富翁给了陌生人多少钱。
【输入形式】
输入天数n(0<=n<=30且为整数)

【输出形式】
分行输出这n天中,陌生人所付出的钱和富翁所付出的钱。
【输入样例】 

10

【输出样例】

1000000
1023

【样例说明】

两人交易了10天,陌生人给了富翁1000000元,富翁给了陌生人1023元。

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n,sum=0;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        sum=sum+pow(2,i);
    }
    cout<<n*100000<<endl;
    cout<<sum<<endl;
    return 0;
}

【问题描述】
编写一程序,从键盘输入一个三位正整数,然后反向输出对应的数,如果输入的数不是三位正整数,则输出-1。
【输入形式】
从键盘输入三位的正整数。
【输出形式】
输出交换后的正整数值。
【输入样例】

356

【输出样例】

653

【样例说明】
从键盘输入的正整数值为356,将该数的个位与百位互换,所得结果为653.如果输入的正整数为300,则输出为3。

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int sum1,a,b,c,sum2;
    cin>>sum1;
    if(sum1>=100&&sum1<1000)
    {
        a=sum1/100;
        b=sum1/10%10;
        c=sum1%10;
        if(c==0&&b==0)
        {
            cout<<a<<endl;
        }
        else
        {
            sum2=100*c+10*b+a;
            cout<<sum2<<endl;
        }
    }
    else
    {
        cout<<-1<<endl;
    }
    return 0;
}

【问题描述】编写一个程序,输入一奇数n(2≤n≤80),表示最长一行的*号个数,要求程序中最多用三条printf语句,打印如下三角形:
       *

      ***

     *****

    *******

   *********

  ***********

 *************

***************
该三角形为对称三角形,其底边上"*"号个数为n。上图为输入15时的输出。
【输入形式】

从标准输入读取一个奇数,表示要打印的最长行的*号数。
【输出形式】

向标准输出打印一个三角形,如上图所示。并且在最后一行末也输出一个回车。
【样例输入】

3

【样例输出】

 *
***

【样例说明】

输入最长行的*号数,输出打印一个三角形。

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    cin>>n;
    for(int i=1;i<=(n+1)/2;i++)
    {
        for(int j=(n+1)/2-1;j>=i;j--)
        {
            cout<<" ";
        }
        for(int j=1;j<=2*i-1;j++)
        {
            cout<<"*";
        }
        cout<<endl;
    }
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值