c语言大题.docx

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

c语言大题.docx

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

c语言大题.docx

c语言大题

1.功能:

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

注意:

n的值不大于1000。

例如:

n的值为12时,除了1和12外的因子有2、3、4、6,和为15,应输出15

ints=0,i;

for(i=2;i

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

returns;

2.功能:

求大于lim(lim小于100的整数)并且小于100的所有

素数并放在aa数组中,该函数返回所求出素数的个数。

intn=0;

inti,j;

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

{for(j=2;j

if(i%j==0)break;

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

}

returnn;

3.功能:

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

(w是大于等于100小于等

于1000的整数)。

longy=0;

inti;

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

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

returny;

4.功能:

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

并在main()函数中输出。

请使用for循环实现

intsum,i;

sum=0;

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

{sum=sum+i;}

return(sum);

5.功能:

编写程序,使用循环将矩阵(3行3列)各元素值乘2。

例如:

输入下面的矩阵:

100200300

400500600

700800900

程序输出:

200400600

80010001200

140016001800

inti,j;

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

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

array[i][j]=array[i][j]*2;

6.功能:

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

inti,max=0;

for(i=1;i

if(list[max]

max=i;

returnmax;

7.功能:

编写函数fun其功能是:

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

公式的值:

y=1+1/3+1/5+1/7+...+1/(2m+1)

例如:

若m=9,则应输出:

doubley=1;

inti;

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

{y+=(2*i+1);}

return(y);

8.功能:

判断m是否为素数。

inti,k=1;

if(m<=1)k=0;

for(i=2;i

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

returnk;

9.功能:

求小于lim的所有素数并放在aa数组中,该函数返回

所求出素数的个数。

intn=0;

inti,j;

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

{for(j=2;j

if(i%j==0)break;

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

}

returnn;

10.功能:

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

为整数),然后输出主对角线元素的平方和。

fun()

函数的功能为求对角线元素的和。

程序中如果用到

循环,必须使用for循环。

intsum;

inti;

sum=0;

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

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

returnsum;

11.功能:

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

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;

12.功能:

编写函数fun其功能是:

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

公式的值:

y=1/2!

+1/4!

+...+1/m!

(m是偶数)。

doubley=;

inti,j;

doubles=1;

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

{

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

s=s*j;

y=y+s;

}

returny;

13、从键盘为一维整型数组输入10个整数,调用fun函数找出其中最小的数,并在main函数中输出。

intmin,i;

min=x[0];

for(i=1;i

{if(x[i]

returnmin;

14.功能:

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

中。

合并的方式是:

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

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

在c数的十位和千位上。

例如:

当a=45,b=12,调用该函数后,c=2514。

*c=a/10+a%10*100+b/10*10+b%10*1000;

15.功能:

编写函数判断一个整数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);

16.功能:

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

例如:

输入字符串"abcdefg",则应输出"gfedcba"。

inti,j;

charc;

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

/*或者for(i=0,j=n-1;i

{c=*(str+i);

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

*(str+j)=c;}

17.功能:

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

最小值。

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

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

inti,min=0;

for(i=1;i

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

min=i;

returnmin;

18.功能:

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

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

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;

}

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

19.功能:

从低位开始取出长整型变量s奇数位上的数,依次构成一个新数放在t中。

例如:

当s中的数为:

7654321时,t中的数为:

7531。

longsl=10;

t=s%10;

while(s>0)

{s=s/100;

t=s%10*sl+t;

sl=sl*10;

20.求一个正整数的各位数字的立方和。

intd,k,s=0;

while(n>0)

{d=n%10;

s+=d*d*d;

n/=10;

}

returns;

21.求给定正整数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;

22.功能:

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

23.功能:

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

计算公式为:

e=1+1/1!

+1/2!

+1/3!

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

当1/n!

<时e=。

longintj;

inti,k;

floate,jc;

i=1;

e=;

jc=;

while(jc>=

{

e=e+jc;

j=1;

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

j=j*k;

jc=j;

i++;

}

24.请编一个函数:

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

25.用函数求fibonacci数列前28项的和。

程序中如果用到循环,必须使用for循环。

说明:

fibonacci数列为数列的第一项值为1,第二项值也为1,从第三项开始,每一项均为其前面相邻两项的和。

运行结果:

832039。

longf,k=f1+f2;

inti;

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

{f=f1+f2;

k=k+f;

f1=f2;

f2=f;

}

return(k);

26.功能:

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

z=(x-4)的平方根(x>4)

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

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

z=|x|+20(其他)

提示:

x的八次幂请使用幂函数pow求得,平方根函数是sqrt。

floatz;

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

elseif(x>-4)z=pow(x,8);

elseif(x>-10)z=4/(x*(x+1));

elsez=fabs(x)+20;

return(z);

27.功能:

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

构成一个新数放在t中。

例如:

当s中的数为:

7654321时,t中的数为:

642。

longsl=10;

s/=10;

t=s%10;

while(s>0)

{s=s/100;

t=s%10*sl+t;

sl=sl*10;

28.功能:

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

例如:

给定的一组数为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;

29.功能:

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

longintx=1;

inti;

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

x=x*m;

returnx;

30.功能:

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

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

例如:

若m=9,则应输出:

doubley=0;

inti;

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

{y+=(i+5);}

return(y);

31.功能:

编写函数fun生成一个主对角线元素为1,其他元素都

为0的3*3的二维数组。

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

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

if(i==j)

arr[i][j]=1;

else

arr[i][j]=0;

32.功能:

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

在main函数中从键盘

输入一个三位数,并输出判断结果。

请编写fun函数。

说明:

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

例如:

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

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;

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

y=1/2+1/4+1/6+...+1/2m。

程序中如果用到循环,必须使用for循环。

例如:

若m=9,则应输出:

doubley=0;

inti;

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

{y+=(2*i);}

return(y);

34.编写函数判断一个整数能否同时被3和5整除,若能则返回值为1,否则为0。

调用该函数求出15~300之间能同时被3和5整除的数的个数。

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

(1);

return(0);

35.将两个两位数的正整数a、b合并形成一个整数放在c中。

合并的方式是:

将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的个位和百位上。

例如:

当a=45,b=12。

调用该函数后,c=4251。

*c=a/10*1000+a%10*10+b/10+b%10*100;

36.判断整数x是否是同构数。

若是同构数,函数返回1;否则返回0。

x的值由主函数从键盘读入,要求不大于100。

说明:

所谓"同构数"是指这样的数,这个数出现在它的平方数的右边。

例如:

输入整数5,5的平方数是25,5是25中右侧的数,所以5是同构数。

intk;

k=x*x;

if((x<10&&k%10==x)||(x>9&&k%100==x))

return1;

elsereturn0;

37.功能:

在键盘上输入一个3行3列矩阵的各个元素的值(值为整数),然后输出主对角线元素的积。

fun()函数的功能为求对角线元素的积。

intsum;

inti,j;

sum=1;

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

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

returnsum;

38.产生20个随机整数放入二维数组a[5][4]中,利用函数row_sum求每行元素的和,并将和放到另一个数组中。

inti,j;

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

{b[i]=0;

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

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

39.功能:

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

y=sin(m)*10。

例如:

若m=9,则应输出:

doubley=0;

y=sin(m)*10;

return(y);

}

40.功能:

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

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

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

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

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