-3)z=log(x+3);elsez=sin(x)/(cos(x)+4);return(z);}第4题题号:334功能:求给定正整数n以内的 " />

-3)z=log(x+3);elsez=sin(x)/(cos(x)+4);return(z);}第4题题号:334功能:求给定正整数n以内的"/>

c语言题目

更新时间:2023-03-03 12:33:04 阅读: 评论:0

史玉柱脑白金-武汉风俗

c语言题目
2023年3月3日发(作者:西藏自驾游)

1/80

一、程序设计共口3题

第1题题号:319

#include"stdio.h"

voidwwjt();

intfun(intm){inti,k=l;

if(m<=l)k=0;

for(i=2;i

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

returnk;}第2题题号:351

功能:

i青编一个函数voidfun(int

tt[M][N]Jntpp[N]),

2/80

tt指向一个M行N列的二维数

组,求出二维数组每列

中最大元素,并依次放入pp所

指一维数组中。二维

数组中的数已在主函数中赋

予。

#include

#include

#defineM3

#defineN4

voidwwjt();

voidfun(inttt[M][N],intpp[N]){intij;

for(j=0;j

for(i=l;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/80

3)z=sin(x)/((cos(x)+4)#include

#include

voidwwjt();

doubley(floatx){doublez;

if(x>10)z=exp(x);

elif(x>-3)z=log(x+3);elz=sin(x)/(cos(x)+4);return(z);}第4题题号:334

功能:

求给定正整数n以内的素数之积。(*28)

#include

#include,,

longfun(intn){longi,k;

longs=l;

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

{for(k=2;k

if(i%k==O)break;

if(k==i)s=s*i;}returns;}第5题题号:333

4/80

功能:

计算并输出给定整数的所有因子之积(包括自身)。

规定这个整数的值不大于50o

#include

#include"conio.h"

voidwwjt();

longintfun(intn)

{longs=l,i;

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

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

returns;}第6题题号:50

功能:

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

后一项xx的极限的

近似值例如:

当误差为

0.0001

时,函数值为

0.618056。

5/80

#include

include"math.h"

voidwwjt();

floatfun(){floatfl=l,f2=l,f3;

floatrl=2,r2;

do

{r2=rl;

rl=fl/f2;

f3=fl+f2;

fl=f2;

f2=f3;

}while(fabs(rl-r2)>le-4);

returnrl;}第7题题号:394

功能:

产生20个[30,120]上的随机整

数放入二维数组

a⑸⑷中,求其中的最小值。

#include"stdlib.h"

#include

6/80

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]U])s=a[i]D];

return(s);

}第8题题号:337

功能:

将两个两位数的正整数a、b合并形成一个整数放在

CXXo合并的方式是:

将a数的十位和个位数依次放

在c数的百位和个位上,b数的十位和个位数依次放

在c数的十位和千位上。

例如:

当a=45,b=12o调用该函数后,c=2415o

inelude

voidwwjt();

voidfun(inta,intb,long*c){

7/80

*c=a/10*100+a%10+b/10*10+b%10*1000;}第9题题号:388

功能:

编写函数判断一个整数能否同时被3和5整除,若能

则返回值为1,否则为0。调用该函数求出15^300之

间能同时被3和5整除的数的个数。

#include

voidwwjt();

intsumfintn){if(n%3==0&&n%5==0)return

(l);return

(0);}

第10题题号16

功能:

编写函数fun求l!+2!+3!+〃〃+n!的和,在main函

数中由键盘输入n值,并输出运算结果。请编写fun

函数。

例如:

若n值为5,则结果为153。

#include

voidwwjt();

8/80

longintfun(intn){inti;

floatf=l,s=O;

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

s=s+f;}

returns;

第11题题号:329

功能:

对某一正数的值保留2位小数,intfun(intn){intsumj;

sum=0;

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

{sum=sum+i;}

return(sum);

并对第三位进行四舍

五入。

#include

#include"conio.h"

voidwwjt();

doublefun(floath){inti;

9/80

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

if(i>=5)

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

100.0;

el

return(int)(h*100)/

100.0;

第12题题号:410

功能:

编写函数fun将一个数组中的

值按逆序存放,并在

main()函数中输出。

例如:

原来存顺序为86541。要求

改为:14568。

#include

#defineN5

voidwwjt();

intfun(intarr[],intn){inti,t;

10

for(i=0;i

{t=arr[i];

arr[i]=arr[n-l-i];

arr[n-l-i]=t;}B13题题号:327

功能:

能计算从1开始到n的自然数

的和,n由键盘输入,并在main()函数中输出。

#include

voidwwjt();第14题题号:507

功能:

编写函数fun求一个字符串的长度,在main函数中输入字符串,并输出其XX。

#include

voidwwjt();

intfun(char*pl){char*p;

intn=0;

P=P1;

while(*p++)

n++;

returnn;

11

第15题题号:44

功能:

求出二维数组周边元素之和,作为函数值返回。二

维数组的值在主函数中赋予。

#defineM4

#defineN5

#include

voidwwjt();

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

intij;

for(i=0;i

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

第16题题号:364

功能:

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

#ineludevoidwwjt();

intfun(intn){intd,s=O;

while(n>0)

{d=n%10;

s+=d*d*d;

n/=10;}returns;

12/80

第17题题号:339

功能:

判断整数x是否是同构数。若

是同构数,函数返回1;

否则返回0。x的值由主函数从

键盘读入,要求不大

于100o

说明:

所谓“同构数〃是指这样的数,

这个数岀现在它的

平方数的右边。

例如:

输入整数5,5的平方数是25,

5是25xx右侧的数,所

以5是同构数。

^include

voidwwjt();

intfun(intx){intk;

13/80

k=x*x;

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

return1;

el

return0;

第18题题号:331

功能:

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

这个整数的素数,并

作为函数值返回。

#include

#include"conio.h"

voidwwjt();

intfun(intn){inti,k;for(i=n+l;;i++){

for(k=2;k

if(i%k==O)

break;

if(k==i)

return(i);}第19题题号:317

14/80

功能:

求出NXM整型数组的最大元素及其所在的行坐标及列坐标(如果最大元素不唯一,

选择位置在最前面的一个)。

例如:

输入的数组为:

910112

求出的最大数为18,行坐标为2,列坐标为1。

#defineN4

#defineM3

#include

voidwwjt();

intRow,Col;

intfun(intarray[N][M]){

intmaxJJ;

max=array[0][0];

Row=0;

Col=0;

for(i=0;i

{for(j=0;j

15/80

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;

elif(x>=0&&x<

16/80

10.0&&x!=

2.0&&x!二

3.0){inti,max=0;

for(i=l;i

if(list[max]

max=i;

returnmax;

第21题题号:355

功能:

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

将8个字符按降序排列。

例如:

原来的字符串为CEAedcab,排序

后输出为edcbaECAo

#include

#include

#include

voidwwjt();

voidfun(char*s,intnum){intij;

17/80

chart;

for(i=0;ivnum;i++)

for(j=i+l;j

if何i]

{t=s[i];s[i]=sD];s[j]=t;}

第22题题号:405

功能:

编写函数fun计算下列分段函

数的值:

xA2+x+6x<0且

x#-3

f(x)=xA2-5x+60

且xH2及xH3

xA2-x-l其它

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

ely=x*x-x-l;

returny;

第23题题号:338

18/80

功能:

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

例如:

输入下面的矩阵:

100200300

400500600

700800900

程序输出:

100400700

200500800

300600900

#include

voidwwjt();

intfun(intarray⑶[3]){

intij,t;

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

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

第24题题号:392

19/80

功能:

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

#defineN30

#include"stdlib.h"

#inelude

voidwwjt();

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

max=min=a[0];

for(i=l;ivn;i++)

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

elif(a[i]

return(max*min);

第25题题号:407

功能:

编写函数fun求

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

第27题题号:42

20/80

功能:

从字符串sxx删除指定的字符Co

#inelude

voidwwjt();

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

例如:3+33+333+33+333(此时

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

数中输入。

#include

voidwwjt();

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

inti;

for(i=l;i<二n;i++)

{t=t+d;

s=s+t;

d=d*10;}returns;

第26题题号:395

21/80

功能:

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

元素之积。

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

#defineN4

#include"stdlib.h"

#include

voidwwjt();

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

floatt=l;

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,

22/80

则函数的值为

76.6000。

#include

voidwwjt();

floatfun(inta[],intn){

inti;

floaty=0;

for(i=0;ivn;i++)

y+=a[i];

y=y/n;

returny;

第29题题号:348

功能:

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

构成一个新数放在tXXo

例如:

当s中的数为:时,t中的数为:642o

#include

voidwwjt();

23/80

longfun(longs,longt){

longsl=10;

s/=10;

t=s%10;

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

t=s%10*sl+1;

si=si*10;

功能:

编写函数求

3!+6!+9!+12!+15+18!+21!o

#include

voidwwjt();

floatsum(intn){intij;

floatt,s=0;

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

{t=l;

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

24/80

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-l]){str[i-l]=str[i+n-l];

i++;}str[i-l]=,Ol;

第32题题号29

功能:

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

并输出y的值。

5x<10

25/80

y=0x=10

-5x>10

#include

voidwwjt();intfun(intn){

答案:

intm;

if(n<10)

m=5;

el

if(n==10)m=0;

elm=-5;

returnm;或intm;

if(n>=10)

if(n>10)

m=-5;

elm=0;

elm=5;

returnm;

第33题题号:323

26/80

功能:

求1到w之间的奇数之和。(w是大于等于100小于等

于1000的整数)

#include

#include"conio.h"

voidwwjt();

longfun(intw){longy=0;

inti;

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

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

returny;

第34题题号:312

功能:

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

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

出判断结果。请编写fun函数。

说明:

所谓”水仙花数”是指一3位数,其各位数字立方和等于该数本身。

例如:153是一个水仙花数,因为153二1+125+27。#include

27/80

voidwwjt();intfun(intn){intbw,sw,gw;bw=n/100;sw=(n-bw*100)/10;gw=n%l

0;

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

答案:

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

for(n=0;nvabs(m);n++)printf(“");

for(n=0;nv7・2*abs(m);n++)printf(”*”);

printf(”n“);

return1;

elreturn0;

第35题题号:378

功能:

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

中的数据进行从小到

大的排序。

#inelude

#include

voidwwjt();

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

for(i=0;i

for(j=0;j

28/80

if(aD]>aU+l])

{t=aU];

a[j]二a[j+l];

a[j+l]二t;}第36题题号:504

功能:

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

****

*******

****要求:

要求使用abs()o

#inelude

include"math.h11

voidfun(inti)}

第37题题号:342

功能:

在键盘上输入一个3行3列矩阵的各个元素的值(值为整数),然后输出矩阵第一行与

第三行元素之和,并在fun()函数中输出。

#include

29/80

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=%dn,,,s);

wwjt();}intfunfinta[3][3]){intsum;

intij;

sum=0;

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

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

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

returnsum;

第38题题号:382

功能:

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

位置即可)ofor(i=0;c[i]!='O';i++)#include

voidwwjt();

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

k=0;

30/80

for(i=l;ivn;i++)

if(s[i]

return(k);

第39题题号:62

功能:

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

线上元素之和。注意,

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

次。

例如:

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

角线的和为45。

#include

#defineM5

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

intij;

for(i=0;i

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

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

returns;

31/80

第40题题号:503

题目:

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

空格和其他字符出现的

次数(字符xx小于80)o

#include

voidwwjt();

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

num用于保存数字个数

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

其他字符字数*/

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

voidcount(charc[]){

答案:

inti;if((c[i]>=lA,&&c[i]v=Z)11(叩]>=8&&玮]<=力)

a=a+l;

el讦

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

32/80

num二num+l;elif(c[i]=='')

b=b+l;el

other=other+l;第41题题号:387

功能:

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

#defineN30

#include"stdlib.h"

#include

voidwwjt();

intmax_min(inta[],intn){

inti,max,min;

max=min=a[0];

for(i=l;ivn;i++)

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

号:347

33/80

功能:

把20个随机数存入一个数组,然后输出该数组中的

最小值。其中确定最小值的下标的操作在fun函数中

实现,请给出该函数的定义。

#include

#defineVSIZE20

voidwwjt();

intvector[VSIZE];intfun(intlist[],intsize){

inti’min=0;for(i=l;i

if(list[min]>list[i])

min=i;

returnmin;

第43题题号:365

功能:

求1到100之间的偶数之积。#include

voidwwjt();

intfun(intarray⑶[3]){

intij;

for(i=0;i<3;i++)#include

34/80

voidwwjt();

doublefun(intm){doubley=l;

inti;

for(i=l;i<=m;i++)

if(i%2==0)y*=i;

returny;

第44题题号:366

功能:

求一组数中大于平均值的数的

个数。

例如:

给定的一组数为

1,3,6,9,4,23,35,67,12,88时,函

数值为3。

#include

voidwwjt();

intfun(inta[],intn){inti,k=0;

floats=0,ave;

for(i=0;ivn;i++)

35/80

s+=a[i];

ave=s/n;

printf("%f舄ave);

for(i=0;ivn;i++)

if(a[i]>ave)k++;

returnk;

第45题题号:361

例如:

输入下面的矩阵:

100200300

400500600

700800900

程序输出:

200400600

8

14for(j=0;j<3;j++)array[i][j]=array[i][j]*2;第46题题号:373

36/80

功能:

用函数求fibonacci数列前n项的和。

说明:

fibonacci数列为数列的第一项值为1,第二项值也

为1,从第三项开始,每一项均为其前面相邻两项

的和。

例如:

当n=28时,运行结果:832039include

voidwwjt();

longsum(longfl,longf2){

Iongf,k=fl+f2;

inti;

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

{f=fl+f2;

k=k+f;

fl=f2;

f2=f;}return(k);

第47题题号:340

37/80

功能:

编写一个函数,该函数可以统计一个长度为2的字符

串在另一个字符串中出现的次数。

例如:

假定输入的字符串为:

asdasdfgasdaszx67asdmklo,字符串为:

as,则应输出6o

#include

#include

#include

voidwwjt();

intfun(char*str,char*substr){

inti’n=0;

for(i=0;i<=strlen(strj・2;i++)

if((str[i]==substr[O])&&(str[i+l

]==substr[l]))

n++;

returnn;

第48题题号:322

38/80

功能:

判断一个整数w的各位数字平

xx和能否被5整除,

可以被5整除则返回1,否则返

回Oo

#include

#include"conio.h"

voidwwjt();

intfun(intw){intk,s=O;

do

{s=s+(w%10)*(w%10);

w=w/10;

}while(w!=0);

if(s%5==O)k=l;

elk=0;

return(k);

第50题题号:411

39/80

功能:

对任意输入的X,用下式计算并输出y的值。

-1x<0

y=ox=o

1x>0

#include

voidwwjt();

intfun(intn){

答案:

intm;

if(nvO)

m=-l;

el

if(n==O)m=0;

elm=l;

returnm;或

intm;

if(n>=0)

if(n>0)

m=l;

elm=0;

40/80

elm=-l;

returnm;

第51题题号:320

功能:

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

为整数),然后输出主对角线元素的积,并在fun()函数中输出。

#include

voidwwjt();

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

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

scanf(”%cT,&a[i][j]);}

s=fun(a);

printf(,,Sum=%dn,,,s);

wwjt();}intfunfinta[3][3]){intsum;

intij;

sum=l;

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

sum=sum*a[i][i];

returnsum;

41/80

第52题题号:318

/功能:

输入一个字符串,过滤此串,只保留串中的字母字符,并统计新生成串中包含的字

母个数。

例如:

输入的字符串为ab234$df4,新

生成的串为abdfo

#include

#includevconio.h>

#defineN80

voidwwjt();

fun(char*ptr){intij;

for(i=0J=0;*(ptr+i)!='0';i++)

if(*(ptr+i)<=,z'&&

*(ptr+i)Xa'||*(ptr+i)v=Z&&

*(ptr+i)>='A,)

{*(ptr+j)=*(ptr+i);

j++;}

*(ptr+j)=,O,;

42/80

return(j);

第53题题号:357

功能:

根据整型形参m,计算如下公式

的值:

+++

+l/(m+5)

例如:

若m=9,则应输出:

1.168229

#include

voidwwjt();

doublefun(intm){doubley=0;

inti;

for(i=0;i<=m;i++)

{y+=

1.0/(i+5);}

return(y);

第54题题号:367

43/80

功能:

找出一批正整数中的最大的偶

数。

#includeintfun(inta[],intn){inti,amax二for(i=0;i

(a[i]>amax)amax=a[i];returnamax;

第55题题号:374

功能:

编写函数实现两个数据的交换,在主函数中输入任意三个数据,调用函数对这三个数

据从大到小排序。#includevoidwwjt();

voidswap(int*a,int*b){intk;

k=*a;

*a=*b;

*b=k;

第56题题号:353

功能:

对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按降序排列。

例如:

原来的字符串为CEAedca,排序后输出为CedcEAa。

#include

#include

#include

44/80

voidwwjt();

voidfun(char*s,intnum){

intij;

chart;

for(i=l;ivnum-l;i++)

for(j=i+l;j

{t=s[i];s[i]=s[j];s[j]=t;}第57题题号:409

题目:

输入华氏温度求摄氏温度。转换公式为(f・32),

输出结果取两位小数。

voidwwjt();

doublefunfdoublem){

答案:

floatn;returnn;

第58题题号:324

45/80

功能:

能计算从1开始到n的自然数

中偶数的平方的和,n由

键盘输入,并在main()函数中

输出。(n是偶数)

#include

voidwwjt();

intfun(intn){intsum,i;

sum=0;

for(i=2;i<=n;i二i+2){sum二sum+i*i;}return(sum);

第59题题号53

功能:

求一个四位数的各位数字的立

方和

inelude

voidwwjt();

intfun(intn){intd,k,s=O;

while(n>0)

{d=n%10;

s+=d*d*d;

46/80

n/=10;}returns;

第60题题号:389

功能:

编写函数求表达式的和(n的值

由主函数输入)。

例如:

当n=20时,表达式的值为

0.668771。

#include

voidwwjt();

doublesum(intn){floats=0;inti,k=l;

for(i=l;i<二n;i++)

{s=s+k*

1.0/i;

k=-k;}return(s);

第61题题号:350

/功能:

请编一个函数voidfun(inttt[M][N],intpp[N]),

47/80

tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所

指一维数组中。二维数组中的数已在主函数中赋予。

#include

#include

#defineM3

#defineN4

voidwwjt();

voidfun(inttt[M][N],intpp[N]){

intij;

for(j=0;j

for(i=l;i

if(tt[i][j]vpp[j])

PP[j]=tt[i][j];}第62题题号:356

功能:

求大于limdim小于100的整数)并且小于100的所有素数并放在aa数组中,该函

数返回所求出素数的个数。

#include

#include

#defineMAX100

voidwwjt();

48/80

intfun(intlim,intaa[MAX]){

intn=0;

intij;

for(i=lim;i<=100;i++)

{for(j=2;j

if(i%j==O)break;

if(j==i)aa[n++]=i;}returnn;

第63题题号:399

功能:

编写程序求无理数e的值并输

出。计算公式为:

当l/n!<

0.0001时

2.7182o

include

voidwwjt();

main(){floatfun();

printf("无理数e的值

49/80

是:

%fn",fun());

wwjt();}floatfun(){longintj;

inti,k;

doublee,jc;

i=l;

e=

0.0;

jc=

1.0;

while(jc>=

0.0001){e=e+jc;

j=l;

for(k=l;k<=i;k++)

jc=

1.0/j;

i++;

}returne;

50/80

第64题题号:346

功能:

将从键盘上输入的每个单词的第一个字母转换为大写字母,输入时各单词必须用空格

隔开,用T结束输入。

#include

include"string.h,,

voidwwjt();

intfun(char*c,intstatus){

if(*c=='')return1;

el{if(status&&*c<='z,&&*c>='a')*c+='A'-'a';

return0;}第65题题号:359

功能:

实现两个整数的交换。

例如:

给a和b分别输入:60和65,输入为:

a=65b=60

#include

#include

voidwwjt();

voidfun(int*a,int*b){intt;

51/80

t=*a;*a=*b;*b=t;

第66题题号:386

功能:

用函数求N个[10,60]上的整数中能被5整除的最大

的数,如存在则返回这个最大值,如果不存在则返回0o

#defineN30

#include"stdlib.h"

#include

voidwwjt();

intfind(intarr[],intn){inti;

for(i=0;ivn;i++)

if(arr[i]%5==0&&arr[i]>m)

m=arr[i];

第67题题号:502

#include

题目:

用while语句求1〜100的累计

和。

voidwwjt();

intfun(intn){

52/80

答案:

inti=l,sum=0;

while(i<二n){sum=sum+i;

i++;}returnsum;

第68题题号:336

功能:

从字符串中删除指定的字符。

同一字母的大、小写

按不同字符处理。

例如:

若程序执行时输入字符串为:

turbocandborlandc++

从键盘上输入字符:

n,则输出

后变为:

turbocadbo

53/80

rladc++,如果输入的字符在字

符串中不存在,则字

符串照原样输出。

#include

voidwwjt();

intfun(chars[],intc){char*q=s;

for(;*q;q++)

if(*q!=c)*(s++)=*q;

*s=0;

第69题题号:376

功能:

从键盘上输入任意实数x,求出

其所对应的函数值。

z=(x-4)的二次幕(x>4)

z=x的八次幕(x>-4)

z=z=4/(x*(x+l))(x>-10)

z二|x|+20(其他)#include

#include

voidwwjt();

54/80

floaty(floatx){floatz;

if(x>4)z=sqrt(x-4);

elif(x>-4)z=pow(x,8);elif(x>-10)z=4/(x*(x+l));elz=fabs(x)+20;

return(z);

第70题题号:341

功能:

删除所有值为y的元素。数组元素中的值和y的值由

主函数通过键盘输入。

#include

#include

#include

#defineM20

voidwwjt();

voidfun(intbb[],int*n,inty){

intij;

for(i=0;i<*n;){if(bb[i]==y)

{for(j=i;j<*n;j++)bb[j]=bb[j+l];*n=*n-l;}el

i++;}第71题题号:56

55/80

功能:

找出一批正整数中的最大的偶数。

inelude

voidwwjt();

intfun(inta[],intn){

inti,amax=-l;

for(i=0;ivn;i++)

if(a[i]%2==0)if(a[i]>amax)amax=a[i];

returnamax;

第72题题号:379

功能:

给定n个数据,求最大值出现

的位置(如果最大值出

现多次,求出第一次出现的位置即可)。

#include

voidwwjt();

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

k=0;

for(i=l;i<二n;i++)

56/80

if(s[i]>s[k])k=i;

return(k+l);

第73题题号:37

功能:

输入2个学生3门课的成绩,

计算学生成绩平均分,

课程平均分和最高分.

例如:

输入2名学生3门课的成绩分

别为92,87,68,56,

92,84则

学生1平均分:

82.33

学生2平均分:

77.33

课程1平均分:

74.00

课程2平均分:

89.50

57/80

课程3平均分:

76.00

最咼分为:92

#include

voidwwjt();

/*定义全局变量*/

/*学生成绩平均分*/

floatStuAgv[2];

/*课程平均分*/

floatCouAgv[3];

/*所有学生的所有课程最高分*/

floatMax=0;

广说明:

需要在下面函数中把题干要

求中的结果赋值到上面定义一变量中

*/

voidfun(floatscore⑵[3])

{

58/80

答案:

inti,j;

floatsum;

for(i=0;i<2;i++)/*计算第i个学生平均分*/{

sum=0;

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

sum=sum+score[i][j];StuAgv[i]=sum/3;}for(j=0;j<3;j++)/*计算第j门课的平均分*/{

sum=O;

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

sum=sum+score[i][j];CouAgv[j]=sum/2;}Max=score[0][0];

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

for(j=0;j<3;j++)if(Max<=score[i][j]){Max=score[i][j];}

return;

第74题题号:33

功能:

用do-while语句求1〜100的累计和。

#include

voidwwjt();

longintfun(intn){

59/80

答案:

inti=1,sum=0;do

{sum=sum+i;

i++;

}while(iv=n);

returnsum;

第75题题号:372

题目:

用函数求一个N阶方阵右下三角元素的和(包括副对角线上的元素)。

#include

#include

#defineN3

voidwwjt();

intsumfinta[][N]){inti,j,k=O;

for(i=0;i

for(j=N-l-i;j

k二k+a[i][j];

return(k);

第76题题号:326

60/80

功能:

求一个大于10的n位整数的后

ml位的数,并作为函

数值返回。

#include

#include"conio.h"

voidwwjt();

intfun(intw){intn=0;inti=l;

while(w>10)

{n=n+i*(w%10);

w/=10;

i*=10;}

returnn;

第77题题号:369

61/80

功能:

编写函数判断一个整数m的各

位数字之和能否被7整除,

可以被7整除则返回1,否则返

回0。调用该函数找出

100^200之间满足条件的所有数。

inelude

voidwwjt();

(intm){intk,s=O;

do

{s=s+m%10;

m=m/10;

}while(m!=0);

if(s%7==0)k=l;elk=0;

return(k);

第78题题号:332

功能:

根据整型参数n,计算如图公式的值。

#include

62/80

#include"conio.h"

voidwwjt();

tn){doublea=l;inti;

for(i=l;ivn;i++)

a=

1.0/(l+a);

returna;

第79题题号:349

功能:

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

构成一个新数放在t中。

例如:

当s中的数为:时,t中的数为:7531o

#include

voidwwjt();

longfun(longs」ongt){

longsl=10;

63/80

t=s%10;

while(s>0)

{s=s/100;

t=s%10*sl+1;

si=si*10;

第80题题号:401

若x、y为奇数,求x到y之间的奇数和;数,

则求x到y之间的偶数和。

#include

voidwwjt();

intfun(intx’inty){inti,s=0;

for(i=x;i<=y;i+=2)

s=s+i;

returns;

功能:

用辗转相除法求两个整数的最大公约数。

voidwwjt();

int(intn,intm){intr,t;

if(nvm){t=n;n=m;m=t;}

r=n%m;

while(r!=0)

若X、y为偶

#include

64/80

{n=m;m=r;r二n%m;}

return(m);

第83题题号:362

功能:

求给定正整数m以内的素数之和。

例如:

当m=20时,函数值为77。

#include

voidwwjt();

intfun(intm){inti,k,s=O;

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

{for(k=2;k

if(i%k==O)break;

if(k==i)s=s+i;}returns;

第84题题号:398

功能:

编写函数fun求s=lAk+2Ak+3Ak

+……+NM的值,

65/80

(1的K次方到N的K次方的累

加和)。

#defineK4

#defineN5

#include

voidwwjt();

longfun(intn」ntk){longpower,sum=0;

intij;

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

{power=i;

for(j=l;j

sum+=power;}returnsum;

第85题题号:391

功能:

将字符串中的小写字母转换为对应的大写字母,其它字符不变。

#inelude"

#include

voidwwjt();

voidchange(charstr[]){inti;

for(i=0;str[i]!='O';i++)if(str[i]>='a'&&str[i]<=,z,)

str[i]二str[i卜32;第86题题号:316

66/80

功能:

统计出若干个学生的平均成绩,最高分以及得最高

分的人数。

例如:

输入10名学生的成绩分别为92,87,68,56,92,

84,67,75,92,66,则输出平均成绩为

77.9,

最高分为92,得最高分的人数为3人。

#include

voidwwjt();

floatMax=0;

intJ=0;

floatfun(floatarray[],intn){

inti;floatsum=0,ave;

Max=array[0];

for(i=0;ivn;i++)

{if(Max

sum=sum+array[i];}ave=sum/n;

for(i=0;ivn;i++)if(array[i]==Max)J++;

67/80

return(ave);

第87题题号:381

功能:

求一批数中小于平均值的数的

个数。

#include

voidwwjt();

intaverage_num(inta[],intn){inti,sum=0,k=0;

doubleaverage;

for(i=0;ivn;i++)

sum=sum+a[i];

average=sum*

1.0/n;

for(i=0;ivn;i++)

if(average>a[i])k++;

return(k);

第88题题号:310

68/80

功能:

计算并输出给定整数n的所有

因子之和(不包括1与

自身)。

注意:

n的值不大于1000o

例如:

n的值为855时,应输出704。

#include

voidwwjt();

intfun(intn){ints=0,i;

for(i=2;ivn;i++)

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

returns;

89题题号:501

#include

69/80

题目:

从键盘输入一个大写字母,要

求改用小写字母输出。

#include

voidwwjt();

charfun(charc){

答案:

c=c+32;

returnc;

第90题题号:400

功能:

编写main程序调用函数fact

求解从m个元素选n个元素的组合数的个数。计算公式是:

组合数=m!/(n!・(rrvn)!)。要求:

nn不能小于n,否则

应有容错处理。

说明:

函数fact(x)的功能是求xlo

#include

70/80

voidwwjt();

longfact(intx){longy;

inti;

y=i;

for(i=l;i<=x;i++)

y=y*i;

returny;}main(){intm,n;

longzhsgs;

printff"请输入m和n:

n");scanf("%d%d"/&m,&n);

while(m

nH);

scanf("%d%d"/&m,&n);}zhsgs=fact(m)/(fact(n)*fact(m-n));

printff"JA%d个元素选%01个元素的组合数的个数是:

%dn",m,n,zhsgs);wwjt();

第91题题号:54

功能:

求1到100之间的偶数之积。

#inelude

71/80

voidwwjt();

doublefun(intm){doubley=l;

inti;

for(i=l;i<=m;i++)

if(i%2==0)y*=i;

returny;

第92题题号:352

功能:

根据整型形参m,计算如下公式

的值:

++

I•■■IO

例如:

若m=9,则应输出:

1.414484

#inelude

voidwwjt();

doublefun(intm){doubley=0;

inti;

72/80

for(i=l;i<=m;i++)

{y+=

1.0/(2*i);}

return(y);

第93题题号:383

功能:

用函数实现字符串的复制,不

允许用strepyf)函数。

#include

voidwwjt();

voidcopy(charstrl[],charstr2[]){inti;

for(i=0;strl[i]!='0';i++)

str2[i]=strl[i];

str2[i]='O';

从键盘为一维整型数组输入10个整

数,调用fun函数

找出其中最小的数,并在main

函数中输出。

#include

73/80

voidwwjt();

intfun(intx[],intn){intmin);

min二刈0];

for(i=l;ivn;i++)

{if(x[i]

returnmin;

第95题题号:403

功能:

编写函数fun,求任一整数m的n次方。

inelude

voidwwjt();

longfun(intm’intn){longintx=l;

inti;

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

x=x*m;

returnx;

第96题题号23

74/80

功能:

从键盘输入一个大于3的整数,调用函数fun判断

其是否素数,然后在main函数中输出相应的结论

信息。

例如:7是素数,8不是素数。请编写fun函数。素数是

仅能被1和自身整除的数include

voidwwjt();

intfun(intn){inti;

intj;

j=1;

for(i=2;ivn;i++)

{if(n%i==O)j=0;}returnj;

第97题题号:358

功能:

根据整型形参m,计算如下公式的值:

y=sin(m)*10o

例如:

若m=9,则应输出:

4.121185#include

75/80

#include"math.h"

voidwwjt();

doublefun(intm){doubley=0;

y=sin(m)*10;

return(y);

第98题题号:335

功能:

求一个n位自然数的各位数字

的积。(n是小于10的

自然数)

#include

#include"conio.h"

voidwwjt();

longfun(longn){longd,s=l;

while(n>0)

{d=n%10;

s*=d;

n/=10;}returns;

76/80

第99题题号:509

功能:

编写函数fun其功能是:

根据

整型形参m,计算如下

公式的值:

y=l+++

+„+l/(2m+l)

例如:

若m=9,则应输出:

2.133256

#include

voidwwjt();

doublefun(intm){doubley=l;

inti;

for(i=l;i<=m;i++)

{y+=

1.0/(2*i+l);}

return(y);

77/80

第100题题号:22

功能:

从键盘为一维整型数组输入10

个整数,调用fun

函数找出其中最小的数,并在

main函数中输出。

请编写fun函数。

#include,lstdio.h,'

voidwwjt();

intfun(intx[],intn)

{intmin,i;

min二刈0];

for(i=l;ivn;i++)

{if(x[i]

第101题题号:377

功能:

编写函数用选择排序法对数组中的数据进行从小到大的排序。

#include

78/80

#include

voidwwjt();

voidsort(inta[],intn){

int

for(i=0;i

{k=i;

for(j=i+l;jvn;j++)

if(a[k]>aU])k=j;

if(k!=i)

{t=a[i];

a[i]=a[k];

a[k]=t;}}

第102题题号:321

/功能:

编写函数fun其功能是:

根据整型形参m,计算如下

公式的值:

m是偶数)#include

79/80

voidwwjt();

doublefun(intm){

答案:

doubley=

0.0;

intij;

doubles=l;

for(i=2;i<=m;i+=2){for(j=i-l;j<=i;j++)

s=s*j;y=y+

1.0/s;}returny;

第103题题号:328

功能:

求k!(k(13),所求阶乘的值作为函数值返回。

(要求使用递归)

inelude

#include"conio.h"

voidwwjt();

longfunfintk){if(k>0)

return(k*fun(k-l));

80/80

elif(k==O)

returnIL;

第104题题号:354

功能:

求小于lim的所有素数并放在

aa数组中,该函数返回

所求出素数的个数。

#include

#include

#defineMAX100intfun(intlim,intaa[MAX]){intn=0;intij;

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

{for(j=2;j

if(i%j==O)break;

if(j==i)aa[n++]二i;}returnn;

第105题题号:325

81/80

功能:

在键盘上输入一个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(”%cf,&a[i][j]);}

s=fun(a);

printf("Sum=%dn"/s);

wwjt();}intfunfinta[3][3]){intsum;

inti;

sum=O;

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

sum=sum+a[i][i]*a[i][i];returnsum;

第106题题号:390

功能:

编写函数求1YL00中奇数的平方和。结果为166650。

#include

voidwwjt();

82/80

floatsum(intn){floats=0;

inti;

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

••

s=s+ri;

return(s);

第107题题号:396

功能:

编写函数fun用比较法对主程序中用户输入的具有10个数据的数组a按由大到小排

序,并在主程序中输出排序结果。

#include

voidwwjt();

intfun(intarray[],intn){

intk,j,t;

for(k=0;k

for(j=k+l;j

if(array[k]

array[k]=array[j];

array[j]=t;}B108题题号:384

83/80

功能:

产生20个[30,120]上的随机整

数放入二维数组a[5][4]

中,求每行元素的和。

#include"stdlib.h"

#include

voidwwjt();

voidrow_sum(inta[5][4]」ntb[5]){intij;

for(i=0;i<5;i++)

{b[i]=0;

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

b[i]=b[i]+a[i][j];}B109题题号:368

84/80

功能:

求一分数序列,,,

的前n项之和。

说明:

每一分数的分母是前两项的分

母之和,每一分数的

分子是前两项的分子之和

例如:

求前20项之和的值为

32.660259。

#include

voidwwjt();

floatfun(intn){inti;

floatfl=l,f2=l,f3,s=0;

for(i=l;i<二n;i++)

{f3=fl+f2;

fl=f2;

f2=f3;s=s+f2/fl;}returns;

第110题题号:452

85/80

功能:

有一个一维数组score,内放10个学生的成绩,用一

个函数来求平均成绩。

个学生的成绩分别为92,87,68,56,92,84,

70,65,90,60则平均成绩为:

76.4000

#include

voidwwjt();

floataverage(floatarray[10]){

inti;

floataver,sum=array[0];for(i=l;i<10;i++)

sum=sum+array[i];aver=sum/10;

returnaver;

第111题题号:330

功能:

计算出k以内最大的10个能被13或17整除的自然数之

和。(k(3000)o

#include

#include"conio.h"

86/80

voidwwjt();

intfun(intk){inta=0,b=0;

while((k>=2)&&(b<10))

{if((k%13==0)11(k%17==0)){a=a+k;b++;}

k-;}returna;

第112题题号:363

功能:

求一个给定字符串中的字母的个数。

#include

voidwwjt();s[])return0;}{inti,k=0;

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

if(s[i]>='a,&&s[i]<=,z,||s[i]>=,

A*&&s[i]<='Z*)

k++;

returnk;

第113题题号:315

87/80

功能:

将主函数中输入的字符串反序

存放。

例如:

输入字符串〃abcdefg〃,则应

输出“gfedcba"。

#include

#ineludevconio.h>

#include

#defineN81

voidwwjt();

voidfun(char*str,intn){intij;

charc;

for(i=Ozj=n-l;i

/*或者

for(i=OJ=n-l;i

{c=*(str+i);

*(str+i)=*(str+j);

*(str+j)=c;}

88/80

第114题编写一程序,实现两个字符

串的连接(不用strcat()函数)。

#include

#inelude

main()

{intij;chara[10],b[10];gets

(a);gets(b);i=O,j=O;

while(a[i]!='O')i++;

while(b[j]!二、O')

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

a[i]二、O';

b[j]二、0】

printf(”%sn””a);}

本文发布于:2023-03-03 12:33:03,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/zhishi/a/1677817984120979.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:c语言题目.doc

本文 PDF 下载地址:c语言题目.pdf

上一篇:心怀梦想
下一篇:返回列表
标签:c语言题目
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 实用文体写作网旗下知识大全大全栏目是一个全百科类宝库! 优秀范文|法律文书|专利查询|