c语言机试经典编程题重点.docx

上传人:b****2 文档编号:2155953 上传时间:2022-10-27 格式:DOCX 页数:37 大小:27.63KB
下载 相关 举报
c语言机试经典编程题重点.docx_第1页
第1页 / 共37页
c语言机试经典编程题重点.docx_第2页
第2页 / 共37页
c语言机试经典编程题重点.docx_第3页
第3页 / 共37页
c语言机试经典编程题重点.docx_第4页
第4页 / 共37页
c语言机试经典编程题重点.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

c语言机试经典编程题重点.docx

《c语言机试经典编程题重点.docx》由会员分享,可在线阅读,更多相关《c语言机试经典编程题重点.docx(37页珍藏版)》请在冰豆网上搜索。

c语言机试经典编程题重点.docx

c语言机试经典编程题重点

本学期《程序设计基础》课程实行上机考核,现将考核有关事项通知如下:

(1)考核时间:

本学期最后一次上机时间为机试。

(2)考核内容:

主要是算法设计与实现。

考题来自本学期布置的作业、例题及一些补充的题目。

(3)考试形式:

机试前进入机房时,每人随机抽取一道题(同一个组的同学保证不抽到同一题),然后上机编程,调试通过后报告监考人员审核,审核通过后将源程序拷贝到监考人员U盘上,然后可以离开机房。

源程序文件明必须是“学号姓名.cpp”,如“王梓丞.cpp”。

  

(4)考试要求:

机试时考试规则同课堂考试一致,不允许带书、纸张等。

不能携带任何可用计算机处理的软件或数据(不允许任何私人携带的U盘、磁盘或计算器),不能携带任何类型的通讯工具,包括无线电接收器、移动电话。

(5)考试成绩:

本次机试成绩将在《程序设计基础》课程成绩中占25%的比重。

(6)其它有关事项由主考教师和监考人员负责处理。

附:

考试题集

1.学校曾经组织一次“程序设计大奖赛”,规定本学期“程序设计”课程的成绩可以因为在大奖赛上获奖而加5分,总分不超过100分。

编程序,输入某同学的考试成绩,回答是否在竞赛中获奖,计算并输出该某同学的程序设计课成绩。

#include

voidmain(){

intm,n;

printf("请输入考试成绩:

\n");

scanf("%d",&m);

printf("请选择获奖情况:

1获奖;2未获奖\n");

scanf("%d",&n);

switch(n){

case1:

m=m+5;break;

case2:

m;

}

if(m>100)

m=100;

printf("你的最终成绩为:

%d\n",m);

}

2.编写一个程序,用户输入年份及月份两个数据,程序输出该月份的天数。

(提示:

对2月要考虑是否闰年,闰年年份要么能被4整除且不能被100整除,要么能被400整除,除此之外都不是闰年)。

#include

intyear,a;

voidmain(){

printf("请输入年份月份:

");

scanf("%d%d",&year,&a);

if(a==1||a==3||a==5||a==7||a==8||a==10||a==12)

printf("这个月有31天\n");

else{

if(a==2){

if((year%4==0)&&(year%100!

=0)||(year%400==0))

printf("这个月有29天\n");

else

printf("这个月有28天\n");

}

else

printf("这个月有30天\n");

}

}

3.求一元二次方程ax2+bx+c=0的根。

(要考虑a、b、c三个系数不同的取值)

#include

#include

voidmain(){

floata,b,c,d;

printf("请输入一元二次方程的三个系数a,b,c:

\n");

scanf("%f%f%f",&a,&b,&c);

if(a!

=0){

d=b*b-4*a*c;

if(d>0)

printf("x1=%f,x2=%f",(-b+sqrt(d))/2*a,(-b-sqrt(d)/2*a));

else

if(d==0)

printf("x1=x2=%f",(-b)/2*a);

else

printf("x1=%f+%fi,x2=%f-%fi",-b/2*a,sqrt(-d)/2*a,-b/2*a,sqrt(-d)/2*a);

}

else

if(b!

=0)

printf("x=%f\n",-c/b);

else

if(c==0)

printf("0=0!

\n");

else

printf("%f=0矛盾\n",c);

}

4.学校曾经组织一次“程序设计大奖赛”,规定本学期“程序设计”课程的成绩可以根据大奖赛的成绩适度加分。

加分规则是:

参赛者加5分,三等奖加15分,二等奖加20分,一等奖加30分,总分不超过100分。

编程序,输入某同学的考试成绩,回答在竞赛中获奖等级,计算并输出该某同学的程序设计课成绩。

#include

voidmain(){

inta,b;

printf("请输入你的考试成绩:

\n");

scanf("%d",&a);

printf("请选择你程序设计情况:

0未参加1参赛2三等奖3二等奖4一等奖\n");

scanf("%d",&b);

switch(b){

case0:

break;

case1:

a=a+5;break;

case2:

a=a+15;break;

case3:

a=a+20;break;

case4:

a=a+30;}

if(a>100)

a=100;

printf("你的最终成绩为:

%d",a);

}

5.高速公路每公里的收费标准按不同种类汽车如下:

小汽车(car)0.50元

卡车(truck)1.00元

大客车(bus)1.50元

编程序,为某高速公路收费站计算各种车辆的收费额。

#include

voidmain(){

floata,c;

intb;

printf("请选择车辆类型:

1小汽车;2卡车;3大客车\n");

scanf("%d",&b);

printf("请输入车辆行驶的公里数:

\n");

scanf("%f",&a);\

switch(b){

case1:

c=0.5*a;break;

case2:

c=1.0*a;break;

case3:

c=1.5*a;

}

printf("收费额为:

%3f元",c);

}

6.设计一个模拟单步计算器的程序,设该计算器只能作加、减、乘、除运算。

用户输入形如

m#n

的算式,其中m、n为运算数,#为运算符。

(需考虑运算符不合法,及除数为0的情况)

#include

voidmain(){

floatm,n;

charch;

printf("请输入运算式:

m#n\n");

scanf("%f%c%f",&m,&ch,&n);

if((ch!

='+')&&(ch!

='-')&&(ch!

='*')&&(ch!

='/'))

printf("您输入的运算符不合法!

\n");

else

{switch(ch){

case'+':

printf("%2f",m+n);break;

case'-':

printf("%2f",m-n);break;

case'*':

printf("%2f",m*n);break;

case'/':

{if(n!

=0)

printf("%2f",m/n);

else

printf("分母为0无意义!

\n");}}

}

}

7.编写程序,输入一个4位自然数n,判断n是否是降序数。

降序数是指对于n=d1d2…dk有:

d1≥d2≥…≥dk

#include

voidmain(){

intn,a,b,c,d;

printf("请输入一个四位自然数:

\n");

scanf("%d",&n);

a=n/1000;

b=n%1000/100;

c=n%100/10;

d=n%10;

if(a>b&&b>c&&c>d)

printf("该四位数为降序数!

\n");

else

printf("该四位数不是降序数!

\n");

}

8.编写程序,输入一个5位自然数n,判断n是否对称数。

对称数是指正序和反序读都相等的整数,如96769为对称数。

#include

voidmain(){

intn,a,b,c,d,e;

printf("请输入一个五位数:

\n");

scanf("%d",&n);\

a=n/10000;

b=n%10000/1000;

c=n%1000/100;

d=n%100/10;

e=n%10;

if((a==e)&&(b==d))

printf("该五位数为对称数");

else

printf("该五位数不是对称数");

}

9.编写程序,判断给定的3位数是否为Armstrong数。

Armstrong数是指其值等于它每位数字立方和的数,如153就是一个Armstrong数。

#include

voidmain(){

intn,a,b,c;

printf("请输入一个三位数:

\n");

scanf("%d",&n);

a=n/100;

b=n%100/10;

c=n%10;

if(n==a*a*a+b*b*b+c*c*c)

printf("该三位数为armstrong数");

else

printf("该三位数不是armstrong数");

}

10.编写程序,输入一个整数,判断它能否被3、5、7整数,并输出如下信息。

(1)能同时被3、5、7整数。

(2)能同时被两个数整数,并指明是被哪两个数整除。

(3)能被一个数整数,并指明这是哪个数。

(4)不能被所有3个数整除。

#include

voidmain(){

intx;

printf("请输入一个整数x:

");

scanf("%d",&x);

if((x%3==0)&&(x%5==0)&&(x%7==0))

printf("%d能同时被3、5、7整数\n",x);

if((x%3!

=0)&&(x%5==0)&&(x%7==0))

printf("%d能同时被5、7整数\n",x);

if((x%3==0)&&(x%5!

=0)&&(x%7==0))

printf("%d能同时被3、7整数\n",x);

if((x%3==0)&&(x%5==0)&&(x%7!

=0))

printf("%d能同时被3、5整数\n",x);

if((x%3!

=0)&&(x%5!

=0)&&(x%7==0))

printf("%d能被7整数\n",x);

if((x%3==0)&&(x%5!

=0)&&(x%7!

=0))

printf("%d能被3整数\n",x);

if((x%3!

=0)&&(x%5==0)&&(x%7!

=0))

printf("%d能被5整数\n",x);

if((x%3!

=0)&&(x%5!

=0)&&(x%7!

=0))

printf("%d不能被3、5、7整除\n",x);

}

11.邮局寄包裹的费用是根据包裹的重量来收取的。

一个重量为2kg或低于2kg的包裹收取3.25元。

高于2kg的包裹,超出部分每千克收取1.05元,超出部分不足1kg按1kg计算。

因此如果发件人发送重达5.63kg的包裹,就需要缴纳7.45元。

编写程序,输入包裹的重量,计算并输出发件人须缴纳的费用。

(笔记本调试不成功)

#include

voidmain(){

floatm,n;

inta;

printf("请输入包裹的重量:

\n");

scanf("%f",&m);

if(m<=2)

n=3.25;

else{

a=m/1;

if(m-a==0)

n=3.25+(a-2)*1.05;

else

n=3.25+(a-1)*1.05;

}

printf("您需缴纳的费用为:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1