30道上机考试题目Word文档格式.docx
《30道上机考试题目Word文档格式.docx》由会员分享,可在线阅读,更多相关《30道上机考试题目Word文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
0。
输出时要有文字说明,取小数点后两位数字。
math.h>
{floatA(floatx,floaty,floatz);
floata,b,c,disc,x1,x2,p,q;
scanf("
%f,%f,%f"
a,&
b,&
c);
disc=A(a,b,c);
p=-b/(2*a);
q=sqrt(disc)/(2*a);
x1=p+q;
x2=p-q;
方程的根是:
x1=%5.2f,x2=%5.2f\n"
x1,x2);
floatA(floatx,floaty,floatz)
{floatdisc;
disc=y*y-4*x*z;
return(disc);
4.设圆半径r=1.5,圆柱高h=3,求圆周长,圆面积、圆球体积、圆柱体积。
用键盘输入数据。
{floatlength(floatx);
floatarea(floatx);
floatvqs(floatx);
floatvzs(floatx,floaty);
floatr,h,l,s,vq,vz;
%f,%f"
r,&
h);
l=length(r);
s=area(r);
vq=vqs(r);
vz=vzs(r,h);
圆周长为:
l=%6.2f\n圆面积为:
s=%6.2f\n圆球体积为:
vq=%6.2f\n圆柱体积为:
vz=%6.2f\n"
l,s,vq,vz);
floatlength(floatx)
{floatl;
l=2*Pi*x;
return(l);
floatarea(floatx)
s=Pi*x*x;
floatvqs(floatx)
{floatvq;
vq=4.0/3.0*Pi*x*x*x;
return(vq);
floatvzs(floatx,floaty)
{floatvz;
vz=Pi*x*x*y;
return(vz);
5.输入一个华氏温度,要求输出摄氏温度。
公式为c=5/9(F-32)。
floatc,f;
f);
c=fac(f);
摄氏温度为:
%5.2f\n"
c);
{floatc;
c=5.0/9.0*(x-32);
return(c);
6.由键盘输入三个实数,输出其中最大的数。
{floatmax(floatx,floaty,floatz);
floata,b,c,M;
M=max(a,b,c);
printf("
M=%5.2f\n"
M);
floatmax(floatx,floaty,floatz)
{floatM;
if(x>
y)M=x;
elseM=y;
if(z>
M)M=z;
return(M);
7.由键盘输入三个字符,输出其中最大的字符。
{charmax(charx,chary,charz);
chara,b,c,M;
%c,%c,%c"
三个字符中的最大的字符为M=%c\n"
charmax(charx,chary,charz)
{charM;
if(x>
elseM=y;
8.由键盘输入三个实数,要求按由小到大的顺序输出。
externfloatA,B,C;
{voidf(floatx,floaty,floatz);
floata,b,c;
f(a,b,c);
%10.2f,%10.2f,%10.2f"
A,B,C);
floatA,B,C;
voidf(floatx,floaty,floatz)
{floatt;
y){t=x;
x=y;
y=t;
z){t=x;
x=z;
z=t;
if(y>
z){t=y;
y=z;
A=x;
B=y;
C=z;
9.求s=1+3+5+…+99。
{intsum(intx);
ints=0;
s=sum(s);
s的值为:
%d\n"
intsum(intx)
{inti=1;
while(i<
=100)
{x=x+i;
i+=2;
return(x);
10.把100-200之间不能被3整除的数输出。
{intfun(intx);
inti;
100-200之间不能被3整除的数是:
"
);
for(i=100;
i<
=200;
i++)
{if(fun(i)!
=1)
%d,"
fun(i));
}}
intfun(intx)
{if(x%3!
=0)
return(x);
elsereturn
(1);
11.输出100-200之间的全部合数。
{intheshu(intx);
intn;
100到200间存在合数:
for(n=100;
n<
201;
n++)
{if(heshu(n)!
heshu(n));
intheshu(intx)
{inti;
for(i=2;
x/2;
if(x%i==0)return(x);
12.从键盘输入一个3×
3矩阵,将其转置矩阵输出。
intarray[3][3];
{voidconvert(intarray[][3]);
inti,j;
for(i=0;
3;
for(j=0;
j<
j++)
%d"
array[i][j]);
原矩阵为:
\n"
{for(j=0;
%5d"
array[i][j]);
convert(array);
转置后的矩阵是:
voidconvert(intarray[][3])
{inti,j,t;
for(j=i+1;
{t=array[i][j];
array[i][j]=array[j][i];
array[j][i]=t;
13.有一个分数序列
求出这个数列的前20项之和。
{floatsum(floatx,floaty,floatz);
floatt,a,b,s;
a=2;
b=1;
s=sum(a,b,t);
数列的前二十项之和是:
%9.2f\n"
floatsum(floatx,floaty,intz)
{floati,s=0;
for(i=1;
=20;
{s=s+x/y;
z=x;
x=x+y;
14.由键盘输入两个字符串“Howoldareyou?
”和“Iamtwenty-two.”,将这两个字符串联成一个字符串输出。
{voidcon(charstr1[],charstr2[],charstr[]);
chars1[100],s2[100],s[100];
gets(s1);
gets(s2);
printf(“串联后的新字符串是:
”);
con(s1,s2,s);
puts(s);
file2,c
voidcon(charstr1[],charstr2[],charstr[])
{inti,j;
str1[i]!
='
\0'
;
i++)str[i]=str1[i];
for(j=0;
str2[j]!
j++)str[i+j]=str2[j];
str[i+j]='
15.任意输入两个实数,输出其中较小的数。
通过函数调用的方式实现。
{floatmin(floatx,floaty);
b);
c=min(a,b);
min=%f\n"
floatmin(floatx,floaty)
y)c=y;
elsec=x;
16.任意输入两个实数,输出他们的积。
{floatfac(floatx,floaty);
c=fac(a,b);
积是%f\n"
floatfac(floatx,floaty)
c=x*y;
return(c);
17.给出一个3×
3矩阵,求所有元素中的最大值。
{intmax_value(intarray[][3]);
inti,j,a[3][3];
a[i][j]);
所有元素中的最大值为:
max_value(a));
intmax_value(intarray[][3])
{inti,j,max;
max=array[0][0];
if(array[i][j]>
max)
max=array[i][j];
return(max);
18.输出任意一个正整数的阶乘值.
file1.c
{floatfac(intx);
intn;
floaty;
n);
y=fac(n);
%d!
=%10.0f\n"
n,y);
floatfac(intx)
{floaty;
if(x<
{printf("
x<
=0,dataerror!
elseif(x==1)y=1;
elsey=fac(x-1)*x;
return(y);
19.从输入的十个大于零的正整数中选出最大值输出。
{intmax(intx[]);
inta[10],m;
10;
i++)
a[i]);
m=max(a);
m);
intmax(intx[])
{inti,m;
m=x[0];
i++)if(m<
x[i])
m=x[i];
return(m);
21.设三角形的三边长均为整数,任意输入三个整数,检查是否构成三角形。
{inthanshu(intx,inty,intz);
inta,b,c,d;
请输入三个整数:
%d,%d,%d"
d=hanshu(a,b,c);
if(d==1)
它们能构成三角形。
elseprintf("
它们不能构成三角形。
inthanshu(intx,inty,intz)
{intw;
w=(x+y>
z&
&
x+z>
y&
y+z>
x);
return(w);
22.任意输入四个数,求其中的最大者和最小者并输出。
{floatmax(floatx[]);
floatmin(floatx[]);
floata[4],m,n;
4;
n=min(a);
最大者为%f,最小者为%f"
m,n);
floatmax(floatx[])
floatm;
floatmin(floatx[])
floatn;
n=x[0];
for(i=0;
if(n>
x[i])n=x[i];
return(n);
23.在1-32000中找出能同时满足被3除余1,被5除余4,被7除余3的数。
inti,b;
满足条件的数是:
=32000;
{b=fun(i);
b);
{if(x%3==1&
x%5==4&
x%7==3)
24.任意输入一个学生的成绩,按下列情况分类;
90~100为A,80~89为B,70~79为C,60-69为D,小于60为E。
{chargrade(floatx);
floatg;
charc;
g);
c=grade(g);
%c"
chargrade(floatx)
{chary;
switch((int)(x/10))
{case10:
case9:
y='
A'
break;
case8:
B'
case7:
C'
case6:
D'
case5:
case4:
case3:
case2:
case1:
case0:
E'
};
25.任意输入一个年份,判断其是否闰年。
{intf(intx);
inta,year;
year);
a=f(year);
if(a==1)
%d是闰年"
year);
%d不是闰年"
intf(intx)
w=(x%4==0&
x%100!
=0||
x%400==0);
return(w);
26.有一个函数
写一个程序,输入
输出
。
{floatF(floatz);
floatx,y;
y=F(x);
y=%f\n"
y);
floatF(floatz)
if(z<
1){y=z;
elseif(z>
=10){y=3*z-11;
else{y=2*cos(z)-1;
27.有一个函数
y=F(x);
if(z<
1){y=z*z;
=10){y=3*sqrt(z)-11;
else{y=2*sin(z)-1;
28.有一个函数
floatx,y;
if(z>
=5)
{y=(z-5)/(z+3);
elseif(z<
-3||-3<
z<
5)
{y=(5-z)/(z+3);
}Return(y);
29.有一个函数
}return(y);
30.已知大圆的半径为r=2.5cm,试编写一程序,求出图中阴影部分的面积。
(输出结果保留两位小数)h=1.7675l=3.535
{floatarea(floatx,floaty,floatz);
floats,r,h,l;
scanf