《大学C语言程序设计》题库编程题Word格式.docx
- 文档编号:18586140
- 上传时间:2022-12-28
- 格式:DOCX
- 页数:26
- 大小:21.32KB
《大学C语言程序设计》题库编程题Word格式.docx
《《大学C语言程序设计》题库编程题Word格式.docx》由会员分享,可在线阅读,更多相关《《大学C语言程序设计》题库编程题Word格式.docx(26页珍藏版)》请在冰豆网上搜索。
从大到小为:
%d,%d,%d\n"
a,b,c);
3.有三个整数a,b,c,由键盘输入,输出其中最大者。
inta,b,c,max;
输入三个数字:
\n"
%d%d%d"
if(a>
b&
&
a>
c)
max=a;
if(b>
a&
b>
max=b;
if(c>
c>
b)
max=c;
最大值是:
%d\n"
max);
4.编程求圆面积、圆周长。
要求圆半径由键盘输入,输出时要求有文字说明,取小数点后两位数字。
#definepi3.1416
main()
{
floatr,l,s;
请输入半径:
%f"
r);
l=2*pi*r;
s=pi*r*r;
l=%7.2f\ns=%7.2f\n"
l,s);
5.【有点难】有分段函数:
-10时,y=|x|+5;
当-10≤x≤10时,y=4x-8;
10时,y=sqrt(x)。
6.编写程序,判断某一年是否是闰年。
(闰年的条件是:
能被4整除,但是不能被100整除,或者可以被400整除。
)
#include<
intmain()
intyear,leap;
year);
if(year%4==0)
{
if(year%100==0)
if(year%400==0)
leap=1;
leap=0;
}
if(leap)
%dis"
year);
%disnot"
aleapyear.\n"
return0;
7.输入一个华氏温度,要求输出摄氏温度,输出时要求有文字说明,取小数点后两位数字。
公式为c=5/9(f-32)
floatf,c;
输入华氏温度:
f);
c=(f-32)/1.8;
对应的摄氏温度是:
%5.2f\n"
c);
8.有一函数:
1时,y=|x|;
当1<
=x<
10时,y=2x-1;
=10时,y=3x+11。
9.输入三个实数,将这三个数按由小到大的顺序排列,并输出这三个数。
if(a>
if(b>
从小到大为:
10.输入一个字符,判断它是否是小写字母,如果是,将它转换成大写字母;
如果不是,不转换。
然后输出最后得到的字符。
string.h>
chara;
%c"
a);
if(islower(a))
a=a-32;
%c\n"
a);
11.编程求圆柱体积,圆柱表面积。
要求圆半径,圆柱高由键盘输入,输出时要求有文字说明,取小数点后两位数字。
stdlib.h>
intmain(intargc,char*argv[])
floatr,h,l,s,sq,vq,vz;
floatpi=3.1415926;
请输入圆的半径r,圆柱高h:
%f,%f"
r,&
h);
l=2*pi*r;
s=pi*r*r;
sq=4*pi*r*r;
vq=4.0/3.0*pi*r*r;
vz=pi*r*r*h;
圆周长为:
l=%6.2f\n"
l);
圆面积为:
s=%6.2f\n"
s);
圆球表面积为:
sq=%6.2f\n"
sq);
圆球体积为:
vq=%6.2f\n"
vq);
圆柱体积为:
vz=%6.2f\n"
vz);
system("
PAUSE"
12.有分段函数:
-5时,y=x+10;
当-5≤x≤5时,y=x^2;
5时,y=2x-10.
13.有三个整数a,b,c,由键盘输入,输出其中最小者。
inta,b,c,temp,min;
请输入三个整数:
%d,%d,%d"
temp=(a<
b)?
a:
b;
min=(temp<
c)?
temp:
c;
三个数中最小数是%d\n"
min);
14.输入一个字符,判断它是否是大写字母,如果是,将它转换成小写字母;
charc;
inputch:
c=getchar();
if(c>
='
A'
c<
Z'
c=c+32;
printf("
elseprintf("
15.输入三角形的三边长,求三角形面积。
求三角形面积的公式为
area=sqrt(s(s-a)(s-b)(s-c)),其中s=(a+b+c)/2
math.h>
floata,b,c,s,area;
依次输入a,b,c:
%f%f%f,"
s=(float)0.5*(a+b+c);
area=(float)sqrt(s*(s-a)*(s-b)*(s-c));
面积为:
%7.2f"
area);
16.编程求2!
+4!
+6!
+8!
+10!
的值,并输出结果。
intn=1,sum=0,j,m=1,i;
for(i=1;
i<
=5;
i++){
m=1;
for(j=1;
j<
=2*i;
j++)
m=m*j;
sum=sum+m;
sum=%d\n"
sum);
return0;
17.猴子吃桃问题。
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。
第二天早上又将剩下的桃子吃掉一半,又多吃一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想吃时就剩一个桃子了。
求第一天共摘了多少个桃子。
intday;
staticx1=1;
day=10;
while(day>
x1=(x1+1)*2;
day--;
桃子总数=%d\n"
x1);
18.输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。
inti,j,k,n;
水仙花数是"
for(n=100;
n<
1000;
n++)
i=n/100;
j=n/10-i*10;
k=n%10;
if(n==i*i*i+j*j*j+k*k*k)
printf("
%d"
n);
19.编程求1~100之间的所有素数,并输出结果。
intmain(void)
inta[100],i,j;
for(i=0;
i<
100;
i++)a[i]=i+1;
for(i=1;
i++)
for(j=i+1;
j<
j++)
if(a[i]&
a[j]%a[i]==0)
a[j]=0;
for(i=1;
if(a[i])printf("
%d\t"
a[i]);
20.编程求1!
+3!
+5!
+7!
+9!
=2*i-1;
sum=sum+m;
21.用pi/4≈1-1/3+1/5-1/7+...公式求pi的近似值的绝,直到某一项对值小于10的-6次方为止。
intsign=1;
doublepi=0.0,n=1.0,term=1.0;
while(fabs(term)>
=1e-6)
{pi=pi+term;
n=n+2;
sign=-sign;
term=sign/n;
}pi=pi*4;
pi=%10.8f\n"
pi);
22.一个球从100m高度自由落下,每次落地后又反跳回原高度的一半,再落下,再反弹。
求它在第10次落地时共经过多少米?
#include"
stdio.h"
floatsn=100.0,hn=sn/2;
intn;
for(n=2;
=10;
n++)
sn=sn+2*hn;
/*第n次落地时共经过的米数*/
hn=hn/2;
/*第n次反跳高度*/
}
thetotalofroadis%f\n"
sn);
getch();
23.输入两个正整数m和n,求其最大公约数和最小公倍数。
intp,r,n,m,temp;
请输入两个正整数n,m:
%d%d,"
n,&
m);
if(n<
m)
temp=n;
n=m;
m=temp;
p=n*m;
while(m!
=0)
r=n%m;
m=r;
它们的最大公约数为:
%d\n"
它们的最小公约数为:
p/n);
24.利用循环,编程求1!
+2!
+…+10!
inti,j,n,sum=0;
for(i=1;
i++)
n=1;
for(j=1;
=i;
j++)
n*=j;
sum+=n;
25.有一分数序列:
2/1,3/2,5/3,8/5,13/8,21/13......,求出这个数列前20项之和。
main()
{inti,x,y,a;
floatsum=0;
x=2;
20;
i++)
sum+=(float)(x)/y;
//printf("
%d/%d\n"
x,y);
a=x;
x=x+y;
y=a;
%7.5f\n"
26.求Fibonacci数列前40个数。
这个数列有以下特点:
第1和第2个数为1,从第3个数开始,该数是其前面两个数之和。
#defineN4
longfibonacci(intn)
if(0==n||1==n)return1;
else
returnfibonacci(n-1)+fibonacci(n-2);
intmain(void)
inti;
Fibonacci数列的前40项\n"
for(i=0;
40;
)
%-10ld"
fibonacci(i++));
if(i%N==0)printf("
27.一个数如果恰好等于它的因子之和,这个数就称为完数。
例如,6的因子为1、2、3,而6=1+2+3,因此6是完数。
编程求1000以内所有完数。
inti,j;
intsum;
for(i=2;
{
sum=0;
for(j=1;
i;
if(i%j==0)
sum=sum+j;
if(sum==i)
%d是完数\n"
28.求S=a+aa+aaa+...+aa...a(n个a)之值。
其中a是一个数字,n代表a的位数。
例如:
2+22+222+2222+22222(此时n为5),n由键盘输入。
inta,n,i=1,sn=0,tn=0;
a,n=:
%d,%d"
n);
while(i<
=n)
{tn=tn+a;
sn=sn+tn;
a=a*10;
++i;
a+aa+aaa+...=%d\n"
29.编程求100~200之间的所有素数,并输出结果。
{intn,k,i,m=0;
for(n=101;
=200;
n=n+2)
{k=sqrt(n);
for(i=2;
=k;
if(n%i==0)break;
if(i>
=k+1)
{printf("
m=m+1;
if(m%10==0)printf("
30.输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
#include"
{charc;
inti=0,j=0,k=0,l=0;
while((c=getchar())!
\n'
{if(c>
=65&
=90||c>
=97&
=122)i++;
elseif(c>
=48&
=57)j++;
elseif(c==32)k++;
elsel++;
i=%d,j=%d,k=%d,l=%d\n"
i,j,k,l);
31.将一个数组中的值按逆序重新存放。
例如,原来顺序为8,6,4,3,2,0。
要求改为0,2,3,4,6,8。
#defineN5
{inta[N],i,temp;
enterarraya:
for(i=0;
N;
a[i]);
arraya:
for(i=0;
%4d"
N/2;
{temp=a[i];
a[i]=a[N-i-1];
a[N-i-1]=temp;
\nNOW,arraya:
for(i=0;
32.编写一个函数,求数列1+1/2+1/3+1/4+1/5+...1/n,利用主函数调用这个函数并输出结果。
main()
floati=1,sum=0,n;
inputanumbern:
sum+=1.0/i;
i=i+1;
%f\n"
33.将一个二维数组inta[3][4]的行和列的元素互换,存到另外一个二维数组中。
inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
intb[4][3],i,j;
arrarya:
=2;
for(j=0;
=3;
{
%5d"
a[i][j]);
b[j][i]=a[i][j];
}
arrayb:
b[i][j]);
34.利用循环输出以下图形
*****
****
***
**
*
int
i,j,m;
m=i;
for(m=1;
m<
m++)
for(j=0;
=5-i;
*"
35.用冒泡排序法对输入的10个数进行降序排序,并存入数组中。
inta[10];
inti,j,t;
input10numbers:
10;
9;
9-j;
if(a[i]<
a[i+1])
{t=a[i];
a[i]=a[i+1];
a[i+1]=t;
thesortednumbers:
return0;
36.有一个3乘4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。
inti,j,row=0,colum=0,max;
max=a[0][0];
if(a[i][j]>
max)
{max=a[i][j];
row=i;
colum=j;
max=%d,row=%d,colum=%d\n"
max,row,colum);
37.用冒泡排序法对输入的10个数进行升序排序,并存入数组中。
if(a[i]>
38.利用循环,输出以下图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学C语言程序设计 大学 语言程序设计 题库 编程