c语言程序设计题目及答案.docx

上传人:b****5 文档编号:7823648 上传时间:2023-01-26 格式:DOCX 页数:56 大小:31.17KB
下载 相关 举报
c语言程序设计题目及答案.docx_第1页
第1页 / 共56页
c语言程序设计题目及答案.docx_第2页
第2页 / 共56页
c语言程序设计题目及答案.docx_第3页
第3页 / 共56页
c语言程序设计题目及答案.docx_第4页
第4页 / 共56页
c语言程序设计题目及答案.docx_第5页
第5页 / 共56页
点击查看更多>>
下载资源
资源描述

c语言程序设计题目及答案.docx

《c语言程序设计题目及答案.docx》由会员分享,可在线阅读,更多相关《c语言程序设计题目及答案.docx(56页珍藏版)》请在冰豆网上搜索。

c语言程序设计题目及答案.docx

c语言程序设计题目及答案

一、程序设计共113题

第1题题号:

319

#include"stdio.h"

voidwwjt();

intfun(intm){inti,k=1;

if(m<=1)k=0;

for(i=2;i

if(m%i==0)k=0;

returnk;}第2题题号:

351

-----------

功能:

请编一个函数voidfun(int

tt[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

for(i=1;i

if(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"conio.h"

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"conio.h"

voidwwjt();

longintfun(intn)

{longs=1,i;

for(i=2;i<=n;i++)

if(n%i==0)s=s*i;

returns;}第6题题号:

50

功能:

求出菲波那契数列的前一项与

后一项xx的极限的

近似值例如:

当误差为

0.0001

时,函数值为

0.618056。

#include

#include"math.h"

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"stdlib.h"

#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合并形成一个整数放在

cxx。

合并的方式是:

将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位小数,intfun(intn){intsum,i;

sum=0;

for(i=1;i<=n;i++)

{sum=sum+i;}

return(sum);

并对第三位进行四舍

五入。

#include

#include"conio.h"

voidwwjt();

doublefun(floath){inti;

i=(int)(h*1000)%10;

if(i>=5)

return(int)(h*100+1)/

100.0;

else

return(int)(h*100)/

100.0;

第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();第14题题号:

507

功能:

编写函数fun求一个字符串的长度,在main函数中

输入字符串,并输出其xx。

#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;i

s=s+a[i][0]+a[i][N-1];for(j=1;j

s=s+a[0][j]+a[M-1][j];returns;

第16题题号:

364

功能:

求一个四位数的各位数字的立方和。

#includevoidwwjt();

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是25xx右侧的数,所

以5是同构数。

#include

voidwwjt();

intfun(intx){intk;

k=x*x;

if((k%10==x)||(k%100==x))

return1;

else

return0;

第18题题号:

331

功能:

找出一个大于给定整数且紧随

这个整数的素数,并

作为函数值返回。

#include

#include"conio.h"

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整型数组的最大元素及其所在的行坐标及

列坐标(如果最大元素不唯一,选择位置在最前面

的一个)。

例如:

输入的数组为:

12341561218910112

求出的最大数为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;j

if(max

{max=array[i][j];

Row=i;

Col=j;}}return(max);

第20题题号:

360

【程序设计】功能:

把20个随机数存入一个数组,

然后输出该数组中的

最大值。

#include

#defineVSIZE20

voidwwjt();

intvector[VSIZE];

intfun(intlist[],intsize)voidwwjt();

floatfun(floatx){floaty;

if(x<0&&x!

=-

3.0)

y=x*x+x+6;

elseif(x>=0&&x<

10.0&&x!

=

2.0&&x!

=

3.0){inti,max=0;

for(i=1;i

if(list[max]

max=i;

returnmax;

第21题题号:

355

功能:

对xx为8个字符的字符串,

将8个字符按降序排列。

例如:

原来的字符串为CEAedcab,排序

后输出为edcbaECA。

#include

#include

#include

voidwwjt();

voidfun(char*s,intnum){inti,j;

chart;

for(i=0;i

for(j=i+1;j

if(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-5x+60≤x<10

且x≠2及x≠3

x^2-x-1其它

#includey=x*x-5*x+6;

elsey=x*x-x-1;

returny;

第23题题号:

338

功能:

编写程序,实现矩阵(3行3列)的转置(即行列互换)

例如:

输入下面的矩阵:

100200300

400500600

700800900

程序输出:

100400700

200500800

300600900

#include

voidwwjt();

intfun(intarray[3][3]){

inti,j,t;

for(i=0;i<3;i++)for(j=0;j

array[i][j]=array[j][i];array[j][i]=t;}

第24题题号:

392

功能:

求一批数中最大值和最小值的积。

#defineN30

#include"stdlib.h"

#include

voidwwjt();

intmax_min(inta[],intn){inti,max,min;

max=min=a[0];

for(i=1;i

if(a[i]>max)max=a[i];

elseif(a[i]

return(max*min);

第25题题号:

407

功能:

编写函数fun求

sum=d+dd+ddd+„„+dd...d(n个d),if(i==j||i+j==N-1)t=t*arr[i][j];return(t);

第27题题号:

42

功能:

从字符串sxx删除指定的字符c。

#include

voidwwjt();

fun(chars[],charc){其中d为1-9的数字。

例如:

3+33+333+33+333(此时

d=3,n=5),d和n在主函

数中输入。

#include

voidwwjt();

longintfun(intd,intn){longints=0,t=0;

inti;

for(i=1;i<=n;i++)

{t=t+d;

s=s+t;

d=d*10;}returns;

第26题题号:

395

--------------------------------

---------------

功能:

求n阶方阵主、副对角线上的

元素之积。

--------------------------------

----------------*/

#defineN4

#include"stdlib.h"

#include

voidwwjt();

floatmul(intarr[][N]){inti,j;

floatt=1;

for(i=0;i

for(j=0;j

for(i=0;s[i]!

='\0';i++)if(s[i]!

=c)s[k++]=s[i];s[k]='\0';

第28题题号:

311

功能:

计算n门课程的平均值,计算结果作为函数值返回。

例如:

若有5门课程的成绩是:

92,76,69,58,88,

则函数的值为

76.6000。

#include

voidwwjt();

floatfun(inta[],intn){

inti;

floaty=0;

for(i=0;i

y+=a[i];

y=y/n;

returny;

第29题题号:

348

功能:

从低位开始取出长整型变量s中偶数位上的数,依次

构成一个新数放在txx。

例如:

当s中的数为:

时,t中的数为:

642。

#include

voidwwjt();

longfun(longs,longt){

longsl=10;

s/=10;

t=s%10;

while(s>0){s=s/100;

t=s%10*sl+t;

sl=sl*10;

----------------------

功能:

编写函数求

3!

+6!

+9!

+12!

+15+18!

+21!

#include

voidwwjt();

floatsum(intn){inti,j;

floatt,s=0;

for(i=3;i<=n;i=i+3)

{t=1;

for(j=1;j<=i;j++)

t=t*j;

s=s+t;}

return(s);

第31题题号:

397

功能:

编写函数fun(str,i,n),从字

符串strxx删除第i个

字符开始的连续n个字符(注

意:

str[0]代表字符串

的第一个字符)。

#include

voidwwjt();

fun(charstr[],inti,intn){while(str[i+n-1]){str[i-1]=str[i+n-1];

i++;}str[i-1]='\0';

第32题题号:

29

功能:

对任意输入的x,用下式计算

并输出y的值。

5x<10

y=0x=10

-5x>10

#include

voidwwjt();intfun(intn){

答案:

intm;

if(n<10)

m=5;

else

if(n==10)m=0;

elsem=-5;

returnm;或intm;

if(n>=10)

if(n>10)

m=-5;

elsem=0;

elsem=5;

returnm;

第33题题号:

323

功能:

求1到w之间的奇数之和。

(w是大于等于100小于等

于1000的整数)

#include

#include"conio.h"

voidwwjt();

longfun(intw){longy=0;

inti;

for(i=1;i<=w;i++)

if(i%2==1)y+=i;

returny;

第34题题号:

312

功能:

调用函数fun判断一个三位数是否"水仙花数"。

在main函数中从键盘输入一个三位数,并输

出判断结果。

请编写fun函数。

说明:

所谓"水仙花数"是指一3位数,其各位数字立方和

等于该数本身。

例如:

153是一个水仙花数,因为153=1+125+27。

#include

voidwwjt();intfun(intn){intbw,sw,gw;

bw=n/100;sw=(n-bw*100)/10;gw=n%1

0;

if(n==bw*bw*bw+sw*sw*sw+gw*gw*gw){

答案:

for(m=-i;m<=i;m++){

for(n=0;n

for(n=0;n<7-2*abs(m);n++)printf("*");

printf("\n");

return1;

elsereturn0;

第35题题号:

378

功能:

编写函数用冒泡排序法对数组

中的数据进行从小到

大的排序。

#include

#include

voidwwjt();

voidsort(inta[],intn){inti,j,t;

for(i=0;i

for(j=0;j

if(a[j]>a[j+1])

{t=a[j];

a[j]=a[j+1];

a[j+1]=t;}第36题题号:

504

功能:

编写程序打印如图1所示图形。

****

*****

*******

*****

****要求:

要求使用abs()。

#include

#include"math.h"

voidwwjt();

voidfun(inti)}

第37题题号:

342

功能:

在键盘上输入一个3行3列矩阵的各个元素的值(值

为整数),然后输出矩阵第一行与第三行元素之和,

并在fun()函数中输出。

#include

voidwwjt();

main(){inti,j,s,a[3][3];

for(i=0;i<3;i++){for(j=0;j<3;j++)

scanf("%d",&a[i][j]);}

s=fun(a);

printf("Sum=%d\n",s);

wwjt();}intfun(inta[3][3]){intsum;

inti,j;

sum=0;

for(i=0;i<3;i+=2)

for(j=0;j<3;j++)

sum=sum+a[i][j];

returnsum;

第38题题号:

382

功能:

给定n个数据,求最小值出现的位置(如果最小值

出现多次,求出第一次出现的

位置即可)。

for(i=0;c[i]!

='\0';i++)#include

voidwwjt();

intstation(ints[],intn){inti,k;

k=0;

for(i=1;i

if(s[i]

return(k);

第39题题号:

62

功能:

求5行5xx矩阵的主、副对角

线上元素之和。

注意,

两条对角线相交的元素只加一

次。

例如:

主函数中给出的矩阵的两条对

角线的和为45。

#include

#defineM5

voidwwjt();

intfun(inta[M][M]){ints=0;

inti,j;

for(i=0;i

s=s+a[i][i]+a[i][M-1-i];

s=s-a[(M-1)/2][(M-1)/2];

returns;

第40题题号:

503

题目:

分别统计字符串中字母、数字、

空格和其他字符出现的

次数(字符xx小于80)。

#include

voidwwjt();

/*-全局变量,a用于保存字母个数、

num用于保存数字个数

b用于保存空格个数、other用于保存

其他字符字数*/

inta=0,num=0,b=0,other=0;

voidcount(charc[]){

答案:

inti;if((c[i]>='A'&&c[i]<='Z')||(c[i]>='a'&&c[i]<='z'))

a=a+1;

elseif

(c[i]>='0'&&c[i]<='9')

num=num+1;elseif(c[i]=='')

b=b+1;else

other=other+1;第41题题号:

387

功能:

求一批数中最大值和最小值的差。

#defineN30

#include"stdlib.h"

#include<

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 自我管理与提升

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1