C语言期末考试题库试题及答案Word格式.docx
- 文档编号:3401439
- 上传时间:2023-05-01
- 格式:DOCX
- 页数:77
- 大小:39.22KB
C语言期末考试题库试题及答案Word格式.docx
《C语言期末考试题库试题及答案Word格式.docx》由会员分享,可在线阅读,更多相关《C语言期末考试题库试题及答案Word格式.docx(77页珍藏版)》请在冰点文库上搜索。
floatt;
printf("
pleaseinputn(n>
=0):
"
/***********SPACE***********/
scanf("
%d”,【&
n】);
i=1;
t=1.0;
/***********SPACE***********/
while(【i<
=n】)
/***********SPACE***********/
{【t*=i】
i++;
}
%d!
=%f"
,n,t);
a/*————————-—---———--—--——---——-—-—--——-----—-———-——-—-———
3【程序填空】
----——---—--—--—-—-------———--—----——---——-—--——-——-—-———
以下程序的功能是统计一个字符串中的字母、数字、空格、
和其它字符的个数。
—-------——-----—-——--——---—-—-——----—————-—————---——---*/
#include”stdio.h”
main()
chars1[80];
inta[4]={0};
intk;
/***********SPACE***********/
【voidfun(chars[],int[])】;
gets(s1);
/***********SPACE***********/
【fun(s1,a)】;
puts(s1);
for(k=0;
k〈4;
k++)
%4d”,a[k]);
voidfun(chars[],intb[])
inti;
for(i=0;
s[i]!
='
\0'
;
i++)
if('
a’<
=s[i]&
&s[i]〈=’z'
||'
A'
〈=s[i]&
&s[i]〈=’Z’)b[0]++;
/***********SPACE***********/
elseif(【’0’〈=s[i]&&s[i]<
=’9’】)b[1]++;
/***********SPACE***********/
elseif(【s[i]==32】)b[2]++;
elseb[3]++;
/*—----———-—--——-——-———-—--——--———-—-————--————--—----——-
4【程序填空】
-—-———--—-—————-—————-———-—--—---—---—--—-—-——————--——--—
判断一个给定的整数是否为素数.
—---—-———---—--—--—-—-—--—-——--————--——-—-———-————-----*/
#include〈stdio。
h〉
#include"
math。
h"
voidmain()
{intm,i,k;
scanf(”%d"
&m);
k=sqrt(m);
/***********SPACE***********/
for(i=2;
【i〈=k】;
/***********SPACE***********/
if(【m%i==0】)break;
/***********SPACE***********/
if(【i>
k】)
printf(”Yes\n"
else
No\n”);
/*-——-——-—-—--——---——-——-————----—--—-----—-—-———--——--—-
5【程序填空】
-———-——-—-—-—-—--——-—-————-——--—--—-----—---——---—--——-—-
以下程序的功能:
计算并输出500以内最大的10个能被
13或17整除的自然数之和.
—-————-——-———--——-—-——-—---———--———-—-------————-——-—-—*/
#include〈stdio。
h>
/***********SPACE***********/
intfun(【intk】)
intm=0,mc=0;
/***********SPACE***********/
while(k>
=2&
&
【mc〈10】)
/***********SPACE***********/
if(k%13==0||【k%17==0】)
{m=m+k;
mc++;
k—-;
/***********SPACE***********/
【return(m)】;
}
voidmain()
{
%d\n"
,fun(500));
/*-—-————---———-———-—---—----——---—————--—----——-———--—--
6【程序填空】
---—-—-————----—--—-—-——-—--—-—-——--—-—--——-----————--—-—
输入N个数据存入数组中,将其倒置存放,并打印输出。
————-—-—-—-—————-—------——---—--——-—----—---—---—-—-———*/
#include〈stdio.h>
#defineN10
{inti,t,a[N];
printf(”Enter%dNumbers:
\n"
,N);
for(i=0;
i<
N;
/***********SPACE***********/
scanf(”%d”,【&a[i]】);
/***********SPACE***********/
【n/2】;
i++)
{t=a[i];
/***********SPACE***********/
a[i]=【a[n-i—1]】;
a[N—i-1]=t;
%d"
a[i]);
/*-—-—-————-——-——-——-—-—------—-——--——-——---———-—-—----——
7【程序填空】
—-------------—-———---———---———————-————------—-—----——--
输出Fibonacci数列的前15项,要求每行输出5项.
Fibonacci数列:
1,1,2,3,5,8,13.。
.。
....。
..
--———-—--—-—---—-——--—--—-——----—-—————-—-——---——--——-—*/
h〉
/***********SPACE***********/
int【fib】[15],i;
fib[0]=1;
fib[1]=1;
for(i=2;
i〈15;
/***********SPACE***********/
fib[i]=【fib[i—2]+fib[i—1]】;
for(i=0;
i〈15;
printf(”%d\t”,fib[i]);
/***********SPACE***********/
if(【i%5==4】)printf("
);
/*-———--————-—-—--—-——-————-——--—-——-——------———--—-—-—--
8【程序填空】
-—-—--—-———-—-————--—-———-—-———-—-—-—-—--—-——-—---—-—-—-—
以下程序的功能是求100-999之间的水仙花数(水仙花数
是指一个三位数的各个位数字的立方和是这个数本身,
如:
153=1^3+5^3+3^3)。
-------—--——————-—--—----—-————-——---———--—-———-—---—-—*/
#include<
stdio。
intfun(intn)
{inti,j,k,m;
m=n;
/***********SPACE***********/
【k=0】
for(i=1;
i〈4;
{
/***********SPACE***********/
【j=m%10】
m=(m—j)/10;
k=k+j*j*j;
/***********SPACE***********/
if(k==n)【return
(1)】
elsereturn(0);
{
inti;
for(i=100;
1000;
/***********SPACE***********/
if(【fun(i)】==1)printf(”%disok!
\n”,i);
/*-—----——---—----—--——————-—-———-———-----—-——-———-—-—-——
9【程序填空】
-—-—--—-———-—--————--———-—--——————-———--—-—-—--—-—-—---——
某次大奖赛,有10个评委打分,下面的程序是对一名参赛者评分,输入10个评
委的打分分数,去掉一个最高分,一个最低分后,求出平均分即为该参赛者的得分.
—-——-——-——----————--—-———-——-——----——-———--—-——--—----—*/
floatmark,max,min,aver=0.0,sum=0。
0;
for(i=1;
i〈=10;
{printf(”输入第%d位评委的打分\n”,i);
%f"
,&mark);
if(i==1)
{max=mark;
/***********SPACE***********/
【min=mark】;
}
elseif(mark<
min)
min=mark;
/***********SPACE***********/
elseif(【mark〉max】)
max=mark;
/***********SPACE***********/
【sum+=mark】;
aver=(sum-max-min)/8;
printf(”TheAveragescoreis%f\n"
,aver);
/*-—————--—-——--—-——-————-—-—--——---—-—--———————--———---—
10【程序填空】
—-————----—---———-—-----—--——--——----——--—-—-—--—-———-——-
输出9*9口诀。
—-——--——-———-—-------——----——--------———-——--—-—--—---—*/
{inti,j,result;
printf(”\n”);
/***********SPACE***********/
for(i=1;
【i<
10】;
/***********SPACE***********/
{for(j=1;
j<
10;
【j++】)
result=i*j;
/***********SPACE***********/
printf(”%d*%d=%-3d"
i,j,【result】);
printf("
/*---—--—--——-————-———-—-—---—-——---———---————-—-——-—————
11【程序填空】
-—-—-—-------——---———--——---——--—----———---————-————————-
题目:
用辗转相除法求两个整数的最大公约数、最小公倍数。
—--————-————------———---——————--—-——-———-——-—--——-——--—*/
{intn,m,nm,r,t;
printf(”Enterm,n=?
scanf(”%d%d”,&m,&
n);
nm=n*m;
if(m〈n)
{t=m;
n=t;
r=m%n;
/***********SPACE***********/
while(【r!
=0】)
{m=n;
/***********SPACE***********/
【n=r】
/***********SPACE***********/
【r=m%n】
printf(”ThemaxGyshu=%d\n”,n);
/***********SPACE***********/
TheminGbshu=%d\n”,【nm/n】);
}
/*-——-————————-——-——---—-——---——---——-—-—----——-—-——-————
12【程序填空】
----——--——------—--—--—-----—---————-——-—--———-——-——---—-
以下程序的功能是将一个数组中的元素按逆序存放。
---——--——---—-——-———--—---—————-—-—————-—--—-———--——-—-*/
#defineN7
#include〈stdio。
voidmain()
staticinta[N]={12,9,16,5,7,2,1},k,s;
\ntheoriganalarray:
for(k=0;
k〈N;
%4d”,a[k]);
/***********SPACE***********/
for(k=0;
k<
【N/2】;
k++)
{
s=a[k];
/***********SPACE***********/
【a[k]=a[N-k-1]】;
/***********SPACE***********/
【a[N—k—1]=s】;
printf(”\nthechangedarray:
\n”);
k〈N;
/***********SPACE***********/
【printf】
(”%4d”,a[k]);
/*-—-——---—---—--—-—————--—-—--—--—--———-———-——-————--——-
13【程序填空】
--——-----——---—------—-——--—--—----——-—-—---—-———————-—-—
输入3个整数,输出最大数.
--—-----—--——-—-—————--—--—---——-—————--—---—---—----—-*/
#include<
stdio.h>
{inta,b,c,max;
printf(”inputthreenumbers:
”);
scanf(”%d%d%d"
,&
a,&b,&
c);
/***********SPACE***********/
if(【a>
b】)
max=a;
/***********SPACE***********/
【else】
max=b;
if(max〈c)
/***********SPACE***********/
【max=c】
printf(”max=%d\n”,max);
/*-————---——--—--———-----—-———-——---—-—---————-------——-—
14【程序填空】
---——-—--——-—--—-—--——--——--————---———---——--—-———--——-——
输入三个整数x,y,z,请把这三个数由小到大输出。
-————-——-——----—-----—-—--—----——--—————-—-——--———-—-—-*/
{intx,y,z,t;
scanf(”%d%d%d"
&
x,&
y,&z);
if(x〉y)
/***********SPACE***********/
{【t=x;
x=y;
y=t;
】}
if(x>
z)
/***********SPACE***********/
{【t=z;
z=x;
x=t;
if(y>
/***********SPACE***********/
{【t=y;
y=z;
z=t;
printf(”smalltobig:
%d%d%d\n"
x,y,z);
/*-——-—-——-—-——-——----—------——-——-———--—--——————————--—-
15【程序填空】
—-——--——----——--——-—-——-----——-—--—-—---————-—-——-—----——
打印出如下图案(菱形)
*
***
*****
*******
*****
***
-----——-——-----——--————--—---——--—-----—-——-————--—————*/
inti,j,k;
/***********SPACE***********/
for(i=0;
【i〈4】;
for(j=0;
j〈=4-i;
j++)
"
/***********SPACE***********/
for(k=1;
=【2*i+1】;
printf(”*”);
printf(”\n”);
/***********SPACE***********/
for(【j=0】;
3;
for(k=0;
j+3;
”);
/***********SPACE***********/
【5-2*j】;
*”);
/*—-------————-—-—-—-—--———--——-—-——-—---——--————-——--——-
16【程序填空】
-———-————-——--——————-—--——-—-——-————-—-———--——--——-—————-
计算并输出high以内最大的10个素数
之和,high由主函数传给fun函数,若high的值为100,
则函数的值为732.
-———-———---—-—----————-—-———----——-----———-——-————---—-*/
#include〈stdio。
#include<
intfun(inthigh)
intsum=0,n=0,j,yes;
/***********SPACE***********/
while((high>
=2)&&(【n〈10】))
{
yes=1;
for(j=2;
j〈=high/2;
j++)
/***********SPACE***********/
if(【high%j==0】)
/***********SPACE***********/
{yes=0;
【break】;
if(yes)
{sum+=high;
n++;
high--;
/***********SPACE***********/
【return(sum)】;
%d\n”,fun(100));
/*—————-————--—--—--—--——--—-----—--———--—--—----——--———-
17【程序填空】
——-————-—-——--——--—----——-——-—-—-———--—---——-———-----————
输入如下形式的二项式系数列标.要求表的行数运行时输入,
若小于1或者大于10则重新输入。
1
11
121
1331
14641
1510
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 期末考试 题库 试题 答案