c语言题库.docx

上传人:b****8 文档编号:9680982 上传时间:2023-02-05 格式:DOCX 页数:23 大小:20.80KB
下载 相关 举报
c语言题库.docx_第1页
第1页 / 共23页
c语言题库.docx_第2页
第2页 / 共23页
c语言题库.docx_第3页
第3页 / 共23页
c语言题库.docx_第4页
第4页 / 共23页
c语言题库.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

c语言题库.docx

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

c语言题库.docx

c语言题库

功能:

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

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

出判断结果。

请编写fun函数。

intbw,sw,gw;

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

if(n==bw*bw*bw+sw*sw*sw+gw*gw*gw)return1;

elsereturn0;

功能:

产生20个[30,120]上的随机整数放入二维数组

a[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);

功能:

从键盘为一维整型数组输入10个整数,调用fun

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

请编写fun函数。

intmin,i;

min=x[0];

for(i=1;i

{if(x[i]

returnmin;

功能:

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

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

信息。

例如:

7是素数,8不是素数。

请编写fun函数。

素数是

仅能被1和自身整除的数

答案:

inti;

intj;

j=1;

for(i=2;i

{if(n%i==0)j=0;

}

returnj;

功能:

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

答案:

inti=1,sum=0;

do

{sum=sum+i;

i++;

}while(i<=n);

returnsum;

功能:

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

答案:

doubley=1;

inti;

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

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

returny;

功能:

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

y=1/5+1/6+1/7+1/8+1/9+1/10...+1/(m+5)

例如:

若m=9,则应输出:

1.168229

答案:

doubley=0;

inti;

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

{y+=1.0/(i+5);}

return(y);

功能:

从键盘上输入任意实数,求出其所对应的函数值。

z=e的x次幂(x>10)

z=log(x+3)(x>-3)

z=sin(x)/((cos(x)+4)

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

答案:

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

doublez;

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

elseif(x>-3)z=log(x+3);

elsez=sin(x)/(cos(x)+4);

return(z);

功能:

编写函数求表达式的和(n的值由主函数输入)。

1-1/2+1/3-1/4+......+1/m

例如:

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

floats=0;

inti,k=1;

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

{s=s+k*1.0/i;

k=-k;

}

return(s);

功能:

能计算从1开始到n的自然数的和,n由键盘输入,

并在main()函数中输出。

答案:

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

intsum,i;

sum=0;

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

{sum=sum+i;}

return(sum);

功能:

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

最大值。

答案:

inti,max=0;

for(i=1;i

if(list[max]

max=i;

returnmax;

功能:

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

y=1/2+1/4+

1/6+...+1/2m。

例如:

若m=9,则应输出:

1.414484

答案:

doubley=0;

inti;

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

{y+=1.0/(2*i);}

return(y);

功能:

编写函数fun计算下列分段函数的值:

x^2+x+6x<0且x≠-3

f(x)=x^2-5x+60≤x<10且x≠2及x≠3

x^2-x-1其它

答案:

floaty;

if(x<0&&x!

=-3.0)

y=x*x+x+6;

elseif(x>=0&&x<10.0&&x!

=2.0&&x!

=3.0)

y=x*x-5*x+6;

elsey=x*x-x-1;

returny;

功能:

编写函数fun将一个数组中的值按逆序存放,并在

main()函数中输出。

例如:

原来存顺序为8,6,5,4,1。

要求改为:

1,4,5,6,8。

nti,t;

for(i=0;i

{t=arr[i];

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

arr[n-1-i]=t;

功能:

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

答案:

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;

功能:

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

则返回值为1,否则为0。

调用该函数求出15~300之

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

答案:

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

(1);

return(0);

功能:

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

(w是大于等于100小于等

于1000的整数)

答案:

longy=0;

inti;

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

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

returny;

功能:

求k!

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

(要求使用递归)

答案:

if(k>0)

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

elseif(k==0)

return1L;

功能:

能计算从1开始到n的自然数中偶数的平方的和,n由键盘输入,并在main()函数中输出。

(n是偶数)

答案:

intsum,i;

sum=0;

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

{

sum=sum+i*i;}

return(sum);

功能:

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

例如:

若有5门课程的成绩是:

92,76,69,58,88,

则函数的值为76.599998。

答案:

inti;

floaty=0;

for(i=0;i

y+=a[i];

y=y/n;

returny;

功能:

编写函数求1~100中奇数的平方和。

结果为166650。

答案:

floats=0;

inti,j;

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

s=s+i*i;

return(s);

功能:

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

答案:

inti,j;

charc;

for(i=0,j=n-1;i

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

*(str+j)=c;}

功能:

编写函数用冒泡排序法对数组中的数据进行从小到

大的排序。

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;

功能:

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

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

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;

功能:

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

则返回值为1,否则为0。

调用该函数求出15~300之

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

If(n%3==0&&n%5==0)

Return(0);

功能:

计算并输出给定整数n的所有因子之和(不包括1与

自身)。

注意:

n的值不大于1000。

例如:

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

Ints=0,I;

For(i=2;i

If(n%i==0)s=s+I;

Returns;

功能:

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

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

并在fun()函数中输出。

float

Intsum;

IntI,j;

Sum=0;

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

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

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

Returnsum;

功能:

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

例如:

若有5门课程的成绩是:

92,76,69,58,88,

则函数的值为76.599998。

IntI;

Floaty=0;

For(i=0;i

Y+=a[i];

Y=y/n;

Returny;

功能:

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

说明:

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

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

的和。

例如:

当n=28时,运行结果:

832039

Longf,k=f1+f2;

IntI;

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

{

f=f1+f2;

K=k+f;

F1=f2;

F2=f;

}

Return(k);

功能:

对长度为8个字符的字符串,将8个字符按降序排列。

例如:

原来的字符串为CEAedcab,排序后输出为edcbaECA。

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;}

功能:

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

y=1/5+1/6+1/7+1/8+1/9+1/10...+1/(m+5)

例如:

若m=9,则应输出:

1.168229

Doubley=0;

IntI;

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

{y+=1.0/(i+5);}

Return(y);

功能:

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

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

答案:

inti,k;

k=0;

for(i=1;i

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

return(k+1);

第2题(10.0分)题号:

321

功能:

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

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

函数中输出。

inti,j;

sum=1;

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

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

returnsum;

功能:

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

(k〈3000)。

答案:

inta=0,b=0,j;

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

{if((k%13==0)||(k%17==0))

{a=a+k;b++;}

k--;

}

returna;

功能:

编写函数判断一个整数m的各位数字之和能否被7整除,可以被7整除则返回1,否则返回0。

调用该函数找出

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

答案:

intk,s=0;

do

{s=s+m%10;

m=m/10;

}while(m!

=0);

if(s%7==0)k=1;

elsek=0;

return(k);

第5题(10.0分)题号:

367

功能:

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

例如:

给定的一组数为1,3,6,9,4,23,35,67,12,88时,函

数值为3。

答案:

inti,k=0;

floats=0,ave;

for(i=0;i

s+=a[i];

ave=s/n;

printf("%f",ave);

for(i=0;i

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

returnk;

功能:

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

分的人数。

例如:

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

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

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

答案inti;floatsum=0,ave;

Max=array[0];

for(i=0;i

{if(Max

sum=sum+array[i];}

ave=sum/n;

for(i=0;i

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

return(ave);

功能:

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

tt指向一个M行N列的二维数组,求出二维数组每列

中最小元素,并依次放入pp所指一维数组中。

二维

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

答案:

inti,j;

for(j=0;j

{pp[j]=tt[0][j];

for(i=1;i

if(tt[i][j]

pp[j]=tt[i][j];}

功能:

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

计算公式为:

e=1+1/1!

+1/2!

+1/3!

+......+1/n!

当1/n!

<0.000001时e=2.718282。

答案:

longintj;

inti,k;

floate,jc;

i=1;

e=0.0;

jc=1.0;

while(jc>=0.000001)

{e=e+jc;

j=1;

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

j=j*k;

jc=1.0/j;

i++;}

returne;

功能:

编写函数fun求s=1^k+2^k+3^k+......+N^k的值,

(1的K次方到N的K次方的累加和)。

答案:

longpower,sum=0;

inti,j;

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

{power=i;

for(j=1;j

power*=i;

sum+=power;

}

returnsum;

功能:

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

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

并在fun()函数中输出。

答案:

intsum;

inti,j;

sum=0;

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

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

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

returnsum;

功能:

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

说明:

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

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

的和。

答案:

longf,k=f1+f2;

inti;

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

{f=f1+f2;

k=k+f;

f1=f2;

f2=f;}

return(k);

功能:

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

答案:

inti,max,min;

max=min=a[0];

for(i=1;i

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

elseif(a[i]

return(max-min);

功能:

找出一个大于给定整数且紧随这个整数的素数,并

作为函数值返回。

答案:

inti,k;

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

for(k=2;k

if(i%k==0)

break;

if(k==i)

return(i);}

功能:

将字符串中的大写字母转换为对应的小写字母,

其它字符不变。

答案:

inti;

for(i=0;str[i]!

='\0';i++)

if(str[i]>='A'&&str[i]<='Z')str[i]=str[i]+32;

功能:

判断一个整数w的各位数字平方之和能否被5整除,

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

答案:

intk,s=0;

do

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

w=w/10;

}while(w!

=0);

if(s%5==0)k=1;

elsek=0;

return(k);

功能:

将字符串中的小写字母转换为对应的大写字母,

其它字符不变。

答案:

inti;

for(i=0;str[i]!

='\0';i++)

if(str[i]>='a'&&str[i]<='z')

str[i]=str[i]-32;

功能:

求5行5列矩阵的主、副对角线上元素之和。

注意,

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

例如:

主函数中给出的矩阵的两条对角线的和为45。

答案:

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;

功能:

用函数将第2个串连接到第1个串之后,不允许使用

strcat函数。

答案:

inti,j;

for(i=0;c1[i]!

='\0';i++);

for(j=0;c2[j]!

='\0';j++)

c1[i+j]=c2[j];

c1[i+j]='\0';

功能:

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

答案:

intd,k,s=0;

while(n>0)

{d=n%10;

s+=d*d*d;

n/=10;

}

returns;

功能:

求给定正整数n以内的素数之积。

(n<28)

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;

功能:

求出N×M整型数组的最大元素及其所在的行坐标及

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

的一个)。

例如:

输入的数组为:

123

4156

12189

10112

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

答案:

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);

功能:

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

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

答案:

inti,k;

k=0;

for(i=1;i

if(s[i]

return(k);

功能:

编写函数fun其功能是:

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

公式的值:

y=1/2!

+1/4!

+...+1/m!

(m是偶数)

答案:

doubley=0.0;

inti,j;

doubles=1;

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

{

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

s=s*j;

y=y+1.0/s;

}

returny;

功能:

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

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

返回0。

答案:

inti;

for(i=0;i

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

m=arr[i];

功能:

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

(n是小于10的自然数)

答案:

longd,s=1;

while(n>0)

{d=n%10;

s*=d;

n/=10;}

returns;

功能:

求一分数序列2/1,3/2,5/3,8/5,13/8,21/13…

的前n项之和。

说明:

每一分数的分母是前两项的分母之和,每一分数的

分子是前两项的分子之和

inti;

floatf1=1,f2=1,f3,s=0;

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

{f3=f1+f2;

f1=f2;

f2=f3;

s=s+f2/f1;

}

returns;

功能:

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

inti,max,min;

max=min=a[0];

for(i=1;i

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

elseif(a[i]

return(max*min);

功能:

对长度为7个字符的字符串,除首、尾字符外,将其

余5个字符按降序排列。

例如:

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

答案:

inti,j;

chart;

for(i=1;i

for(j=i+1;j

if(s[i]

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

功能:

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

答案:

inti,s=0;

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

s=s+i;

returns;

功能:

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

答案:

inti,k=0;

for(i=0;s[i]!

='\0';i++)

if(s[i]!

=c)s[k++]=s[i];

s[k]='\0';

功能:

计算并输出给定整数n的所有因子之和(不包括1与

自身)。

注意:

n的值不大于1000。

答案:

ints=0,i;

for(i=2;i

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

returns;

功能:

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

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

答案:

ints=0;

inti,j;

for(i=0;i

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

当前位置:首页 > 求职职场 > 简历

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

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