哈工大C语言实验题Word格式.docx
《哈工大C语言实验题Word格式.docx》由会员分享,可在线阅读,更多相关《哈工大C语言实验题Word格式.docx(42页珍藏版)》请在冰豆网上搜索。
当t≥27时,输出:
Toofat!
窗体底端
#include<
stdio.h>
stdlib.h>
main()
{
floatt,w,h;
printf("
);
scanf("
&
h,&
w);
t=w/(h*h);
if(t<
18)
elseif(t>
=18&
&
t<
25)
=25&
27)
else
return0;
}
Q586.(
10分)编写一个程序,输入年份和月份,判断该年是否是闰年,并根据给出的月份判断是什么季节和该月有多少天?
(闰年的条件是年份能被4整除但不能被100整除,或者能被400整除;
规定3~5月为春季,6~8月为夏季,9~11月为秋季,1、2和12月为冬季)。
**输入格式要求:
%d,%d"
提示信息:
Pleaseenteryear,month:
**输出格式要求:
%disleapyear\n"
%disnotleapyear\n"
Theseasonisspring/summer/autumn/winter"
Thenumberofdaysofthismonthis%d\n"
程序运行示例如下:
实例1:
2012,11
2012isleapyear
Theseasonisautumn
Thenumberofdaysofthismonthis30
实例2:
2013,12
2013isnotleapyear
Theseasoniswinter
Thenumberofdaysofthismonthis31
intyear=0,leap=0,mon=0,day=0;
year,&
mon);
if((year%100!
=0&
year%4==0)||(year%100==0&
year%400==0)){
year);
leap=1;
}
switch(mon)
case
1:
2:
case12:
Theseasoniswinter\n"
break;
3:
4:
5:
Theseasonisspring\n"
6:
7:
8:
Theseasonissummer\n"
9:
case10:
case11:
Theseasonisautumn\n"
day=31;
day=30;
if(leap==1)
day=29;
day=28;
day);
Q3161.(10分)请用elseif多分支条件判断语句编程设计一个简单的计算器程序。
要求:
(1)请用户按以下形式从键盘输入表达式:
操作数①运算符op操作数②
(2)然后计算表达式的值
**输入提示信息**:
无
**输入数据格式**:
%f%c%f"
**输出数据格式**:
%.2f%c%.2f=%.2f\n"
若若输入的运算符是除法运算符/,当除数为0时,输出数据格式为:
datis0!
Error!
若输入的运算符不是加(+)、减(-)、乘(*)、除(/),则输出数据格式为:
[友情提示]:
①用户输入的运算符为算术运算符:
加(+)、减(-)、乘(*)、除(/)。
用字符变量op表示;
②操作数①和操作数②为浮点型数据,分别用浮点型变量dat1、dat2表示。
③程序运行结果如下所示:
1+2↙
1.00+2.00=3.00
floata=0,b=0;
charop;
a,&
op,&
b);
if(op=='
+'
)
a,op,b,a+b);
elseif(op=='
-'
a,op,b,a-b);
*'
a,op,b,a*b);
/'
){
if(b!
=0)
a,op,b,a/b);
Q3185.(10分)实验二(2016春刘秉权C语言课):
根据输入的百分制成绩score,转换成相应的五分制成绩grade后输出。
转换规则为(要求用switch语句实现):
当score大于等于90且小于等于100时,grade=A;
当score大于等于80且小于90时,grade=B;
当score大于等于70且小于80时,grade=C;
当score大于等于60且小于70时,grade=D;
当score大于等于0且小于60时,grade=E。
格式要求:
输入提示:
Pleaseenterscore:
输出形式形如:
100--A"
、"
75--C"
0--E"
当输入分数不正确时,输出:
Inputerror!
#include<
ints,m;
%d"
s);
m=s<
0||s>
100?
-1:
s/10;
switch(m)
%d--A\n"
s);
%d--B\n"
%d--C\n"
%d--D\n"
0:
%d--E\n"
default:
Q221.(10分)编程从键盘输入某年某月(包括闰年),用switch语句编程输出该年的该月拥有的天数。
要求考虑闰年以及输入月份不在合法范围内的情况。
已知闰年的2月有29天,平年的2月有28天。
%d,%d"
Inputyear,month:
31days\n"
29days\n"
28days\n"
2004,2
29days
inta,b;
%4d,%2d"
&
a,&
switch(b)
30days\n"
if((a%4==0&
a%100!
=0)||a%400==0)
Q210.(10分)第7章实验任务1:
所谓素数是指这个数只能被1和自身整除。
要求在主函数输入一个数,
调用函数Fun()判断该数是否是素数。
打印信息在主函数中进行。
例如:
从键盘输入5,5是素数则打印如下信息:
5isaprimenumber"
.
又如:
从键盘输入4,4不是素数则打印如下信息:
4isnotaprimenumber"
负数、0和1均不是素数。
对输入的数据要考虑数据的合法性,不满足条件的数
要重新输入直到满足条件为止。
不能使用全局变量,不按给定的函数原型编写程序
不给分。
Fun()函数原型如下:
intFun(intm);
**输入数据提示信息:
Pleaseinputanumber:
注:
该提示信息请放在循环体外
**输入数据格式为:
若是素数输出数据格式为:
%disaprimenumber\n"
若不是素数输出数据格式为:
"
%disnotaprimenumber\n"
intFun(intm);
inta;
while(scanf("
a))
if(a<
=0||a==1)
continue;
elseif(a>
0&
a!
=1&
Fun(a)==1)
a);
a);
intFun(intm)
inti,result;
result=1;
if(m!
=2)
for(i=2;
i<
m;
i++)
if(m%i==0)
result=0;
returnresult;
Q1709.(10分)第6章实验1:
国王的许诺
相传国际象棋是古印度舍罕王的宰相达依尔发明的。
舍罕王十分喜欢象棋,决定让宰相自己选择何种赏赐。
这位聪明的宰相指着8×
8共64格的象棋盘说:
陛下,请您赏给我一些麦子吧,就在棋盘的第1个格子中放1粒,第2格中放2粒,第3格中放4粒,以后每一格都比前一格增加一倍,依此放完棋盘上的64个格子,我就感恩不尽了。
舍罕王让人扛来一袋麦子,他要兑现他的许诺。
请问:
国王能兑现他的许诺吗?
试编程计算舍罕王共要多少麦子赏赐他的宰相,这些麦子合多少立方米(已知1立方米麦子约1.42e8粒)?
(1)不能使用指针、结构体、共用体、文件、goto、枚举类型进行编程。
(2)用标准C语言编程,所有变量必须在第一条可执行语句前定义。
(3)输入输出格式要和以下给定格式完全一致。
**输入格式:
**输出格式:
sum=%e\n"
volum=%e\n"
%e表示double类型
math.h>
inti;
doubles,v;
s=0;
for(i=0;
=63;
s=s+pow(2,i);
v=s/1.42e8;
s);
v);
Q1719.(10分)第7章实验任务3
从键盘任意输入一个整数n,编程计算并输出1~n之间的所有素数之和
输入提示信息:
Inputn:
输入格式:
输出格式:
sum=%d\n"
intn,i,s;
s=0;
n);
for(i=2;
i<
=n;
i++)
if(Fun(i)==1)
s=s+i;
Q1720.(10分)第7章实验任务6
从键盘任意输入一个整数m,若m不是素数,则对m进行质因数分解,并将m表示为质因数从小到大顺序排列的乘积形式输出,否则输出"
Itisaprimenumber"
。
例如,用户输入90时,程序输出90=2*3*3*5;
用户输入17时,程序输出"
Inputm:
是素数时输出"
Itisaprimenumber\n"
否则输出用"
%d="
,"
%d*"
运行示例1:
90↙
90=2*3*3*5
运行示例2:
13↙
Itisaprimenumber
intIsPerfect(intm);
intm,i,p;
m);
p=m;
if(Fun(m)==1)
p