C语言第四章Word文档下载推荐.docx
《C语言第四章Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言第四章Word文档下载推荐.docx(11页珍藏版)》请在冰豆网上搜索。
max=b;
printf("
Themaxnumberis%d"
max);
getch();
}
当输入三个数1,2,3后的运行结果如下:
5、从键盘输入一个小于1000的正数,要求输出他的平方根(如平方根不是整数,则输出其整数部分)。
要求在输入数据后先对其进行检查是否为小于1000的正数,若不是则要求重新输入。
解析:
首先对输入的数x进行检查是否满足:
1000>
x>
0如果不满足则输出提示信息并要求重新输入,若满足则输出其平方根,如平方根不是整数,则输出其整数部分。
math.h>
main(){
floatx;
Placeinputanumberbetween0and1000\n"
);
%f"
x);
if(1000>
1e-10)
printf("
%2.0f\n"
sqrt(x));
else
{
Pleaseretype\n"
);
}
pressanykey..."
输入990时程序执行结果如下:
输入1200时的执行结果如下:
6、有一个函数:
x(x<
1)
y=2x-1(1≤x<
10)
3x-11(x≥10)
写程序,输入x的值,输出y对应的值。
floatx;
placeinputx:
\n"
scanf("
if(x<
y=%2.1f\n"
x);
if(10>
=1)
2*x-1);
if(x>
=10)
3*x-11);
getch();
X=0时的运行结果为:
X=9时的运行结果为:
X=50时的运行结果为:
8、给出一个百分制成绩,要求输出成绩等级为‘A’、‘B’、‘C’、‘D’、‘E’。
90分以上为A,80-89分为‘B’、70~79分为‘C’、60~69分为‘D’、60分一下为’E’。
intmain(){
intgrade,c;
placeinputthegrade:
%d"
grade);
c=grade/10;
thisgread'
srankis:
"
switch(c){
case9:
A\n"
break;
case8:
B\n"
case7:
C\n"
case6:
D\n"
default:
E\n"
perssanykey..."
当输入成绩为66时的运行结果为:
当输入成绩为10时的运行结果为:
9、给一个不多于5位的正整数,要求:
①求出它是几位数;
②分别输出每一位数;
③按照逆序输出各位数字,例如原来为123,应输出321;
程序如下:
intx,a,b,c,d,e;
placeinputaintnumberx(x<
100000):
\n"
if(x/10==0){
Thisisanumberof1\n"
Everyfiguresare:
"
%d\n"
Inordertocounteroutput:
elseif(x/100==0){
b=x/10;
a=x-10*b;
Thisisanumberof2\n"
%d,%d\n"
b,a);
%d%d\n"
a,b);
elseif(x/1000==0){
c=x/100;
b=(x-100*c)/10;
a=x-100*c-10*b;
Thisisanumberof3\n"
%d,%d,%d\n"
c,b,a);
%d%d%d\n"
a,b,c);
else{
d=x/1000;
c=(x-1000*d)/100;
b=(x-1000*d-100*c)/10;
a=x-1000*d-100*c-10*b;
Thisisanumberof4\n"
%d,%d,%d,%d\n"
d,c,b,a);
%d%d%d%d\n"
a,b,c,d);
pressanykey..."
输入x=1234时的运行结果如下:
输入x=9时的运行结果如下:
10、企业发放的奖金根据利益提成…
(1)用if语句编写程序;
floati,j;
placeinputmarginI:
i);
if(100000>
=i>
0)
j=0.1*i;
elseif(200000>
100000)
j=10000+(i-100000)*0.075;
elseif(400000>
200000)
j=17500+(i-200000)*0.05;
elseif(600000>
400000)
j=27500+(i-400000)*0.03;
elseif(1000000>
600000)
j=33500+(i-600000)*0.015;
j=39500+(i-1000000)*0.01;
thegrodeis%f\n"
j);
pressnaykey..."
输入利润为90000时的运行结果如下:
输入利润为1500000时的运行结果如下:
(2)用switch语句编写程序;
intc;
c=i/100000;
case0:
case1:
case2:
case3:
case4:
case5:
case6:
case7:
case8:
case9:
case10:
j);
}输入利润为90000时程序运行结果如下:
输入利润为1500000时程序运行结果如下:
11、输入四个整数,要求按照有小到的的顺序输出;
编写程序如下:
inta,b,c,d,t;
placeinputfournumber:
%d,%d,%d,%d"
c,&
d);
\n\na=%d,b=%d,c=%d,d=%d\n"
if(a>
{t=a;
a=b;
b=t;
c)
a=c;
c=t;
d)
a=d;
d=t;
if(b>
{t=b;
b=c;
b=d;
if(c>
{t=c;
c=d;
\nTheresultis:
\n%d%d%d%d\n"
\npressanykey..."
输入四个数9,5,7,2时的运行结果如下:
12、有四个圆塔,圆心分别为(2,2)、(2,-2)、(-2,2)、(-2,-2),圆半径为1.这四个塔的高度为10米。
塔以外无建筑物。
今输入一个点的坐标,求该点的建筑物高度。
在本题中首先应该要求输入一个点的坐标(x,y),然后判断该点到各塔心的距离d1,d2,d3,d4,如果该点到各塔心的距离都小于1,则该点在建筑物内,输出其高度h为10,负责输出h=0;
#include"
stdio.h"
inth=10;
floatx,y,x1=2,y1=2,d1,d2,d3,d4;
pleaseinputa(x,y)\n"
%f,%f"
x,&
y);
d1=(x-x1)*(x-x1)+(y-y1)*(y-y1);
d1=(x-x1)*(x-x1)+(y+y1)*(y+y1);
d1=(x+x1)*(x+x1)+(y-y1)*(y-y1);
d1=(x+x1)*(x+x1)+(y+y1)*(y+y1);
if(d1>
1&
&
d2>
d3>
d4>
h=0;
Theheghtofhispointis%d\n"
h);
输入(1,1)后程序运行结果为:
输入(0.1,0.1)后程序运行结果为: