选择结构Word文档下载推荐.docx
- 文档编号:19261168
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:51
- 大小:26.51KB
选择结构Word文档下载推荐.docx
《选择结构Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《选择结构Word文档下载推荐.docx(51页珍藏版)》请在冰豆网上搜索。
【?
if(year%400==0||(【?
】)
leap=1;
else
leap=0;
if(【?
sum++;
Itisthe%dthday."
sum);
}
答案:
1).sum=90
2).sum=sum+day或sum=sum+day
3).year%4==0&
&
year%100!
=0)或year%4==0&
year%100!
=0
4).leap==1&
month>
2或leap==1&
month>
2<
mont
第66题(10.0分)题号:
456
利用指向结构的指针编写求某年、某月、某日是第
几天的程序,其中年、月、日和年天数用结构表示。
/***********SPACE***********/
】date
inty,m,d,n;
}【?
intk,f,a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
date:
y,m,d="
x.y,&
x.m,&
x.d);
f=x.y%4==0&
x.y%100!
=0||x.y%400==0;
a[1]+=【?
if(x.m<
1||x.m>
12||x.d<
1||x.d>
a[x.m-1])exit(0);
for(x.n=x.d,k=0;
k<
x.m-1;
k++)x.n+=a[k];
n=%d\n"
【?
】);
1).struct
2).x
3).f
4).x.n
第68题(10.0分)题号:
457
定义一个结构变量(包括年、月、日)计算给定日
期是该年的第几天。
inty,m,d;
}da;
intf,n,p,a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
da.y,&
da.m,&
da.d);
f=da.y%4==0&
da.y%100【?
】0||da.y%400==0;
if(da.m<
1【?
】da.d>
12)exit(0);
a[11]+=f;
if(da.d<
1||da.d>
a[da.m-1])exit(0);
for(n=【?
】,p=1;
p<
da.m;
p++)n+=a[p-1];
n);
2).!
=
3).||
4).da.d
第87题(10.0分)题号:
446
编程求某年第n天的日期。
用数组表示月天数。
inty,m,f,n;
inta[12]={31,28,31,30,31,30,31,31,30,31,30,31};
y,n="
%d,%d"
y,&
n);
f=y%4==0&
y%100!
=0【?
】y%400==0;
a[1]【?
】f;
if(n<
1||n>
365+f)
error!
\n"
exit(0);
for(m=1;
m【?
】a[m-1];
n-=a[m-1],m++);
y=%d,m=%d,d=%d\n"
y,m,n);
1).||
2).+=或=a+
3).>
第102题(10.0分)题号:
420
计算某日是当年的第几天。
#include<
stdio.h>
struct
intyear;
intmonth;
intday;
}data;
/*定义一个结构并声明对象为data*/
voidmain()
intdays;
请输入日期(年,月,日):
"
%d,%d,%d"
&
data.year,&
data.month,&
data.day);
switch(data.month)
days=data.day;
break;
days=data.day+【?
days=data.day+59;
days=data.day+90;
days=data.day+151;
days=data.day+181;
days=data.day+212;
days=data.day+243;
days=data.day+273;
days=data.day+304;
days=data.day+334;
if(data.year%4==0&
data.year%100!
】data.year%400==0)
if(data.month>
=3)
days=【?
%d月%d日是%d年的第%d天.\n"
data.month,data.day,data.year,days);
1).31
2).120
4).days+1或1+days或++days
第44题(10.0分)题号:
33
以下程序的功能如(图1)。
conio.h>
doublef(【?
{
if(【?
y=2.0*x*x+3.0*x+4.0;
y=-2.0*x*x+3.0*x-4.0;
main()
clrscr();
%f\n"
f(f(-1.0)+f(5.0)));
1).floatx或doublex
2).doubley
3).x<
=2或2>
=x
4).returny或return(y)
第45题(10.0分)题号:
25
】
floatx,f;
%f"
x);
if(x<
0)【?
elseif(【?
f=2*x+1;
else
f=sin(x)+5;
x=%f,y=%f\n"
【?
1).#include"
math.h"
或#include<
math.h>
2).f=fabs(x+1)
=5或5>
=x或x<
6或6>
x或x>
=0&
x<
=5或0<
=x&
=5或x>
5>
=x或0<
=x或!
(x>
5)
4).x,f
第53题(10.0分)题号:
430
计算一元二次方程的根。
#include【?
floata,b,c,disc,x1,x2,realpart,imagpart;
%f%f%f"
a,&
b,&
c);
theequation"
】<
=1e-6)
isnotquadratic\n"
disc=b*b-4*a*c;
if(fabs(disc)<
hastwoequalroots:
%-8.4f\n"
-b/(2*a));
x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
hasdistinctrealroots:
%8.4fand%.4f\n"
x1,x2);
realpart=-b/(2*a);
imagpart=sqrt(-disc)/(2*a);
hascomplexroots:
%8.4f=%.4fi\n"
realpart,imagpart);
%8.4f-%.4fi\n"
1).<
2).fabs(a)
3).fabs(disc)>
1e-6或1e-6<
fabs(disc)
第62题(10.0分)题号:
614
题目:
以下程序的功能是:
输出a、b、c三个变量中的最小值。
main()
inta,b,c,t1,t2;
%d%d%d"
b,【?
t1=a<
b?
a:
b;
t2=c<
t1?
%d\n"
t2);
}
1).&
c
2).c:
t1
第83题(10.0分)题号:
454
三角形的面积为:
area=sqrt(s*(s-a)*(s-b)*(s-c)).其中
,s=(a+b+c)/2,a、b、c为三角形三条边的长。
定义两个带
参数的宏,一个用来求s,另一个用来求area。
编写程序,
在程序中用带参数的宏求面积area。
#include"
#【?
】S(x,y,z)(x+y+z)/2
#defineAREA(s,x,y,z)sqrt(s*(s-x)*(s-y)*(s-z))
floata,b,c,s,area;
a,b,c="
%f,%f,%f"
a,【?
】,&
if(a+b>
c&
b+c>
a&
c+a>
b)
s=【?
area=【?
area=%f\n"
area);
1).define
2).&
b
3).S(a,b,c)
4).AREA(s,a,b,c)
第98题(10.0分)题号:
443
企业发放的奖金根据利润提成。
利润(I)低于或等于10万元
时,奖金可提10%;
利润高于10万元,低于20万元时,低于
10万元的部分按10%提成,高于10万元的部分,可可提成7.5%
;
20万到40万之间时,高于20万元的部分,可提成5%;
40万
到60万之间时高于40万元的部分,可提成3%;
60万到100万
之间时,高于60万元的部分,可提成1.5%,高于100万元时,
超过100万元的部分按1%提成,从键盘输入当月利润I,求
应发放奖金总数?
longinti;
intbonus1,bonus2,bonus4,bonus6,bonus10,bonus;
%ld"
i);
bonus1=100000*0.1;
bonus2=bonus1+100000*0.75;
bonus4=bonus2+200000*0.5;
bonus6=bonus4+200000*0.3;
bonus10=bonus6+400000*0.15;
if(i<
=100000)
bonus=i*0.1;
】)
bonus=bonus1+(i-100000)*0.075;
bonus=bonus2+(i-200000)*0.05;
bonus=bonus4+(i-400000)*0.03;
elseif(i<
=1000000)
bonus=bonus6+(i-600000)*0.015;
bonus=bonus10+(i-1000000)*0.01;
("
bonus=%d"
bonus);
1).i<
=200000或200000>
=i
2).i<
=600000或600000>
3).i<
=1000000或1000000>
4).printf
第100题(10.0分)题号:
451
编程求任意给两个日期(Y0年M0月DO日和Y1年M1月D1日)
相差的天数。
inty1,m1,d1,y2,m2,d2,n,i;
y1,m1,d1="
y1,&
m1,&
d1);
if(m1<
1||m1>
12||d1<
1||d1>
】)exit(0);
y2,m2,d2="
scanf("
y2,&
m2,&
d2);
if(m2<
1||m2>
12||d2<
1||d2>
if(y1>
y2||y1==y2&
m1>
m2||y1==y2&
m1==m2&
d1>
d2)
n=y1;
y1=y2;
y2=n;
n=m1;
m1=m2;
m2=n;
n=d1;
d1=d2;
d2=n;
n=yend(y1,m1,d1)+【?
for(i=【?
i<
y2;
i++)n+=365+f(i);
%d.%d.%d--->
%d.%d.%d:
y1,m1,d1,y2,m2,d2,n);
intf(inty)
return(y%4==0&
=0||y%400==0);
intmday(inty,intm)
return(31-((m==4)+(m==6)+(m==9)+(m==11))-(3-f(y))*(m==2));
intyday(inty,intm,intd)
return(d+31*((m>
1)+(m>
3)+(m>
5)+(m>
7)+(m>
8)+(m>
10))+30*((m>
4)+(m>
6)+(m>
9)+(m>
11))+(28+f(y))*(m>
2));
intyend(inty,intm,intd)
return(365+f(y)-yday(y,m,d));
1).mday(y1,m1)
2).mday(y2,m2)
3).yday(y2,m2,d2)
4).y1+1或1+y1
第111题(10.0分)题号:
24
对任一整数N(N≠0),它都可以分解成1(或-1)和一些质数(素
数)因子的形式。
例如:
当N=150时,可分解成1×
2×
3×
5×
5;
当N=-150时,可分解为-1×
5。
下边程序能实现这种分解过程。
当N=150,输出以下分解结
果:
N=1*2*3*5*5
intn,i,j,r;
%d"
if(n==0)
{
printf("
dataerror\n"
exit(0);
elseif(【?
n=1"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 选择 结构
![提示](https://static.bdocx.com/images/bang_tan.gif)