c语言机试经典编程题重点资料Word下载.docx
- 文档编号:17215929
- 上传时间:2022-11-29
- 格式:DOCX
- 页数:37
- 大小:31.52KB
c语言机试经典编程题重点资料Word下载.docx
《c语言机试经典编程题重点资料Word下载.docx》由会员分享,可在线阅读,更多相关《c语言机试经典编程题重点资料Word下载.docx(37页珍藏版)》请在冰豆网上搜索。
(2){
((40)(1000)(4000))
("
这个月有29天\n"
这个月有28天\n"
}
("
这个月有30天\n"
}
3.求一元二次方程20的根。
(要考虑a、b、c三个系数不同的取值)
请输入一元二次方程的三个系数:
(0){
*4*a*c;
(d>
0)
x12"
((d))/2*a,((d)/2*a));
(0)
()/2*a);
2*()/2*2*()/2*a);
0=0!
0矛盾\n"
4.学校曾经组织一次“程序设计大奖赛”,规定本学期“程序设计”课程的成绩可以根据大奖赛的成绩适度加分。
加分规则是:
参赛者加5分,三等奖加15分,二等奖加20分,一等奖加30分,总分不超过100分。
编程序,输入某同学的考试成绩,回答在竞赛中获奖等级,计算并输出该某同学的程序设计课成绩。
请输入你的考试成绩:
请选择你程序设计情况:
0未参加1参赛2三等奖3二等奖4一等奖\n"
(b){
0;
15;
215;
320;
430;
(a>
100;
5.高速公路每公里的收费标准按不同种类汽车如下:
小汽车()0.50元
卡车()1.00元
大客车()1.50元
编程序,为某高速公路收费站计算各种车辆的收费额。
b;
请选择车辆类型:
1小汽车;
2卡车;
3大客车\n"
请输入车辆行驶的公里数:
\
10.5*;
21.0*;
31.5*a;
收费额为:
%3f元"
6.设计一个模拟单步计算器的程序,设该计算器只能作加、减、乘、除运算。
用户输入形如
的算式,其中m、n为运算数,#为运算符。
(需考虑运算符不合法,及除数为0的情况)
请输入运算式:
(('
+'
)('
-'
*'
/'
))
您输入的运算符不合法!
{(){
'
%2f"
*n);
:
{(0)
("
分母为0无意义!
}}
7.编写程序,输入一个4位自然数n,判断n是否是降序数。
降序数是指对于1d2…有:
d1≥d2≥…≥
请输入一个四位自然数:
1000;
1000/100;
100/10;
10;
(a>
d)
该四位数为降序数!
该四位数不是降序数!
8.编写程序,输入一个5位自然数n,判断n是否对称数。
对称数是指正序和反序读都相等的整数,如96769为对称数。
请输入一个五位数:
10000;
10000/1000;
(()())
该五位数为对称数"
该五位数不是对称数"
9.编写程序,判断给定的3位数是否为数。
数是指其值等于它每位数字立方和的数,如153就是一个数。
请输入一个三位数:
(*a**b**c*c)
该三位数为数"
该三位数不是数"
10.编写程序,输入一个整数,判断它能否被3、5、7整数,并输出如下信息。
(1)能同时被3、5、7整数。
(2)能同时被两个数整数,并指明是被哪两个数整除。
(3)能被一个数整数,并指明这是哪个数。
(4)不能被所有3个数整除。
x;
请输入一个整数x:
((30)(50)(70))
能同时被3、5、7整数\n"
能同时被5、7整数\n"
能同时被3、7整数\n"
能同时被3、5整数\n"
能被7整数\n"
能被3整数\n"
能被5整数\n"
不能被3、5、7整除\n"
11.邮局寄包裹的费用是根据包裹的重量来收取的。
一个重量为2或低于2的包裹收取3.25元。
高于2的包裹,超出部分每千克收取1.05元,超出部分不足1按1计算。
因此如果发件人发送重达5.63的包裹,就需要缴纳7.45元。
编写程序,输入包裹的重量,计算并输出发件人须缴纳的费用。
(笔记本调试不成功)
a;
请输入包裹的重量:
(m<
=2)
3.25;
{
1;
3.25+
(2)*1.05;
3.25+
(1)*1.05;
您需缴纳的费用为:
元"
12.一个临时照顾孩子的人的收费标准是:
18:
00到21:
30间每小时2元,21:
30到午夜间每小时4元,18:
00以前和午夜以后不照顾孩子。
编写程序,输入开始时间和结束时间,计算并输出某一个雇工的薪酬。
程序应检查无效的开始和结束时间。
请输入工作的起止时间:
(n<
=18>
24<
18>
24)
输入的时间无效!
=18<
=21.5)
()*2;
21.5>
21.5)
(21.5)*2+(21.5)*4;
()*4;
您获得的钱数为元\n"
13.编写程序,按下述公式求自然对数底e的近似值。
15
n;
1.0;
(r>
){
;
14.编写程序,统计以100位结束符的整数输入流中-1、0、1的出现次数并将其输出。
0;
请输入一个整数:
(100){
(1);
(0);
整数流中出现1次\n"
整数流中出现0次\n"
整数流中出现-1次\n"
15.编写程序,打印“99乘法表”
11
224
3369
4481216
5510152025
661218243036
77142128354249
8816243240485664
991827364554637281
*123456789
(1<
10){
%4d"
)
*j);
%4c"
'
=9)
16.编写程序,打印200以内的素数,要求每行输出10个数。
(2<
200){
(2>
()
{("
%d"
(100)
17.编写程序,输出如下序列的前50项,此序列的第一项为0;
第二项为1;
以后的奇数项为其前两项之和;
偶数项为其前两项之差。
要求每行输出10个数。
%55d"
(3<
=50){
(20)
%7d"
18.编写程序,输入正整数N,计算r12…!
并输出。
其中1r2…。
请输入正整数:
(u<
*u;
19.完数问题:
若有一数,其值等于它的因子之和,则该数称为完数。
例如,6的因子为1、2、3,而6=1+2+3,故6是完数。
编程输出1000之内的所有完数及其因子。
1000){
=1)
"
因子为:
2)
20.把一张1元钞票换成1分、2分和5分的硬币,每种至少有1枚,问有多少种换法?
=10)
=5)
(2*5*10)
21.斐波那契()数列问题:
数列递归定义为:
x0=0,
x1=1,
11,2,3,…
即从第二项开始,数列中的每一个元素等于前面两个元素之和。
编程输出前20项数。
(提示可以用递归或迭代两种方式编程)
答案:
[20];
0"
1"
=20)
{a[0]=0;
a[1]=1;
a[i][2][1];
[i]);
另解:
()
f123;
f1=02=1;
1);
2);
(1<
=18)
{f312;
f12;
f23;
3);
22.公鸡5元1只,母鸡3元1只,小鸡1元3只,花了100元钱买100只鸡,问公鸡、母鸡、小鸡各多少只?
=33)
=993)
(1005*3*3100)
公鸡;
母鸡;
小鸡\n"
23.编写程序,用循环语句控制打印如图所示的字符图形。
ABCDEFGHI
BCDEFGHIA
CDEFGHIAB
DEFGHIABC
EFGHIABCD
ABCDEFGHI
('
A'
='
E'
{(<
I'
%c"
1)
D'
(<
24.编写程序,打印如下图所示的图形
1
121
12321
1234321
123454321
12345654321
1234567654321
123456787654321
12345678987654321
1234567890987654321
{(9>
(>
(9>
25.验证哥德巴赫猜想:
任意一个大偶数都可以分解为两个素数之和。
用户输入一个大于6的偶数,程序计算并输出分解结果。
26.编写一个程序解决爱因斯坦台阶问题:
有人走以台阶,若以每步走2级则最后剩1级;
若每步走3级则最后剩2级;
若以每步走4级则最后剩3级;
若以每步走5级则最后剩4级;
若以每步走6级则最后剩5级;
若以每步走7级则最后刚好不剩。
问台阶共有几级?
27.编写程序,输出所有小于100的可以被11整除的自然数,以及这些数之和。
{(110)
和为:
28.一辆汽车装满油料可以行驶300。
从存放有n车油料的油库出发,通过在途中建立加油站的方法,它可以行驶
千米。
编写程序,给定L以计算n。
29.编写函数,判定它的4个整型参数中是否有两个数的值相等。
主函数读入4个数,调用该函数,输出判定结果。
y(d){
存在俩个参数相等\n"
不存在俩个参数相等\n"
请输入四个参数:
y();
30.编写以一个函数(n),求任意4位整数的逆序数。
如2637时,函数返回值是7362。
主函数读入一个整数,判断其合法性,调用函数得到结果输出。
(n){
*1000*100*10;
s;
请输入一个四位数:
(i<
1000>
9999)
您输入的数据有误!
(i);
逆序数为:
31.编写程序,输入m、n的值计算并输出
要求编写一函数f()求正整数的阶乘。
f(){
*i;
j;
请输入的值:
(m);
();
(n);
(b*c);
32.下面是一个有效的计算的方法。
初始化:
当0时,重复计算:
若m是奇数,则令
*;
1;
否则,令
*;
2;
重复计算至0
结果为
编写函数(x,n)实现上述算法,主函数读入x和n,调用函数得到返回值输出。
(20){
*;
{*;
2;
}
请输入:
33.编写函数,以两个正整数位参数,如果这两个数是友好的,返回,否则返回。
如果这两个整数的约数之和(除了它本身之外)等于对方,就称这对数是友好的。
例如,1184和1210
1184的约数之和为1+2+4+8+16+32+74+148+296+592=1210
1210的约束之和为1+5+10+11+22+55+110+121+242+605=1184
(答案不正确,需修改,问题可能出在上)
f(n){
请输入两个正整数:
这两个数是友好的"
这两个数不是友好的"
34.编写程序计算调和级数的前N项和。
要求结果是一个准确的分数形式。
110;
{*b;
}(b<
(0){
;
n:
f(n);
}
35.编写程序,输入n个整数,用“主元排序”法,将其升序排序(从小到大)输出。
n10
[n];
请输入十个数据:
(0<
9){
10)
(a[k]<
a[j])
[i];
a[i][j];
a[j];
36.编写一个程序,输入全班同学某门课考试成绩,计算平均成绩并统计大于等于平均成绩的人数。
批量数据通常不事先规定输入的数据数量,而是以一个特殊的标志作为输入结束。
程序根据结束标志统计人数)
37.打印杨辉三角形的前10行
1
11
1331
14641
15101051
……
w6
a[11];
a[i]=1;
(1>
a[j][1][j];
=40*
(2))
%6d"
[j]);
a[11][11];
b[j][j];
38.编写程序,输入n个整数,用“冒泡排序”法,将其升序排序(从小到大)输出。
a[n];
请输入全部数据:
1){
(a[j]>
a[1]){
[j];
a[j][1];
a[1];
顺序为:
39.编写程序,输入n个整数,用“逐步增加递增子序列”法(或称插入排序),将其升序排序(从小到大)输出。
(a[]){
1;
((a[j]>
a[i])(j>
=0))
1;
[i];
(1>
a[1][k];
a[1];
a[10];
(0<
(a[i]));
(10);
40.编程实现二分查找算法。
设数组以按升序排序,“对半检索”亦称“两分法检索”。
在检索过程中用到三个变量:
:
记录检索区间下界,初值是0;
记录检索区间上界,初值是1;
j:
标记当前检索位置。
检索思想令()/2
⏹[j]:
找到,位置为j;
函数返回j
⏹<
a[j]:
在a[]与a[j]之间
检索区间缩小一半1
⏹>
在a[j]与a[]之间,
检索区间缩小一半1
重复上述过程。
重复的终止条件为
0,表示未找到,返回-1。
要求编写一函数(n,a[],)其中n为数组长度、a为一维数组、为要查找的关键字,若找到,函数返回对应的数组下标,未找到返回-1。
主函数读入一数组,先调用排序函数(a[],n)(排序算法任选)对数组排序,然后调用搜索函数,输出搜索结果。
(0<
(a[i]>
[i];
a[i][1];
a[1];
;
(a[]){
(>
=0){
()/2;
([j])
j;
(>
-1;
[10];
请输入10个数:
请输入你要检索的数:
对应数组下表为"
(10)+1);
41.编写函数,对给定的数组组成的序列排序输出,并输出每个数组元素在排序之前的序号。
设函数为(a[],b[],n)其中a中存放要排序的数组元素,b存放其排序前的序号,n为数组长度。
主函数读入数组a,并给数组元素置序号(为简单起序号从0至1)。
调用函数结束后,分别输出数组a、b个元素值。
a[][];
42.编写一个函数,把给定的一维数组的诸元素循环右移j位。
要求编写主函数,读入数组,调用函数,然后输出移位后的数组各元素。
[n]={1,2,3,4,5,6,7,8,9,10}[n];
请输入元素循环右移的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 经典 编程 重点 资料