精华内容
下载资源
问答
  • Java编程练习题.

    2011-09-22 22:03:55
    Java编程练习题.Java编程练习题.Java编程练习题.Java编程练习题.Java编程练习题.Java编程练习题.
  • C++编程练习题及答案

    2020-03-26 23:21:14
    C++编程练习题及答案
  • Java编程练习题

    2012-07-18 21:59:20
    Java编程练习题
  • 50道JAVA基础编程练习题

    千次下载 热门讨论 2011-07-30 17:51:42
    很好的java基础编程练习题,对初学java编程者有所帮助,谢谢。
  • Java基础编程练习题

    万次阅读 多人点赞 2019-04-29 16:13:17
    很多人在自学java的时候看一遍视频,感觉就会了,课后并没有大量的练习来巩固当前所学的知识点,今天给大家整理了一些非常具有代表意义的。 Java基础类型 1、反转一个只有3位数的整数。 从控制台输入321,...

    很多人在自学java的时候看一遍视频,感觉就会了,课后并没有大量的练习来巩固当前所学的知识点,今天给大家整理了一些非常具有代表意义的题。

    Java基础类型题

    1、反转一个只有3位数的整数。

    •  从控制台输入321,输出123

    2、将一个字符由小写字母转换为大写字母。

    • 从控制台输入 a ,输出A

    3、从控制台输入一个字符串,由字母组成,转换成大写后输出。

    • 如果输入的是小写,就转换成大写。
    • 如果输入的是大写,就转换成小写
    • 例如输入:abCd ,控制台输入 ABcD

    4、输入三个整数x,y,z,请把这三个数由小到大输出。

    • 例如输入:1,3,2  输出  1,2,3

    5、判断101-200之间有多少个素数,并输出所有素数。

    6、利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

    7、输入一行字符,分别统计出其英文字母、空格、数字和其它字符的个数。

    • 例如输入 Ab12  sd
    • 输出字母:4,空格1个,数字2个,这里的数字按0到9算,12是1和2不是12

    8、打印出如下图案(菱形)

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

    9、给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

    10、求一个3*3矩阵对角线元素之和

    11、有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

    12、将一个数组逆序输出。

    13、取一个整数a从右端开始的4~7位。

    14、输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

    15、计算字符串中子串出现的次数。

    16、有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,将原有的数据和计算出的平均分数存放在磁盘文件"stud"中。

    17、编写程序,从键盘输入一个 0~99999 之间的任意数,判断输入的数是几位数?

    18、用 while 循环,计算 1~200 之间所有 3 的倍数之和。

    19、已知 XYZ+YZZ=532,其中,X、Y、Z 为数字,编程求出 X、Y 和 Z 的值。

    20、写一个猜拳游戏,从控制台输入石头、剪刀、布,后台随机生成对应和输入的做比较,看看谁能赢,输,和平局。

    基础算法题

    1. 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。(例如: 153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。)
    2. 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5

    3. 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

    4. 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
      一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?(完全平方数 :如果一个正整数 a 是某一个整数 b 的平方 .0也是完全平方数)

    5. 输出9*9口诀。

    6. 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天 剩下的一半零一个。 到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

    7. 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

    8. 一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程 找出1000以内的所有完数。完数的意思是将所有因数加起来的和等于这个数.比如28= 1+2+4+7+14

    9. 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?

    10. 输入两个正整数m和n,求其最大公约数和最小公倍数。

    11. 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。输出结果的形式如:2+22+222=246;

    12. 一球从h米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第n次落地时,共经过多少米?第n次反弹多高?程序分析:反弹的高度:(1/2)的n次方*h

    13. 利用递归方法求5!。

    14. 有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大。

    15. 一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

    16. 请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。

    17. 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

    18. 海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?

    19. 809*??=800*??+9*??+1,其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。

    20. 一个偶数总能表示为两个素数之和。

    21. 某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。

    22. 输入 3 个正数,判断能否构成一个三角形。

    23. 编写程序解决“百钱买百鸡”问题。公鸡五钱一只,母鸡三钱一只,小鸡一钱三只,现有百钱欲买百鸡,共有多少种买法?

    24. 验证“鬼谷猜想”:对任意自然数,若是奇数,就对它乘以 3 再加 1;若是偶数,就对它除以 2,这样得到一个新数,再按上述计算规则进行计算,一直进行下去,最终必然得到 1。

    面向对象练习题

    1、设计2个类,要求如下:(知识点:类的继承 方法的覆盖) [必做题] 

    • 2.1 定义一个汽车类Vehicle, 

    • 2.1.1 属性包括:汽车品牌brand(String类型)、颜色color(String类型)和速度speed(double类型)。 

    • 2.1.2 至少提供一个有参的构造方法(要求品牌和颜色可以初始化为任意值,但速度的初始值必须为0)。 

    • 2.1.3 为属性提供访问器方法。注意:汽车品牌一旦初始化之后不能修改。 

    • 2.1.4 定义一个一般方法run(),用打印语句描述汽车奔跑的功能 

    • 2.1.5 在main方法中创建一个品牌为―benz‖、颜色为―black‖的汽车。


    • 2.2 定义一个Vehicle类的子类轿车类Car,要求如下: 

    • 2.2.1 轿车有自己的属性载人数loader(int 类型)。

    • 2.2.2 提供该类初始化属性的构造方法。 

    • 2.2.3 重新定义run(),用打印语句描述轿车奔跑的功能。 

    • 2.2.4 在main方法中创建一个品牌为―Honda‖、颜色为―red‖,载人数为2人的轿车。


    2、 Cola公司的雇员分为以下若干类:(知识点:多态) [必做题] 

    • 4.1 ColaEmployee :这是所有员工总的父类,属性:员工的姓名,员工的生日月份。方法:getSalary(int month) 根据参数月份来确定工资,如果该月员工过生日,则公司会额外奖励100 元。
    • 4.2 SalariedEmployee : ColaEmployee 的子类,拿固定工资的员工。属性:月薪 

    • 4.3 HourlyEmployee :ColaEmployee 的子类,按小时拿工资的员工,每月工作超出160 小时的部分按照1.5 倍工资发放。属性:每小时的工资、每月工作的小时数 

    • 4.4 SalesEmployee :ColaEmployee 的子类,销售人员,工资由月销售额和提成率决定。属性:月销售额、提成率 

    • 4.5 定义一个类Company,在该类中写一个方法,调用该方法可以打印出某月某个员工的工资数额,写一个测试类TestCompany,在main方法,把若干各种类型的员工放在一个ColaEmployee 数组里,并单元出数组中每个员工当月的工资。


    3、编写三个系别的学生类:英语系,计算机系,文学系(要求通过继承学生类) [选做题] 

    • 6.1各系有以下成绩: 

    • 英语系: 演讲,期末考试,期中考试; 

    • 计算机系:操作能力,英语写作,期中考试,期末考试; 

    • 文学系: 演讲,作品,期末考试,期中考试; 

    • 6.2各系总分评测标准: 

    • 英语系: 演讲 50% 

    • 期末考试 25% 

    • 期中考试 25% 

    • 计算机系: 操作能力 40% 

    • 英语写作 20% 

    • 期末考试 20% 

    • 期中考试 20% 

    • 文学系: 演讲 35% 

    • 作品 35% 

    • 期末考试 15% 

    • 期中考试 15% 

    • 6.3定义一个可容纳5个学生的学生类数组,使用随机数给该数组装入各系学生的对象,然后按如下格式输出数组中的信息: 

    • 学号:XXXXXXXX 姓名:XXX 性别:X 年龄:XX 综合成绩:XX


    要求编写一个Java应用程序:

    (1)编写一个矩形类Rect,包含:

    两个protected属性:矩形的宽width;矩形的高height。

    两个构造方法:

    1.一个带有两个参数的构造方法,用于将width和height属性初化;

    2.一个不带参数的构造方法,将矩形初始化为宽和高都为10。

    两个方法:

    求矩形面积的方法area()

    求矩形周长的方法perimeter()

    (2)通过继承Rect类编写一个具有确定位置的矩形类PlainRect,其确定位置用

    矩形的左上角坐标来标识,包含:

    添加两个属性:矩形左上角坐标startX和startY。

    两个构造方法:

    带4个参数的构造方法,用于对startX、startY、width和height属性初始化;

    不带参数的构造方法,将矩形初始化为左上角坐标、长和宽都为0的矩形;

    添加一个方法:

    判断某个点是否在矩形内部的方法isInside(double x,double y)。如在矩

    形内,返回true, 否则,返回false。

      提示:点在矩形类是指满足条件:

    x>=startX&&x<=(startX+width)&&y<startY&&y>=(startY-height)

    (3)编写PlainRect类的测试程序

    创建一个左上角坐标为(10,10),长为20,宽为10的矩形对象;

    计算并打印输出矩形的面积和周长;

    判断点(25.5,13)是否在矩形内,并打印输出相关信息。


    类的成员变量 猜数字游戏一个类A有一个成员变量v有一个初值100。定义一个类对A类的成员变量v进行猜。如果大了则提示大了小了则提示小了。等于则提示猜测成功。


    类的成员变量 请定义一个交通工具(Vehicle)的类其中有: 属性速度(speed)体积(size)等等 方法移动(move())设置速度(setSpeed(int speed))加速speedUp(),减速speedDown()等等. 最后在测试类Vehicle中的main()中实例化一个交通工具对象并通过方法给它初始化speed,size的值并且通过打印出来。另外调用加速减速的方法对速度进行改变。


    构造方法 编写Java程序模拟简单的计算器。 定义名为Number的类其中有两个整型数据成员n1和n2应声明为私有。编写构造方法赋予n1和n2初始值再为该类定义加addition、减subtration、乘multiplication、除division等公有成员方法分别对两个成员变量执行加、减、乘、除的运算。 在main方法中创建Number类的对象调用各个方法并显示计算结果。


    构造方法 编写Java程序用于显示人的姓名和年龄。 定义一个人类Person该类中应该有两个私有属性姓名name和年龄age。定义构造方法用来初始化数据成员。再定义显示display方法将姓名和年龄打印出来。 在main方法中创建人类的实例然后将信息显示。


    定义一个点类Point,包含2个成员变量x、y分别表示x和y坐标,2个构造器Point()和Point(intx0,y0),以及一个movePoint(int dx,int dy)方法实现点的位置移动,创建两个Point对象p1、p2,分别调用movePoint方法后,打印p1和p2的坐标


    设计一个类Student,该类包括姓名、学号和成绩。设计一个方法,按照成绩从高到低的顺序输出姓名、学号和成绩信息


     定义两个类,描述如下: [必做题] 
    • 定义一个人类Person: 
    • 定义一个方法sayHello(),可以向对方发出问候语“hello,my name is XXX” 
    • 有三个属性:名字、身高、体重 
    • 定义一个PersonCreate类: 
    • 创建两个对象,分别是zhangsan,33岁,1.73;lishi,44,1.74 
    • 分别调用对象的sayHello()方法。


    定义两个类,描述如下: [必做题] 
    • 定义一个人类Person: 
    • 定义一个方法sayHello(),可以向对方发出问候语“hello,my name is XXX” 
    • 有三个属性:名字、身高、体重 
    • 通过构造方法,分别给三个属性赋值 
    • 定义一个Constructor类: 
    • 创建两个对象,分别是zhangsan,33岁,1.73;lishi,44,1.74 
    • 分别调用对象的sayHello()方法。


    JavaIO练习题

    1、在D盘创建一个ss的目录,在ss下面创建一个s.txt文件,在文件里边写入Hello World。

    2、把刚才s.txt文件读取到内存中,显示到控制台

    3、统计s.txt中各个字符出现的次数,打印到控制台

    4、把s.txt中大写转成小写,小写转成大写,空格转成下划线,在输入到文件中覆盖之前的。

    5、从控制台输入一个路径,程序循环读取这个路径下有多少文件夹?多少文件?

    6、拷贝一张图片从D盘到F盘、移动一张图片从D盘到F盘

    7、使用随机文件流类RandomAccessFile将一个文本文件倒置读出

    8、编写一个Java应用程序,可以实现Dos中的type命令,并加上行号。即将文本文件在控制台上显示出来,并在每一行的前面加上行号。

    9、输入两个文件夹名称,将A文件夹内容全部拷贝到B文件夹,要求使用多线程来操作。

    10、在控制台接受一个数字大小的类型,比如输入5M,或者5KB,查找统计出电脑D盘目录下小于5M的文件有多少个,或者小于5KB的大小有多少个文件。

    11、在控制台输入2个mp3的路径,程序接受到后对两个mp3进行合成。合成后输出到D:/merge.mp3。

    12、对上面题目进行稍加改动,从控制台接受至少两个mp3路径,输入q退出,程序对这些路径的mp3进行合成。

    13、从网络下载一个图片到电脑的D盘(选做题)

    14、对文件进行压缩

    15,对一个文件夹进行压缩

    集合练习题

    1、创建一个ArrayList集合,输入10个数,将数从大到小输出,从小到大输出,随机输出。

    2、已知有两个容器List,第一个List装有【小编,小王】,第二个容器装有【95分,94分】,请把第二个容器的94分改成95分,通过迭代器在控制打印出:

    小编:95分
    小王:95分

    3、创建一个HashMap,里边存有key:username,value:password,的用户密码信息,从控制台输入一个用户和密码,程序在后台判断用户名在map中是否存在,如果不存在,就提示用户名错误,用户正确,在判断当前用户名对应的密码是否和输入的一致,如果一致就提示用户密码正确.

    4、有两个list集合,l1数据有1,2,3,4 l2数据有 2,3,4,5, 将两个集合中重复的数据移除,并且把不重复的添加到第三个l3集合里边。

    5、创建一个List集合,里边有20组数据,在创建一个Map,把List中下标为0的作为map的key,下标为list.length()-1的为map的value,依次类推,最后在控制台打印出map所对应的key和value。

    6、创建一个Map集合,里边有10组数据,假如key为1到10,value为11到20,从控制台接受1到20之间的数,程序后台判断map中key和value有没有对应的,如果有提示当前数字为key,对应的值是多少,如果是值匹配上了,提示匹配到值为xx,对应的key为yy。

    7、有如下需求,中国队,美国队,日本队,每个国家队下面又有乒乓球,羽毛球,篮球,每个球类下面有第一组,第二组,第三组,每个组下面有教练,队员,教练和队员的信息有用户名和性别,年龄,职位。请根据以上的需求利用List和Map以及学的集合类的知识点来完成这道题目。

    反射相关练习题

    1、定义一个Java类,Person,属性有name、age,使用反射创建一个实例,调用构造函数初始化name和age,并且调用里边的sayHello()方法。

    2、定义一个Java类,Person,通过反射把给里边所有的字段的赋值

    3、通过反射调用main函数。

    4、通过反射去创建对象,分别用Constructor和Class对象去创建

    5、定义一个Person类,person类继承了Base类,通过反射去查看Person类继承了哪个类。

    6、通过反射创建一个ArrayList对象,并且调用里边的方法添加一些数据,循环list,把对象打印到控制台。

    线程相关练习题

    1、有如下数组 int[] arr = {1,2,3,4,5,6,7,8,9,10},现有两个人进行抽签,A先抽签,B继续抽签,A继续抽签,依次类推,直到抽完为止,抽一次少一次,不能有重复的,用两个线程模拟两个人的抽签,随机抽签,把抽签的结果打印到控制台,记住,这里是用数组,不是集合来存取1到10。

    2、某公司组织年会,会议入场时有两个入口,在入场时每位员工都能获取一张双色球彩票,假设公司有100个员工,利用多线程模拟年会入场过程,并分别统计每个入口入场的人数,以及每个员工拿到的彩票的号码。线程运行后打印格式如下:

    编号为: 2 的员工 从后门 入场! 拿到的双色球彩票号码是: [17, 24, 29, 30, 31, 32, 07]
    编号为: 1 的员工 从后门 入场! 拿到的双色球彩票号码是: [06, 11, 14, 22, 29, 32, 15]
    //.....
    从后门入场的员工总共: 13 位员工
    从前门入场的员工总共: 87 位员工

    3、开启一个子线程循环3次,主线程循环3次,然后子线程循环3次,主线程循环3次,这样循环10次;

    4、写一个买票的例子,模拟3个窗口同时买60张票。

    5、利用多线程去扫描统计你的电脑D盘前5个文件目录,并且统计出来各个目录地下有多少目录和文件,并且目录的深度是多少,比如有D:/a/b/c/d  这个目录结构相对于a来说,他的深度是3,因为他下面有目录d。统计出a目录下面有多少个目录包括子目录,递归统计,有多少个文件,递归统计,各个文件的类型有多少个,比如,txt有10个,exe有2个等。要求使用5个线程,每个线程各统计一个目录。(综合性题)

    正则表达式练习题

    1、匹配一个手机号码是否正确,格式要求为11位或者7位座机号码,判断要严格缜密。

    2、匹配一个邮箱号码,并且只有163,qq,126 这三种邮箱

    3、匹配一个URL,分析URL的特性,并且效验是否正确

    4、匹配密码的强度,要求包含至少一位大写,大小写和数字组合,不能出现任何特殊符号,比如Abc123Dcd是正确的

    5、匹配一段文字里边是否包含中文,如果包含,报中文替换成*号,并且把替换后的在控制台打印出来

    6、从控制台输入一个字符串,用正则效验是否为数字?

    7、匹配一个字符串是否是日期格式,日期格式如下:2018-12-12 12:12:12  或者 2019/02/24 09:11:23 这两种格式

    网络编程练习题

    1、从网上下载一个图片到D:/xxx.mp3 

    2、http://www.duwenzhang.com/wenzhang/renshengzheli/ganwu/20130515/255476.html 把这篇文章的源码读取下来,利用正则表达式把文字部分匹配出来打印到控制台(选择题)

    3、用Socket创建一个服务端和一个客户端,客户端发送一条消息到服务端,服务端收到后把消息原样回给客户端

    2、在上面的基础上进一步改进,图片端发送个图片到服务端,服务端接受到保存到电脑的D:/yyy.jpg 

    3、在上面的基础上进一步改进,把图片的名字和图片本身转成的byte数组封装到对象里边,把对象传到服务端,服务端接受到后对对象进行解析,把图片保存到D盘下,图片名称用传过来的原图片名称。

    4、写一个基于UDP客户端发送到服务端的例子

    综合基础题(创作型题)

    1、我们都知道StringBuilder是动态扩容的,根据他的这个特性,自己实现一个StringBuilder类。

    2、写一个你认为最经典,最具有代表意义并且涵盖整个面向对象所有知识点的一道题。

     

    文档未完,持续更新中。以上部分题来自互联网,希望看到的人能够自己完成,对自己的学习负责,坚信自己的能力。

    展开全文
  • C#基础编程练习题

    2013-08-08 19:15:28
    C#基础编程练习题,其中包括在VS2010中实现的详细代码,可以参考下
  • C#编程练习习题.doc

    2020-10-25 21:16:23
    C#编程习题 以下有 18 道习题 (当然这并非全部的习题最后应该会多增加 2 共 20 )对于 20 道题目要求大家每道题目都能够做到看到题目不看其他参考材料的情况下能够 实现出来期末考将会从中抽取三道题目(分数占 ...
  • JAVA SE编程练习题

    2019-07-18 15:02:40
    在网上找了些javaSE编程练习题练了练手。 JavaSE部分编程练习题 没有做完,做了二十几个。 做的代码如下 链接:https://pan.baidu.com/s/146QRAE9XOsqdGuTawF9sEA 提取码:0sij ...

    在网上找了些javaSE编程练习题练了练手。

    JavaSE部分编程练习题

    没有做完,做了二十几个。

    做的代码如下

    链接:https://pan.baidu.com/s/146QRAE9XOsqdGuTawF9sEA 
    提取码:0sij 

     

    展开全文
  • C++ primer plus 答案,QT亲自运行成功,含有课后练习题,编程练习题
  • 本资源为C++学者入门实用资料,C++编程练习题大全(带答案),转自网络,知识共享,版权归原创所有
  • Java面向对象编程练习题答案

    热门讨论 2014-03-26 09:30:49
    关于Java面向对象的编程练习题以及答案解析。
  • c语言编程练习题

    万次阅读 多人点赞 2019-05-31 15:36:36
    在海军节开幕式上,有A、B、C三艘军舰要...假设各炮手对时间的掌握非常准确,请编程计算观众总共可以听到几次礼炮声。 #include <stdio.h> int main() { int n = 0, t; for (t=0; t<=20*7; t++) { ...

    在海军节开幕式上,有A、B、C三艘军舰要同时开始鸣放礼炮各21响。已知A舰每隔5秒放1次,B舰每隔6秒放1次,C舰每隔7秒放1次。假设各炮手对时间的掌握非常准确,请编程计算观众总共可以听到几次礼炮声。

    #include <stdio.h>
    int main()
    {
        int  n = 0, t;
        for (t=0; t<=20*7; t++)
        {
            if (t%5 == 0 && t <= 20*5)  /* 控制A舰每隔5秒放1次 */
            {
                n++;
                continue;                  /* 继续下一次循环 */
            }
            if ( t%6 == 0 && t <= 20*6)   /* 控制B舰每隔6秒放1次 */
            {
                n++;
                continue;                  /* 继续下一次循环 */
            }
            if (t%7 == 0)                  /* 控制C舰每隔7秒放1次 */
            {
                n++;
            }
        }
        printf("n = %d\n", n);
    }

    已知今年的工业产值为100万元,产值增长率为从键盘输入,请编程计算工业产值过多少年可实现翻一番(即增加一倍)。

    提示:用符号常量CURRENT表示今年的工业产值为100万元,用变量growRate表示产值增长率,用变量year表示产值翻番所需的年数,则计算年产值增长额的计算公式为:

    output  = output * (1 + growRate)

    利用迭代法循环计算,直到output >= 2*CURRENT时为止。当output >= 2*CURRENT时,表示已实现产值翻番。此时,循环被执行的次数year即为产值翻番所需的年数。

    #include <stdio.h>
    #define  CURRENT  100  
    int main()
    {
        int      year;                        /* 产值翻番所需年数 */ 
        double  growRate;                    /* 工业产值的增长率 */
        double  output;                   /* 工业总产值 */ 
        printf("Input grow rate:");
        scanf("%lf", &growRate);
        output = CURRENT;             /* 当年产值为100万元 */
        for (year=0; output<2*CURRENT; year++)
        {
            output = output * (1 + growRate);
        }
        printf("When grow rate is %.0f%%, the output can be doubled after %d years.\n", growRate*100, year);     
        return 0;
    }

    一辆卡车违犯交通规则,撞人后逃跑。现场有三人目击事件,但都没记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同;丙是位数学家,他说:四位的车号刚好是一个整数的平方。现在请根据以上线索帮助警方找出车号以便尽快破案。

    提示:假设这个4位数的前两位数字都是i,后两位数字都是j,则这个可能的4位数

    k = 1000*i + 100*i + 10*j + j

    式中,i和j都在0~9变化。此外,还应使k=m*m,m是整数。由于k是一个4位数,所以m值不可能小于31。

    #include <stdio.h>
    int main()
    {
        int  i, j, k, m;
        for (i=0; i<=9; i++)
        {
            for (j=0; j<=9; j++)
            {
                if (i != j)
                { 
                    k = i * 1000 + i * 100 + j * 10 + j;
                    for (m=31; m*m<=k; m++)
                    {
                        if (m*m == k)  
                        printf("k=%d, m=%d\n", k, m);
                    }
                }
             }
        }
    }

    36块砖,36人搬,男搬4,女搬3,两个小孩抬一块砖,要求一次搬完,问男人、女人和小孩各需多少人?请用穷举法编程求解。

    #include<stdio.h>
    int main()
    {
        int x, y, z;
        for (x = 0; x <= 9; x++)
            {
                for (y = 0; y <= 12; y++)
                {
                    z = 36 - x - y;
                     
                    if ( 4 * x + 3 * y + z / 2 == 36 && z % 2 == 0)
                    {
                        printf("men=%d,women=%d,children=%d\n", x, y, z);
                    }
                }
            }
        return 0;
    }

    从键盘任意输入三角形的三边长为a,b,c,编程判断a,b,c的值能否构成一个三角形,若能构成三角形,则计算并输出三角形的面积,否则提示不能构成三角形。已知构成三角形的条件是:任意两边之和大于第三边。

    #include <stdio.h>
    #include  <math.h>
    int main()
    { 
          float  a, b, c, s, area;                
          printf("Input a,b,c:");
          scanf("%f,%f,%f", &a, &b, &c);
           
          if (a+b>c && b+c>a && a+c>b)
            {
                s = (float)(a + b + c) / 2;
                 
                area = sqrt(s * (s - a) * (s - b) * (s - c));
                 
                printf("area = %f\n", area);
            }
         else
            {
                printf("It is not a triangle\n");
            }
        return 0;
    }

    从键盘任意输入一个3位整数,编程计算并输出它的逆序数忽略整数前的正负号)。例如,输入-123,则忽略负号,由123分离出其百位1、十位2、个位3,然后计算3*100+2*10+1 = 321,并输出321。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。

    #include  <math.h>
    #include  <stdio.h>
    int main()
    { 
        int  x, b0, b1, b2, y; 
        printf("Input x:");           
        scanf("%d", &x);
        x = (int)fabs(x);
                            
        b2 = x / 100;                   /* 计算百位数字 */
         
        b1 = (x - b2 * 100) / 10;     /* 计算十位数字 */
         
        b0 = x % 10;                   /* 计算个位数字 */
         
        y = b2 + b1*10 + b0*100;
        printf("y = %d\n",y);
        return 0;
    }

    根据最大公约数的如下3条性质,采用递归法编写计算最大公约数的函数Gcd(),在主函数中调用该函数计算并输出从键盘任意输入的两正整数的最大公约数。

    性质1  如果a>b,则a和b与a-b和b的最大公约数相同,即Gcd(a, b) = Gcd(a-b, b)

    性质2  如果b>a,则a和b与a和b-a的最大公约数相同,即Gcd(a, b) = Gcd(a, b-a)

    性质3  如果a=b,则a和b的最大公约数与a值和b值相同,即Gcd(a, b) = a = b

    #include <stdio.h> 
    int Gcd(int a, int b);
    int main() 
    {     
         int a, b, c;     
         printf("Input a,b:");     
         scanf("%d,%d", &a, &b);
         c = Gcd(a, b);
         if ( c!= -1)
              printf("Greatest Common Divisor of %d and %d is %d\n", a, b, c);
         else        
              printf("Input number should be positive!\n");
         return 0; 
    }
     
    int Gcd(int a, int b) 
    {     
         if (a <= 0 || b <= 0)     
              return -1;
         if (a == b)
              return a;
         else if (a > b)
              return Gcd(a - b, b);
         else        
              return Gcd(a, b - a);
     }

    下面程序的功能是输入某年某月某日,计算并输出它是这一年的第几天。

    程序的运行结果如下:

    Please enter year, month, day:2014,12,29↙

    yearDay = 363

    #include    <stdio.h>
    int  DayofYear(int year, int month, int day);
    int dayTab[2][13] = {{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};
    int main()
    {
        int year, month, day, yearDay;
        printf("Please enter year, month, day:");
        scanf("%d,%d,%d", &year, &month, &day);
        yearDay = DayofYear(year, month, day);
        printf("yearDay = %d\n", yearDay);
        return 0;
    }
     
    /* 函数功能:对给定的某年某月某日,计算并返回它是这一年的第几天 */
    int  DayofYear(int year, int month, int day)
    {
        int  i, leap;
        leap = ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0);  /* 若year为闰年,即leap值为1,则用第1行元素dayTab[1][i]计算;
                                           否则leap值为0,用第0行dayTab[0][i]计算 */
        for (i=1;  i<month; i++)
        {
            day = day + dayTab[leap][i];
        }
        return day;         /* 返回计算出的day的值 */
    }

    500以内10个最大素数及其和并分别输出。

    #include <stdio.h>
    #include <math.h> 
    int sum_prime(int a[]);
    int prime(int n);
    int main()
    {
        int i, a[10], sum;
        sum = sum_prime(a);
        for (i = 0; i < 10; i++)
             printf("%6d", a[i]);
        printf("\nsum=%d\n", sum);
        return 0;
    }
      
    int sum_prime(int a[])
    {
        int i, j = 499, sum = 0;
        for (i = 0; i < 10; )
        {
            if (prime(j))
            {
                sum = sum + j ;
                 a[i] = j;
                 
                i++;
            }
            j--;
        }
        return sum;
    }
     
    int prime(int n)
    {
        int i, k;
        k = (int) sqrt((double)n);
         
        for (i = 2; i <= k; i++)
        {
            if (n % i == 0)
             
                 return 0;
        }
         
        if ( i >= k + 1)
         
               return 1;
      
    }

    编程计算下面组合数的值

    #include <stdio.h>
    unsigned long Factorial(unsigned int number);
    int main()
    {
         int m, k;
         double p;
          
         do{
              printf("Please input m,k (m>=k>0):");
              scanf("%d, %d", &m, &k);
           } while (m<k || m<0 || k<0);
         p = (double)Factorial(m) / (Factorial(k) * Factorial (m-k));
         printf("p=%.0f\n", p);
         return 0;
    }
    //函数功能:计算无符号整型数number的阶乘
    unsigned long Factorial(unsigned int number)
    {
         unsigned long i, result = 1;
          
         for (i=2; i<=number; i++)
         {
              result *= i;
         }
         return result;
    }
    
    

    每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”就是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出版语言,例如0代表英语;第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社;第二个分隔符后的五位数字代表该书在该出版社的编号;最后一位为识别码。 

    识别码的计算方法如下: 

       首位数字乘以1加上次位数字乘以2……以此类推,用所得的结果mod 11,所得的余数即为识别码,如果余数为10,则识别码为大写字母X。例如ISBN号码0-670-82162-4中的识别码4是这样得到的:对067082162这9个数字,从左至右,分别乘以1,2,...,9,再求和,即0×1+6×2+……+2×9=158,然后取158 mod 11的结果4作为识别码。 

       你的任务是编写程序判断输入的ISBN号码中识别码是否正确,如果正确,则仅输出“Right”;如果错误,则输出你认为是正确的ISBN号码。

    #include <stdio.h> 
    int main() 
    {      
        char isbn[13];   
        int i, k = 0, last, p;     
        gets(isbn);     
        for (i = 0, p = 0; i < 11; i ++)     
        {         
             if (isbn[i] == '-') continue;        
             p ++;         
             k += (isbn[i] - 48) * p;     
        }     
       last = k % 11;  
           
       if (last == 10) 
             last = 'X';     
       else 
            last += 48;     
       
      if (last == isbn[12]) 
           printf("Right");     
      else    
      {         
          isbn[12] = last;        
          printf("%s", isbn);     
      }     
      return 0; 
    }

    下面程序的功能是统计候选人的得票数。设有3个候选人zhang、li、wang(候选人姓名不区分大小写),10个选民,选民每次输入一个得票的候选人的名字,若选民输错候选人姓名,则按废票处理。选民投票结束后程序自动显示各候选人的得票结果和废票信息。要求用结构体数组candidate表示3个候选人的姓名和得票结果。

    #include  <stdio.h>
    #include  <string.h>
    #define NUM_ELECTORATE 10
    #define NUM_CANDIDATE 3
    struct candidate
    {
        char  name[20];
        int   count;
    }candidate[3] = {"li",0, "zhang",0, "wang",0};
     
    int main()
    {
        int  i, j, flag = 1, wrong = 0;
        char  name[20];
        for (i=1; i<=NUM_ELECTORATE; i++)
        {
           printf("Input vote %d:", i);
           scanf("%s", name);
           strlwr(name); /* C语言的标准库函数,功能是将name中的字符全部变成小写字母 */
           flag = 1;
            
           for (j=0; j<NUM_CANDIDATE; j++)
           {         
                if (strcmp(name, candidate[j].name) == 0) 
                {
                    candidate[j].count++;
                    flag = 0;
                }
            }
             
           if (flag)
            {
                wrong++;  /* 废票计数 */
                flag = 0;
            }
            }
           printf("Election results:\n");
            
           for (i=0; i<NUM_CANDIDATE; i++)
           {
                printf("%s:%d\n", candidate[i].name, candidate[i].count);
           }
            
           printf("Wrong election:%d\n", wrong);
           return 0;
    }

     编程计算并输出m×n阶矩阵的转置矩阵。其中,m和n的值由用户从键盘输入。已知m和n的值都不超过10。

    #include <stdio.h>
    #define M 10
    #define N 10
    void Transpose(int a[][N], int at[][M], int m, int n);
    void InputMatrix(int a[][N], int m, int n);
    void PrintMatrix(int at[][M], int n, int m);
    int main()
    {
        int s[M][N], st[N][M], m, n;
        printf("Input m, n:");
        scanf("%d,%d", &m, &n);
        InputMatrix(s, m, n);
        Transpose(s, st, m, n);
        printf("The transposed matrix is:\n");
        PrintMatrix(st, n,  m); 
        return 0;
    }
    /* 函数功能:计算m*n矩阵a的转置矩阵at */
    void Transpose(int a[][N], int at[][M], int m, int n)   
    { 
        int i, j;
        for (i=0; i<m; i++)
        {
            for (j=0; j<n; j++)
            {
                at[j][i] = a[i][j];
            }
        }
    }
    /* 函数功能:输入m*n矩阵a的值 */
    void InputMatrix(int a[][N], int m, int n)   
    {
        int i, j;
        printf("Input %d*%d matrix:\n", m, n);
        for (i=0; i<m; i++)
        {
            for (j=0; j<n; j++)
            {
                scanf("%d", &a[i][j]); 
            }
        }
    }
    /* 函数功能:输出n*m矩阵at的值 */
    void PrintMatrix(int at[][M], int n, int m)
    {
        int i, j;
        for (i=0; i<n; i++)
        {
            for (j=0; j<m; j++)
            {
                printf("%d\t", at[i][j]);
            }
            printf("\n"); 
        }
    }

    有一堆零件(100--200之间),如果分成4个零件一组的若干组,则多2个零件,如果分成7个零件一组的若干组,则多3个零件,如果分成9个零件一组的若干组,则多5个零件,编程计算这堆零件的总数。

    #include <stdio.h>
    int main()
    {
        int i;
        for (i = 100; i <= 200; i++)
            {
                if ( (i - 2) % 4 == 0)
                {
                    if ((i - 3) % 7 == 0)
                    {
                        if ((i - 5) % 9 == 0)
                                printf("%d\n", i);
                    }
                }
            }
        return 0;
    }

     

    展开全文
  • C#编程习题 以下有 18 道习题 (当然这并非全部的习题最后应该会多增加 2 共 20 )对于 这 20 道题目要求大家每道题目都能够做到看到题目不看其他参考材料的情况下能够 实现出来 期末考将会从中抽取三道题目 ...
  • JAVA基础编程练习题50题及经典算法90题【含源码及答案】
  • java编程练习题

    2013-05-23 17:10:38
    经典的Java练习题大全,更加适合初学者自学; 而且附带习题答案
  • C++ premiere plus 编程练习题答案系列(一) 第二章编程练习题答案 答案为博主学习过程原创,转载请注明出处 这篇没标题目序号但都是按照题目顺序写的,之后会改进,感谢大家支持

    C++ premiere plus 编程练习题答案系列(一)

    第二章编程练习题答案
    答案为博主学习过程原创,转载请注明出处
    这篇没标题目序号但都是按照题目顺序写的,之后会改进,感谢大家支持
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 您所在位置:网站首页 > 海量文档 > 计算机 > Pythonpython编程练习题和答案.doc3页本文档一共被下载:次,您可全文免费在线阅读后下载本文档。 下载提示1.本站不保证该用户上传的文档完整性,不...
  • JAVA 编程 练习题

    千次阅读 多人点赞 2018-06-17 22:39:57
    } } } 题目:利用条件运算符的嵌套来完成此:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。 import java.util.*; public class lianxi1 { public static void main(String[] ...
  • 刚入门的编程学者一定要多动手练习。本文搜集了50道经典的编程习题,入门学者建议一定要动手全部做一遍。 题目后面有提示。为了防止诸位偷懒,我把答案给删了。需要答案的,自己去网上搜,都是很经典的题目,所有的...
  • 每天5道Java基础编程练习题(一)

    千次阅读 2019-08-01 23:43:06
    每天5道Java基础编程练习题(一) 你好! 欢迎阅读,本系列面向Java基础基础学习阶段程序猿,每天5道基础编程,,帮助你慢慢培养编程思维,走进编程的世界(高手勿喷) 大量的注释让你更正确快速的阅读代码。 废话不...
  • Python编程练习题mooc

    千次阅读 2017-10-16 16:40:09
    (1)字符串拼接。用户输入两个字符串,将它们组合后输出。 【代码前面是行号,不需要输入】 str1 = input("请输入一个人的名字:") str2 = input("请输入一个国家名字:") print("世界这么大,{}想去{}看看。...
  • JAVA基础编程练习题--50道

    万次阅读 多人点赞 2011-08-01 15:23:23
    目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一 对兔子,假如兔子都不死,问每个月的兔子总数为多少? 刚开始真的无从下手,这么难的,怎么可以说是基础呢...
  • JAVA基础编程练习题50题及经典算法90题【含源码及答案】-史上最全
  • 409页C++练习题,涵盖了入门习题,提高习题,同时也包含了大量基础算法及一些链表、队列等算法习题,方便在入门C++的同时,对一些算法进行了解。
  • 每天5道Java基础编程练习题(四)

    千次阅读 多人点赞 2019-08-05 13:17:37
    每天5道Java基础编程练习题(四) 你好! 欢迎阅读,今天是第四天,本系列面向Java基础基础学习阶段程序猿,每天5道基础编程,希望能帮你慢慢培养编程思维,走进编程的世界(高手勿喷) 大量的注释让你更正确快速的...
  • MakeCode图形化编程语言学习笔记:micro:bit编程练习题[图]: 基础训练题: Q1:摇晃micro:bit编程板,随机出现7个小动物图标中的一个,并且前后相邻两次出现的小动物不重复。 注:七个小动物图标为鸭子、乌龟、蝴蝶...
  • C语言编程练习题_01韩信点兵

    千次阅读 2020-04-13 09:28:39
    C语言编程练习题_01韩信点兵 本系列的第一道题目,希望再接下来的工作学习中,能够保证一定的创作力。 相传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排、五人一排、七人一排地变换队形, ...
  • JAVA并发编程练习题

    千次阅读 2018-06-07 16:07:50
    前言 学了几天的多线程基础部分,书上的东西一看就懂,但是真的实践还是值得推敲的 题目 1、写一个程序,线程C在线程B后执行,线程B在线程A之后进行 package thread;... Thread threadA = new Thread...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 108,313
精华内容 43,325
关键字:

编程练习题