一套C++练习题(含答案)供大家参考!作者:yaozheng

C++编程最基础练习题(1-10) 小白入门必刷 50道C++编程练习题 小白记录学习C++的过程~ 阅读详情
今天帮别人做的,有些题目比较有代表性,在此连答案全部贴出来,给需要的朋友做参考。全部程序在VISUAL C++ 6.0环境下均调试通过。如果您对其中某个程序有更好的解答方法,欢迎跟贴交流。因为时间有限,没有写注释,如果您哪段程序不理解,也可以跟贴交流。

一、    选择题:
1、C++源程序文件的扩展名是:A
A) .CPP        B) .C        C) .DLL         D) .EXE

2、将小写字母n赋值给字符变量one_char,正确的操作是:C
A) one_char = ‘/n’;      B) one_char = “n”;
C) one_char = 110;      D) one_char = ‘N’;

3、整型变量i定义后赋初值的结果是:B
   int i=2.8*6;
A) 12     B) 16     C) 17    D) 18

4、下列表达式的值为false的是:C
A) 1<3 && 5<7      B) !(2>4)     C) 3&0&&1    D) !(5<8)||(2<8)

5、设int a=10, b=11, c=12;表达式(a+b)<c&&b==c的值是:B
A) 2       B) 0       C) –2      D) 1

6、下列程序执行完后,x的值是:C
  int x=0;
  for (int k=0;k<90; k++)
if (k)  x++;
A) 0         B) 30      C) 89     D) 90

7、下列程序段循环次数是:A
  int x = -10;
  while (++x)  cout<<x<<endl;
A) 9        B) 10      C) 11         D) 无限

8、表示“大于10而小于20的数“,正确的是:D
A) 10<x<20   B) x>10||x<20   C) x>10&x<20     D) !(x<=10||x>=20)

9、若整型变量x=2,则表达式x<<2的结果是:D
A) 2        B) 4     C) 6      D) 8

10、设a=1, b=2,则(a++)+b与a+++b这两个表达式的值分别为:A
A) 3, 3    B) 3, 4     C) 4, 3    D) 4,4

二、程序填空题。
1、下列程序计算1000以内能被3整除的自然数之和。
#include <iostream.h>
void main( )
{   int x=1, sum;
sum=0_______;
while (true)
{   if (x>1000)  break;
    if (x%3==0) sum+=x;
    x++;
}
cout<<sum<<endl;
}
三、假定输入10个整数:32,64,53,87,54,32,98,56,98,83。下列程序的输出结果是?
#include <iostream.h>
void main( )
{   int a,b,c,x;
   a=b=c=0;
   for (int k=0; k<10; k++)
   {   cin>>x;
switch(x%3)
{   case 0:  a+=x; break;
    case 1:  b+=x; break;
    case 2:  c+=x; break;
}
   }
cout<<a<<”,”<<b<<”,”<<c<<endl;
}
结果:
141,64,452


四、写出下列程序运行结果。
#include <iostream.h>
void main( )
{   int j,k;
for (j=5; j>0; j--)
{  for (k=j; k>0; k--)
     cout<<”*”;
  cout<<endl;
}
}
结果:
*****
****
***
**
*

五、写出下列程序的运行结果。
#include <iostream.h>
#include <iomanip.h>
void main()
{   
cout<<”x_width=”<<cout.width()<<endl;
cout<<”x_fill=”<<cout.fill()<<endl;
cout<<”x_precision=”<<cout.precision()<<endl;
cout<<123<<” ”<<123.45678<<endl;
cout<<”***x_width=10,x_fill=&,x_precision=8***”<<endl;
cout.width(10);
cout.fill(‘&’);
cout.precision(8);
cout<<123<<” “<<123.45678<<endl;
cout.setf(ios::left);
cout<<123<<” “<<123.45678<<endl;
cout.width(10);
cout<<123<<” “<<123.45678<<endl;
cout<<”x_width=”<<cout.width()<<endl;
cout<<”x_fill=”<<cout.fill()<<endl;
cout<<”x_precision=”<<cout.precision()<<endl;
}
结果:
x_width=0
x_fill=
x_precision=6
123 123.457
***x_width=10,x_fill=&,x_pre
&&&&&&&123 123.45678
123 123.45678
123&&&&&&& 123.45678
x_width=0
x_fill=&
x_precision=8


六、程序题。
1、    编写程序,求解方程ax2+bx+c=0的根。
#include <iostream>
#include <cmath>
using namespace std;
void main()
{
    int a,b,c;
    float x1,x2,z;
    cin>>a>>b>>c;
    z=b*b-4*a*c;
    if(z>0)
    {
        x1=((-b)+sqrt(z))/(2*a);
        x2=((-b)-sqrt(z))/(2*a);
        cout<<"The result: x1="<<x1<<"  x2="<<x2<<endl;
    }
    else
        if(z==0)
        {
            x1=-b/(2*a);
            cout<<"The result: x1="<<x1<<endl;
        }
        else
            cout<<"no result";
}


2、    编写程序输出所有的水仙花数。所谓水仙花数是指一个三位数,其各位数的立方和等于该数。例如:153=13+53+33。
#include <iostream>
using namespace std;
void main()
{
    int a,b,c;
    for(int i=100;i<=999;i++)
    {
        a=i/100;
        b=i%100/10;
        c=i%10;
        if(a*a*a+b*b*b+c*c*c==i)
            cout<<i<<endl;
    }
}


3、    编写程序,计算s=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的值。
#include <iostream>
using namespace std;
void main()
{
    int n,s,sum=0;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        s=0;
        for(int j=1;j<=i;j++)
            s+=j;
        sum+=s;
    }
    cout<<sum<<endl;
}

4、某百货公司为了促销,采用购物打折的办法。
(1)    在1000元以上者,按九五折优惠;
(2)    在2000元以上者,按九折优惠;
(3)    在3000元以上者,按八五折优惠;
(4)    在5000元以上者,按八折优惠。
编写程序,输入购物款数,计算并输出优惠价。(要求用switch语句编写)
#include <iostream>
using namespace std;
void main()
{
    int cost;
    double price,d;
    cin>>cost;
    if(cost>5000)
        d=0.8;
    switch(cost/1000)
    {
    case 0:d=1.0;break;
    case 1:d=0.95;break;
    case 2:d=0.9;break;
    case 3:case 4:d=0.85;break;
    }
    price=cost*d;
    cout<<price<<endl;
}


4、    将一张一元纸币兑换成一分、二分和五分的硬币,假定每种至少一枚,计算共有多少种兑换法并打印出各种兑换法。
#include <iostream>
using namespace std;
void main()
{
    int a,b,c,count=0;
    for(a=1;a<100;a++)
        for(b=1;b<100;b++)
            for(c=1;c<100;c++)
                if(c*5+b*2+a==100)
                {
                    count++;
                    cout<<"1分:"<<a<<",2分:"<<b<<",5分:"<<c<<endl;
                }
    cout<<"Counts:"<<count<<endl;
}


6、“同构数”是指这样的整数:它恰好出现在其平方数的右端。如:376*376=141376。请找出10000以内的全部“同构数”。
#include <iostream>
using namespace std;
void main()
{
    for(int i=1;i<10000;i++)
    {
    if(i<10&&i==i*i%10)
        cout<<i<<endl;
    else
        if(i<100&&i==i*i%100)
            cout<<i<<endl;
        else
            if(i<1000&&i==i*i%1000)
                cout<<i<<endl;
            else
                if(i==i*i%10000)
                    cout<<i<<endl;
    }
}

签名档
本人择偶标准:
select top 100 ppmm from girl where age between 20 and 24 AND height between 155 and 165 AND area = 'shanghai' AND wedlock = null AND program in hobby order by beautiful desc

欢迎光临编程爱好者网站
http://www.programfan.com/

以下是跟帖

#include <iostream>
using namespace std;
void main()
{
    int n,s=0,sum=0;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        s=s+i;
        sum+=s;
    }
    cout<<sum<<endl;
}

#include <stdio.h>
void main()
{
  int i,n,s,sum,counter;
  sum=0;
  s=0;
  counter=1;
  printf("/ninput a number!/n");
  scanf("%d",&n);
  for(i=1;i<=n;i++)
  {
    s+=counter;
    sum+=s;
    counter++;
  }
  pritnf("result is : %d/n",sum);
}
这个程序是我在C语言中实现的,
比答案少了一个循环,
可能效率要高一些吧!

//3、 编写程序,计算 s = 1 + (1+2) + (1+2+3) + … + (1+2+3+…+n) 的值
//    如果谁把公式用|, ^,<<, >>,& 等等计算,我真的是佩服到家了!

#include <iostream>
using namespace std;

void main(){
    int    n;
    cin >> n;

    cout << "Result: "
         << (n*(n+1)*(n+2))/6
         << endl;
}

// 我想这个应该效率最高了
 

我刚学C++,不对请大家指点!

#include <iostream.h>
long fun(int a )
{
     s += a;
   sum += s;
   if(a=1)
     returm sum;
   else
     returm fun(a-1);   //这样调函数对不对?

}
void main( )
{
  long fun(int a)
  int x, s, sum;
   s = 0 ;
   sum = 0;

  long y;
  cout << "请输入一个整数:";
  cin >> x;
  y = fun (x);
  cout <<"sum=" << y;
  returm;
}

小弟刚学C语言,做了一下LO几又VE大哥的题目,做得不好,但我想凡事重在参与吗,就把它粘上来了。莫笑:
#include<stdio.h>
main()
{
    int n,s=0,j=1,i;
    printf("please input num:/n");
    scanf("%d",&n);
    for(i=n;i>=0;i--)
    {
        s+=j*i;
        j++;
    }
    printf("%d",s);
}

 

LO几又VE

的方法说不定比我 6楼 还强呢! 呵呵,还是请他来公布他的答案吧

// 下面再贴一个效率低的,递归实现。
#include <iostream>
using namespace std;

long Cal(int n){
    return (n==1)?1:Cal(n-1)+n*(n+1)/2;
}
void main(){
    int    i;
    cin >> i;
    cout << "Result: " << Cal(i) << endl;
}

C++练习题(附答案) 关于C++的练习题 阅读详情

相关推荐

C++经典题目,初学者快速入门!【附有解析】

大一小白初学C++的简单例子,超适合小白初学者。题目包括且不限于:闰年判断、冒泡排序、各类型的求和、数列求和、菱形打印、九九乘法表、判断质数、水仙花数、最大公约数与最小公倍数、杨辉三角、求阶乘、数组相关类型

2201_75475240的博客 1万+

C++经典练习题(30题带答案)

1.定义一个学生结构体student,包括学生的学号、姓名、性别、出生日期。出生日期包括年月日。编写程序输出一个学生的所有信息。 2.输入一个字符,如果该字符是英文字母,则打印该英文字母的ASCII码。要求可以输入任意字符。 3.编写程序将成绩分数的百分制转换为等级制,即 A(分数≥90)、B(90>分数≥80)、C(80>分数≥70)、D(70>分数≥60)、E(分数<60)五等。 4.已知一个student结构体,请编写主函数,为stud

尹一冰的博客 2万+

【C++ 初学者练习题合集】

C++ 供初学者练习的代码题集

qq_53904588的博客 1万+

CPP----C++练习100题

C++练习题

writ的博客 8602

C++编程练习题大全(带答案)

本资源为C++学者入门实用资料,C++编程练习题大全(带答案),转自网络,知识共享,版权归原创所有

iOS马甲包过审实战:如何用5天时间搞定4.3审核(附完整代码混淆方案)

本文提供了一套为期五天的高效实战方案,专门解决iOS应用因重复或抄袭问题而被App Store的4.3条款拒绝的难题。方案涵盖深度分析、代码混淆、资源翻新及环境隔离等系统性步骤,并附有完整的代码混淆示例,旨在帮助开发者在合规框架内重塑应用,显著提升过审成功率。

weixin_29234239的博客 147

C++经典150题

时间复杂度为 O((m+n)log(m+n)) (快速排序–对数级时间复杂度)返回你可以从这笔交易中获取的最大利润。你不需要考虑数组中超出新长度后面的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。,返回其中的多数元素。设计一个算法来计算你所能获取的最大利润。数组中的每个元素代表你在该位置可以跳跃的最大长度。** 删除重复出现的元素,使得出现次数超过两次的元素。并在使用 O(1) 额外空间的条件下完成。不要使用额外的数组空间,你必须仅使用。** 删除重复出现的元素,使每个元素。

实践出真理,接毕设/课设项目开发指导 4671

Ubuntu安装pytorch3d的最便捷方法【原创】

Ubuntu安装pytorch3d的最便捷方法

qq_54900679的博客 2924

C语言/C++练习题

C语言/C++基础练习题,冒泡排序、一维数组、二维数组、字符串、结构体等。

qq_43884946的博客 1911

ADRC自抗扰控制:工程抗扰“黑科技”,附C代码实战!

自抗扰控制(ADRC)是一种革新性的强鲁棒控制策略,通过主动估计和补偿系统扰动,无需精确数学模型即可实现优异控制性能。本文详细解析ADRC三大核心组件:跟踪微分器(TD)实现指令柔化,扩张状态观测器(ESO)实时估计总扰动,非线性状态反馈(NLSEF)完成动态补偿。针对二阶系统,文章提供完整的参数设计方法和C语言实现框架,包括关键函数fhan和fal的代码实现。ADRC将复杂对象"线性化"为积分器串联系统,显著提升抗扰能力,特别适用于电机控制、飞行器姿态等存在模型不确定性和强干扰的场景。

技术工作者 1730

H3C交换机Console口连接全攻略:从接线到PuTTY配置(附常见问题排查)

本文详细介绍了H3C交换机Console口的连接与配置方法,包括硬件线缆选择、驱动安装、PuTTY参数设置及常见问题排查。特别针对Console转USB线缆的兼容性和驱动安装难点提供实用建议,帮助网络工程师快速掌握串联调试技巧,解决连接中的黑屏、乱码等典型问题。

weixin_42549451的博客 674

【C++ 程序设计】实战:C++ 实践练习题(31~40)

数列求和 C++ 实现 10 道编程题

顾三殇 —— 博客空间(软件测试) 2390

一种基于机载LiDAR点云电力线自动提取方法

文章目录一、引言二、算法实现2.1实现步骤2.2实现代码 一、引言 二、算法实现 2.1实现步骤 (1)首先采用首先采用高程滤波方法去除地面点和低矮地物点,滤波后的点云数据中除电力线点云外还含部分杆塔点、高植被点和噪声点。 (2)根据点云空间维度特征提取电力线点,使用空间密度聚类的方法实现单根电力线精确分离。 2.2实现代码 在这里插入代码片 ...

dayuhaitang1的博客 5170

30道C++ 基础高频题整理(附答案背诵版)

是C++的一个关键字,用于为现有的类型创建一个新的名称(别名)。,那么sizeof(arr)将返回10(因为arr是一个10个字符的数组,每个字符占用1个字节),而strlen(arr)将返回5(因为字符串"hello"的长度是5,不包括终止的空字符)。例如,如果你正在开发一个需要直接访问硬件,或者需要高性能数学计算的应用(比如游戏,图形渲染,科学计算),C++可能是一个更好的选择。通过指针和引用,你可以直接操作内存,这在很多情况下都非常有用,例如,动态内存分配,函数参数传递,数据结构(如链表和树)等等。

帅地 4986

基于STM32L4XX 、HAL库的TMP144YFFR数字温度传感器驱动应用C语言程序设计

define TMP144_ADDRESS 0x00 // 默认为全局地址,用于单器件或MDA命令。#define TMP144_CMD_READ_TEMP 0x00 // 读取温度寄存器命令。if (temp_raw & 0x800) { // 判断第11位(符号位)

PP_Cottage的博客 91

基于STM32设计的智能水产养殖系统(2025)_359

本设计提出并实现了一种基于STM32F103RCT6微控制器的智能水产养殖控制系统,针对传统水产养殖中人工依赖高、环境参数监测滞后、控制手段单一等问题,集成了TDS水质检测、水温检测、水位监测、自动喂食、自动充氧、换水控制与加热保温等功能。系统采用ESP8266模块实现WIFI联网,通过MQTT协议将关键数据上传至华为云物联网平台,支持Android手机APP和Windows上位机远程监测与控制。同时,系统具备本地LCD数据显示与蜂鸣器异常报警功能,支持本地按键控制操作。整套系统功能完善,响应灵敏,运行稳定

624

c++经典10题

文章目录🏷️一 斐波拉契数列💦 二 插入数字,进行排序💢 三 回文串判断🪰 四✨ 五☯️ 六 🏷️一 斐波拉契数列 古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 波那契数列其实就是这样一组数列:1、1、2、3、5、8、13、21、34、…… 那由我们观察一下: 第三项等于第一项与第二项的和,第四项是第三项与第二项的和,以此类推可以推到出来:n=(n-1)+(n-2) 就是第n项等于前两项的和。 //波那

缘友一世的博客 6261

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

C++理论考试复习题

C++练习题及答案(一) C++练习题及答案(二) C++练习题及答案(三) C++练习题及答案(四) C++练习题及答案(五)

weixin_41297324的博客 2525

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

c++练习题(带答案)

一、选择题 C++语言属于( C )。 A) 自然语言 B) 机器语言 C)面向对象语言 D) 汇编语言 下面选项中不属于面向对象程序设计特征的是(C) 。 A)继承性 B)多态性 C)相似性 D)封装性 可用作C++语言用户标识符的一组标识符是( B )。 A) void define +WORD B) a3_b3 _123 YN C) for -abc Case D) 2a...

csq542586的博客 7397

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

C++习题题型汇总(学习笔记)

C++题型汇总随记

qq_50218610的博客 1271

C++入门项目必练100题

C++入门练手项目,c++小白快速入门,c++基础项目

m0_58054832的博客 2万+

C++基础学习例题练习

结构体案例 ● 学校正在做毕设项目,每名老师带领5个学生,总共有3名老师,需求如下:设计学生和老师的结构体,其中在老师的结构体中,有老师姓名和一个存放5名学生的数组作为成员,学生的成员有姓名、考试分数,创建数组存放3名老师,通过函数给每个老师及所带的学生赋值,最终打印出老师数据以及老师所带的学生数据。 #include<iostream> #include<string> #include<ctime> using namespace std; struct Stude

阿东的学习记录 1563

C++经典练习题

农夫和牛都位于数轴上,农夫起始位于点N(0≤N≤100000),牛位于点K(0≤K≤100000)。农夫有两种移动方式:1、从X移动到X−1或X+1,每次移动花费一分钟2、从X移动到2×X,每次移动花费一分钟。酱油10块钱一瓶,商家进行促销,每买3瓶送1瓶,或者每买5瓶送2瓶。把80元分成30元和50元,分别买3瓶和5瓶,其中3瓶送1瓶,5瓶送2瓶,共得到11瓶。把40元分成30元和10元,分别买3瓶和1瓶,其中3瓶送1瓶,共得到5瓶。输出仅一行,甲流死亡率,以百分数形式输出,精确到小数点后3位。

2301_81638484的博客 1324

程序设计c++入门一百题(1-55)

程序设计c++入门一百题

qq_46374834的博客 1万+

PageFile Swap File

PageFile Swap FileAuthor: JIURL                Home: http://jiurl.yeah.net     Date: 2005-06-02 1 PageFile Swap File IntroductionWindows 2000 uses page-based virtual memory management, contents of som

FreeXploiT 39万+
上一篇: 程序瘦身趴趴走 【 原作者:雷凱 题目我修改了一下 】
下一篇: 输出第N个bat变量 (ALLyeSNO)
freexploit
博客等级 码龄22年 315粉丝 778原创
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值