C语言经典题库Word格式.docx

上传人:b****5 文档编号:19411589 上传时间:2023-01-06 格式:DOCX 页数:25 大小:21.03KB
下载 相关 举报
C语言经典题库Word格式.docx_第1页
第1页 / 共25页
C语言经典题库Word格式.docx_第2页
第2页 / 共25页
C语言经典题库Word格式.docx_第3页
第3页 / 共25页
C语言经典题库Word格式.docx_第4页
第4页 / 共25页
C语言经典题库Word格式.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

C语言经典题库Word格式.docx

《C语言经典题库Word格式.docx》由会员分享,可在线阅读,更多相关《C语言经典题库Word格式.docx(25页珍藏版)》请在冰豆网上搜索。

C语言经典题库Word格式.docx

j++)

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

main()

{inta[2][3]={{1,2,3},{4,5,6}},b[3][2],i,j;

数组a:

%5d"

a[i][j]);

trans(a,b);

数组b:

b[i][j]);

第3题操作题

/*找出数组arr[]中的最大元素。

suffix函数的功能是:

求出形参数组a[]中最大元素的下标。

其中,形参n为数组元素的个数。

例如,数组元素为:

5617861238724316112478143

则输出结果为:

数组arr的最大元素为:

arr[5]=243*/

intsuffix(inta[],intn)

{inti,k,max;

max=a[0];

for(i=1;

n;

if(max<

a[i]){max=a[i];

k=i;

returnk;

{voidCHECK();

intarr[10]={56,178,6,123,87,243,161,124,78,143},k;

clrscr();

k=suffix(arr,10);

arr[%d]=%d\n"

k,arr[k]);

CHECK();

第4题操作题

/*在sum函数中,根据整型形参m,计算如下公式的值。

1111

y=-------+---------+---------+……+-------

100*100200*200300*300m*m

例如,若形参m=2000,则程序输出:

Theresultis:

0.000160。

doublesum(intm)

doubley,d;

y=0;

for(i=100;

=m;

i+=100){

d=(double)i*(double)i;

y+=1.0/d;

return(y);

main()

{intn=2000;

\nTheresultis:

%lf\n"

sum(n));

第5题操作题

/*比较数组a[]和数组b[]中,a[i]>

b[i]、a[i]=b[i]和a[i]<

b[i]的次数。

其中comp函数的功能是:

当x>

y时,返回1;

当x=y时,返回0;

当x=y时,返回0。

intcomp(intx,inty)

{intflag;

if(x>

y)flag=1;

elseif(x==y)flag=0;

elseflag=-1;

return(flag);

{inti,n=0,m=0,k=0;

inta[10]={5,-23,5,21,6,18,9,12,23,7};

intb[10]={6,-9,64,23,-52,0,9,8,-35,12};

10;

i++)printf("

%4d"

a[i]);

b[i]);

if(comp(a[i],b[i])==1)n=n+1;

elseif(comp(a[i],b[i])==0)m=m+1;

elsek=k+1;

a[i]>

b[i]%2d次\na[i]=b[i]%2d次\na[i]<

b[i]%2d次\n"

n,m,k);

第6题操作题

/*将1到n之间,能同时被7和11整除的整数存储到形参数组a[]中,并返回这些整数的个数。

例如:

当n=1000时,程序输出:

77154231308385462539616693770847924*/

intfun(inta[],intn)

intk=0;

for(i=1;

=n;

if(i%7==0&

&

i%11==0)

{a[k]=i;

k++;

returnk;

intarr[20],i,k,n;

n=1000;

k=fun(arr,n);

k;

arr[i]);

第7题操作题

/*计算N×

N的二维数组的所有数组元素的平均值。

例如:

a数组中的值为

|01279|

|19745|

a=|23831|

|45682|

|59141|

则平均值为:

4.280000。

#defineN5

floatcount(inta[N][N])

{inti,j;

floatsum=0,ave;

for(i=0;

N;

for(j=0;

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

ave=sum/(N*N);

returnave;

intarr[N][N]={{0,1,2,7,9},{1,9,7,4,5},{2,3,8,3,1},{4,5,6,8,2},{5,9,1,4,1}};

二维数组arr的元素的平均值为:

%f\n"

count(arr));

第8题操作题

/*求广义菲玻那契数列的第n项。

广义菲玻那契数列前3项分别是1,1,1,从第4项开始,各项分别是其前3项之和。

广义菲玻那契级数的前n项为:

1,1,1,3,5,9,17,31,……。

例如,若n=20,则应输出

广义菲玻那契级数的第20项为:

46499。

longfibonacci(intn)

{longa=1,b=1,c=1,d;

inti;

for(i=4;

{

d=a+b+c;

a=b;

b=c;

c=d;

returnd;

{intn=20;

广义菲玻那契级数的第%d项为:

%ld\n"

n,fibonacci(n));

第9题操作题

/*应用冒泡排序算法,对数组a[]中的元素从小到大进行排序。

voidsort(inta[],intn)

{inti,j,t;

n-1;

n-1-j;

if(a[i]>

a[i+1]){

t=a[i];

a[i]=a[i+1];

a[i+1]=t;

{intk,a[10]={6,-9,78,23,-12,0,9,8,-3,12};

for(k=0;

k<

k++)

%d"

a[k]);

sort(a,10);

\n从小到大排序:

第10题操作题

/*计算1到形参n之间,能被3和7整除的整数的和,并作为函数值返回。

例如,n为1800时,程序输出:

1到1800之间,能被3和7整除的整数的和为:

76755*/

longsum(intn)

{

longsum=0;

if(i%3==0&

i%7==0)

sum=sum+i;

return(sum);

intn=1800;

1到%d之间,能被3和7整除的整数的和为:

n,sum(n));

第11题操作题

/*统计子字符串substr在字符串str中出现的次数。

例如,若字符串为ThisisaCProgram,子字符串为is,则应输出2。

intcount(charstr[],charsubstr[])

{inti,j,k,num=0;

str[i]!

='

\0'

;

for(j=i,k=0;

substr[k]==str[j];

k++,j++)

if(substr[k+1]=='

num++;

break;

returnnum;

charstr[80],substr[80];

Inputastring:

gets(str);

Inputasubstring:

gets(substr);

%d\n"

count(str,substr));

第12题操作题

/*求二维数组a[3][3]中各列元素的平均值,并依次存储在一维数组b[3]中。

voidfun(inta[3][3],floatb[3])

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

b[i]/=3;

{inta[3][3]={{1,2,3},{4,5,6},{7,8,9}},i;

floatb[3]={0,0,0};

fun(a,b);

%4.1f"

);

第13题操作题

/*有一个3×

4的矩阵,求所有元素中的最小值。

min_value(intarray[][4])

{inti,j,min;

min=array[0][0];

4;

if(array[i][j]<

min)

min=array[i][j];

return(min);

{inta[3][4]={{-11,23,15,37},{29,48,6,-8},{15,17,34,12}};

矩阵中所有元素的最小值=%d\n"

min_value(a));

第14题操作题

/*求班级学生考试成绩的平均值。

floataverage(floatarray[],intn)

floataver,sum=array[0];

sum=sum+array[i];

aver=sum/n;

return(aver);

{floatscore_1[5]={98.5,97,91.5,60,55};

floatscore_2[10]={67.5,89.5,99,69.5,77,89.5,76.5,54,60,99.5};

班级A学生考试成绩的平均值=%6.2f\n"

average(score_1,5));

average(score_2,10));

第15题操作题

/*将每个英语单词的第一个字母改成大写(这里的“单词”是指由空格隔开的字符串)。

例如,若输入:

Iamastudenttotaketheexamination.,

则应输出:

IAmAStudentToTakeTheExamination.。

voidchange(chars[])

{inti,k;

k=0;

s[i]!

if(k)

{if(s[i]=='

'

)k=0;

elseif(s[i]!

{k=1;

s[i]=toupper(s[i]);

{charstr[80];

\nPleaseenteranEnglishtextline:

printf("

Beforechanging:

\n%s"

str);

change(str);

\nAfterchanging:

\n%s\n"

第16题操作题

/*计算

11111

1----+-------+----...---

2345n

例如,n=100时,运算结果为:

0.688172。

floatcount(intn)

floatsign=1;

floatsum=0;

sum=sum+sign/i;

sign=(-1)*sign;

returnsum;

intn=100;

11111\n"

1----+-------+----...---=%f\n"

count(n));

2345%d\n"

n);

第17题操作题

/*求出以下分数序列的前n项之和。

23581321

┄┄,┄┄,┄┄,┄┄,┄┄,┄┄,……

1235813

例如,若n=5,则应输出:

8.391667。

doublesum(intn)

{inta,b,c,k;

doubles;

s=0;

a=2;

b=1;

for(k=1;

k++){

s=s+(double)a/b;

c=a;

a=b+c;

returns;

{intn=5;

\nThevalueoffunctionsumis:

第18题操作题

/*计算两个双精度数的和的平方根。

23.18,32.4721,则输出:

z=7.460034。

math.h>

doublecount(doublea,doubleb)

{doublec;

c=sqrt(a+b);

returnc;

{doublex,y,z;

Enterx,y:

"

scanf("

%lf,%lf"

&

x,&

y);

z=count(x,y);

printf("

z=%f\n"

z);

第19题操作题

/*计算n!

例如,给n输入5,则输出5!

=120。

longcount(intn)

longs=1;

s=s*i;

returns;

intn;

InputN:

%d"

&

n);

%d!

=%ld\n"

n,count(n));

第20题操作题

/*输出M行M列整数方阵,并计算主对角线上各元素之和。

#defineM5

intcount(intn,inta[M][M])

{inti,sum=0;

sum+=a[i][i];

{intarr[M][M]={{1,2,3,4,5},{4,3,2,1,0},{6,7,8,9,0},{9,8,7,6,5},{3,4,5,6,7}};

\n%d×

%d数组元素为:

M,M);

M;

i++){

j++)

arr[i][j]);

printf("

主对角线上各元素之和为

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

当前位置:首页 > 工程科技 > 能源化工

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

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