c语言程序设计题目及答案.docx
《c语言程序设计题目及答案.docx》由会员分享,可在线阅读,更多相关《c语言程序设计题目及答案.docx(59页珍藏版)》请在冰豆网上搜索。
c语言程序设计题目及答案
一、程序设计共113题
第1题题号:
319
#include""
voidwwjt();
intfun(intm)
{
inti,k=1;
if(m<=1)k=0;
for(i=2;iif(m%i==0)k=0;
returnk;
}
第2题题号:
351
-----------
功能:
请编一个函数voidfun(inttt[M][N],intpp[N]),
tt指向一个M行N列的二维数组,求出二维数组每列
中最大元素,并依次放入pp所指一维数组中。
二维
数组中的数已在主函数中赋予。
#include<>
#include<>
#defineM3
#defineN4
voidwwjt();
voidfun(inttt[M][N],intpp[N])
{
inti,j;
for(j=0;j{
pp[j]=tt[0][j];
for(i=1;iif(tt[i][j]>pp[j])
pp[j]=tt[i][j];
}
第3题题号:
375
功能:
从键盘上输入任意实数,求出其所对应的函数值。
z=e的x次幂(x>10)
z=log(x+3)(x>-3)
z=sin(x)/((cos(x)+4)
#include<>
#include<>
voidwwjt();
doubley(floatx)
{
doublez;
if(x>10)z=exp(x);
elseif(x>-3)z=log(x+3);
elsez=sin(x)/(cos(x)+4);
return(z);
}
第4题题号:
334
功能:
求给定正整数n以内的素数之积。
(n<28)
#include<>
#include""
voidwwjt();
longfun(intn)
{
longi,k;
longs=1;
for(i=2;i<=n;i++)
{for(k=2;k
if(i%k==0)break;
if(k==i)s=s*i;
}
returns;
}
第5题题号:
333
功能:
计算并输出给定整数的所有因子之积(包括自身)。
规定这个整数的值不大于50。
#include<>
#include""
voidwwjt();
longintfun(intn)
{
longs=1,i;
for(i=2;i<=n;i++)
if(n%i==0)s=s*i;
returns;
}
第6题题号:
50
功能:
求出菲波那契数列的前一项与后一项之比的极限的
近似值例如:
当误差为时,函数值为。
#include<>
#include""
voidwwjt();
floatfun()
{
floatf1=1,f2=1,f3;
floatr1=2,r2;
do
{r2=r1;
r1=f1/f2;
f3=f1+f2;
f1=f2;
f2=f3;
}while(fabs(r1-r2)>1e-4);
returnr1;
}
第7题题号:
394
功能:
产生20个[30,120]上的随机整数放入二维数组
a[5][4]中,求其中的最小值。
#include""
#include<>
voidwwjt();
intamin(inta[5][4])
{
inti,j,s;
s=a[0][0];
for(i=0;i<5;i++)
for(j=0;j<4;j++)
if(s>a[i][j])s=a[i][j];
return(s);
}
第8题题号:
337
功能:
将两个两位数的正整数a、b合并形成一个整数放在
c中。
合并的方式是:
将a数的十位和个位数依次放
在c数的百位和个位上,b数的十位和个位数依次放
在c数的十位和千位上。
例如:
当a=45,b=12。
调用该函数后,c=2415。
include<>
voidwwjt();
voidfun(inta,intb,long*c)
{
*c=a/10*100+a%10+b/10*10+b%10*1000;
}
第9题题号:
388
功能:
编写函数判断一个整数能否同时被3和5整除,若能
则返回值为1,否则为0。
调用该函数求出15~300之
间能同时被3和5整除的数的个数。
#include<>
voidwwjt();
intsum(intn)
{
if(n%3==0&&n%5==0)return
(1);
return(0);}
第10题题号:
16
功能:
编写函数fun求1!
+2!
+3!
+……+n!
的和,在main函
数中由键盘输入n值,并输出运算结果。
请编写fun
函数。
例如:
若n值为5,则结果为153。
#include<>
voidwwjt();
longintfun(intn)
{
inti;
floatf=1,s=0;
for(i=1;i<=n;i++)
{f=f*i;
s=s+f;}
returns;
第11题题号:
329
功能:
对某一正数的值保留2位小数,并对第三位进行四舍
五入。
#include<>
#include""
voidwwjt();
doublefun(floath)
{
inti;
i=(int)(h*1000)%10;
if(i>=5)
return(int)(h*100+1)/;
else
return(int)(h*100)/;
第12题题号:
410
功能:
编写函数fun将一个数组中的值按逆序存放,并在
main()函数中输出。
例如:
原来存顺序为8,6,5,4,1。
要求改为:
1,4,5,6,8。
#include<>
#defineN5
voidwwjt();
intfun(intarr[],intn)
{
inti,t;
for(i=0;i{t=arr[i];
arr[i]=arr[n-1-i];
arr[n-1-i]=t;
}
第13题题号:
327
功能:
能计算从1开始到n的自然数的和,n由键盘输入,
并在main()函数中输出。
#include<>
voidwwjt();
intfun(intn)
{
intsum,i;
sum=0;
for(i=1;i<=n;i++)
{sum=sum+i;}
return(sum);
第14题题号:
507
功能:
编写函数fun求一个字符串的长度,在main函数中
输入字符串,并输出其长度。
#include<>
voidwwjt();
intfun(char*p1)
{
char*p;
intn=0;
p=p1;
while(*p++)
n++;
returnn;
第15题题号:
44
功能:
求出二维数组周边元素之和,作为函数值返回。
二
维数组的值在主函数中赋予。
#defineM4
#defineN5
#include<>
voidwwjt();
intfun(inta[M][N])
{
ints=0;
inti,j;
for(i=0;is=s+a[i][0]+a[i][N-1];
for(j=1;js=s+a[0][j]+a[M-1][j];
returns;
第16题题号:
364
功能:
求一个四位数的各位数字的立方和。
#include<>
voidwwjt();
intfun(intn)
{
intd,s=0;
while(n>0)
{d=n%10;
s+=d*d*d;
n/=10;
}
returns;
第17题题号:
339
功能:
判断整数x是否是同构数。
若是同构数,函数返回1;
否则返回0。
x的值由主函数从键盘读入,要求不大
于100。
说明:
所谓“同构数”是指这样的数,这个数出现在它的
平方数的右边。
例如:
输入整数5,5的平方数是25,5是25中右侧的数,所
以5是同构数。
#include<>
voidwwjt();
intfun(intx)
{
intk;
k=x*x;
if((k%10==x)||(k%100==x))
return1;
else
return0;
第18题题号:
331
功能:
找出一个大于给定整数且紧随这个整数的素数,并
作为函数值返回。
#include<>
#include""
voidwwjt();
intfun(intn)
{
inti,k;
for(i=n+1;;i++){
for(k=2;k
if(i%k==0)
break;
if(k==i)
return(i);
}
第19题题号:
317
功能:
求出N×M整型数组的最大元素及其所在的行坐标及
列坐标(如果最大元素不唯一,选择位置在最前面
的一个)。
例如:
输入的数组为:
123
4156
12189
10112
求出的最大数为18,行坐标为2,列坐标为1。
#defineN4
#defineM3
#include<>
voidwwjt();
intRow,Col;
intfun(intarray[N][M])
{
intmax,i,j;
max=array[0][0];
Row=0;
Col=0;
for(i=0;i{for(j=0;jif(max{max=array[i][j];
Row=i;
Col=j;}
}
return(max);
第20题题号:
360
【程序设计】
功能:
把20个随机数存入一个数组,然后输出该数组中的
最大值。
#include<>
#defineVSIZE20
voidwwjt();
intvector[VSIZE];
intfun(intlist[],intsize)
{
inti,max=0;
for(i=1;iif(list[max]max=i;
returnmax;
第21题题号:
355
功能:
对长度为8个字符的字符串,将8个字符按降序排列。
例如:
原来的字符串为CEAedcab,排序后输出为edcbaECA。
#include<>
#include<>
#include<>
voidwwjt();
voidfun(char*s,intnum)
{
inti,j;
chart;
for(i=0;ifor(j=i+1;jif(s[i]
{t=s[i];s[i]=s[j];s[j]=t;}
第22题题号:
405
功能:
编写函数fun计算下列分段函数的值:
x^2+x+6x<0且x≠-3
f(x)=x^2