c语言机试经典编程题重点资料_精品文档Word文档下载推荐.doc
《c语言机试经典编程题重点资料_精品文档Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《c语言机试经典编程题重点资料_精品文档Word文档下载推荐.doc(47页珍藏版)》请在冰豆网上搜索。
![c语言机试经典编程题重点资料_精品文档Word文档下载推荐.doc](https://file1.bdocx.com/fileroot1/2022-10/6/ec6bae5c-7147-498c-b212-43f2a4253ba1/ec6bae5c-7147-498c-b212-43f2a4253ba11.gif)
\n"
);
scanf("
%d"
&
m);
请选择获奖情况:
1获奖;
2未获奖\n"
n);
switch(n){
case1:
m=m+5;
break;
case2:
m;
}
if(m>
100)
m=100;
你的最终成绩为:
%d\n"
m);
2.编写一个程序,用户输入年份及月份两个数据,程序输出该月份的天数。
(提示:
对2月要考虑是否闰年,闰年年份要么能被4整除且不能被100整除,要么能被400整除,除此之外都不是闰年)。
#include<
intyear,a;
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
这个月有28天\n"
}
else
printf("
这个月有30天\n"
}
3.求一元二次方程ax2+bx+c=0的根。
(要考虑a、b、c三个系数不同的取值)
math.h>
floata,b,c,d;
请输入一元二次方程的三个系数a,b,c:
%f%f%f"
a,&
b,&
c);
if(a!
=0){
d=b*b-4*a*c;
if(d>
0)
x1=%f,x2=%f"
(-b+sqrt(d))/2*a,(-b-sqrt(d)/2*a));
else
if(d==0)
x1=x2=%f"
(-b)/2*a);
x1=%f+%fi,x2=%f-%fi"
-b/2*a,sqrt(-d)/2*a,-b/2*a,sqrt(-d)/2*a);
if(b!
=0)
x=%f\n"
-c/b);
if(c==0)
0=0!
%f=0矛盾\n"
c);
4.学校曾经组织一次“程序设计大奖赛”,规定本学期“程序设计”课程的成绩可以根据大奖赛的成绩适度加分。
加分规则是:
参赛者加5分,三等奖加15分,二等奖加20分,一等奖加30分,总分不超过100分。
编程序,输入某同学的考试成绩,回答在竞赛中获奖等级,计算并输出该某同学的程序设计课成绩。
inta,b;
请输入你的考试成绩:
请选择你程序设计情况:
0未参加1参赛2三等奖3二等奖4一等奖\n"
b);
switch(b){
case0:
a=a+5;
a=a+15;
case3:
a=a+20;
case4:
a=a+30;
if(a>
a=100;
a);
5.高速公路每公里的收费标准按不同种类汽车如下:
小汽车(car)0.50元
卡车(truck)1.00元
大客车(bus)1.50元
编程序,为某高速公路收费站计算各种车辆的收费额。
floata,c;
intb;
请选择车辆类型:
1小汽车;
2卡车;
3大客车\n"
请输入车辆行驶的公里数:
%f"
\
c=0.5*a;
c=1.0*a;
c=1.5*a;
收费额为:
%3f元"
6.设计一个模拟单步计算器的程序,设该计算器只能作加、减、乘、除运算。
用户输入形如
m#n
的算式,其中m、n为运算数,#为运算符。
(需考虑运算符不合法,及除数为0的情况)
floatm,n;
charch;
请输入运算式:
m#n\n"
%f%c%f"
m,&
ch,&
if((ch!
='
+'
)&
(ch!
-'
*'
/'
))
您输入的运算符不合法!
{switch(ch){
case'
:
%2f"
m+n);
m-n);
m*n);
{if(n!
printf("
m/n);
else
printf("
分母为0无意义!
}}
7.编写程序,输入一个4位自然数n,判断n是否是降序数。
降序数是指对于n=d1d2…dk有:
d1≥d2≥…≥dk
intn,a,b,c,d;
请输入一个四位自然数:
a=n/1000;
b=n%1000/100;
c=n%100/10;
d=n%10;
if(a>
b&
b>
c&
c>
d)
该四位数为降序数!
该四位数不是降序数!
8.编写程序,输入一个5位自然数n,判断n是否对称数。
对称数是指正序和反序读都相等的整数,如96769为对称数。
intn,a,b,c,d,e;
请输入一个五位数:
a=n/10000;
b=n%10000/1000;
c=n%1000/100;
d=n%100/10;
e=n%10;
if((a==e)&
(b==d))
该五位数为对称数"
该五位数不是对称数"
9.编写程序,判断给定的3位数是否为Armstrong数。
Armstrong数是指其值等于它每位数字立方和的数,如153就是一个Armstrong数。
intn,a,b,c;
请输入一个三位数:
a=n/100;
b=n%100/10;
c=n%10;
if(n==a*a*a+b*b*b+c*c*c)
该三位数为armstrong数"
该三位数不是armstrong数"
10.编写程序,输入一个整数,判断它能否被3、5、7整数,并输出如下信息。
(1)能同时被3、5、7整数。
(2)能同时被两个数整数,并指明是被哪两个数整除。
(3)能被一个数整数,并指明这是哪个数。
(4)不能被所有3个数整除。
intx;
请输入一个整数x:
x);
if((x%3==0)&
(x%5==0)&
(x%7==0))
%d能同时被3、5、7整数\n"
x);
if((x%3!
=0)&
%d能同时被5、7整数\n"
(x%5!
%d能同时被3、7整数\n"
(x%7!
=0))
%d能同时被3、5整数\n"
%d能被7整数\n"
%d能被3整数\n"
%d能被5整数\n"
%d不能被3、5、7整除\n"
11.邮局寄包裹的费用是根据包裹的重量来收取的。
一个重量为2kg或低于2kg的包裹收取3.25元。
高于2kg的包裹,超出部分每千克收取1.05元,超出部分不足1kg按1kg计算。
因此如果发件人发送重达5.63kg的包裹,就需要缴纳7.45元。
编写程序,输入包裹的重量,计算并输出发件人须缴纳的费用。
(笔记本调试不成功)
inta;
请输入包裹的重量:
if(m<
=2)
n=3.25;
else{
a=m/1;
if(m-