(大学c语言期末考编程题库
三.编程
1.功能;编写函数fun求1!+2!+3!+……+n!的和,在main函数中由键盘输入n的值
int i;
long int f=1,s=0;
for(i=1;i<=n;i++)
{f=f*i;
s=s+f;}
return s;
2功能;从键盘为一维整型数组输入10个整数,调用fun函数找出其中最小的数
int min,i;
min=x[0];
for(i=1;i
{if(x[i]
return min;
3.功能;从键盘输入一个大于3的整数,调用函数fun判断其是否为素数,然后在min函数
int I,j;
j=1;
for(i=2;i
{if(n%i==0) j=0;
}
4功能;从字符串s中删除指定的字符c
int i,k=0;
for(i=0;s[i]!=’\0’;i++)
if (s[i]!=c) s[k++]=s[i];
s[k]=’\0’;
5.功能;求出斐波那契数列的前一项与后一项之比的极限的近似值
float f1=1,f2=1,f3;
float r1=2,r2;
do {
r2=r1;
r1=f1/f2;
f3=f1+f2;
f1=f2;
f2=f3;
}while(fabs(r1-r2)>1e-4);
return r1;
6功能;求一个四位数的各位数字的立方和
int d,k,s=0;
while(n>0)
{d=n%10;s+=d*d*d;n/=10;}
return s;
7.功能:找出一批正整数中的最大的偶数
int i,amax=-1;
for(i=0;i
if(a[i]%2==0)
if(a[i]>max)amax=a[i];
return amax;
8.功能:计算并输出给定整数n的所有因子之和
int s=0,i;
for(i=2;i
if(n%i==0) s=s+I;
return s;
9.功能:用fun判断“水仙花数”
int bw,sw,gw;
bw=n/100;sw=(n-bw*100)/10;gw=n%10;
if(n==bw*bw*bw+sw*sw*sw+gw*gw*gw)
return 1
else return0;
10.从键盘为一维数组输入10个整数,调用fun函数找出其中最小的数
int min,i;
min=x[0];
for(i=1;i
{if(x[i]
return min;
11.将主函数中输入的字符串反序存放
int i,j; char c;
for(i=0,j=n-1;i
{c=*(str+i);
*(str+i)=*(str+j);
*(str+j)=c;}
12.统计出若干个学生的平均成绩,最高分以及最高分人数
int i; float sum=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);
13.输入一个字符串,过滤此串,只保留串中的字母字符,并统计新生成串中包含的字母个数。
int i,j;
for(i=0,j=0;*(ptr+i!=’\0’;i++)
if (*(ptr+i)<=’z’&&
*(ptr+i)>=’a’||*(ptr+i)<=’Z’ &&
*(ptr+i)>=’A’)
{*(ptr+j)=*(ptr+i);j++}
*(ptr+j)=’\0’;
return(j);
功能:判断m是否为素数功能
Int i,k=1;
If(i=2;i
If(m%i==0) k=0;
Return k;
功能:编写函数fun其功能是根据整形形参m,计算如下公式
Double y=0.0,s=1; int i,j;
for (i=2;i<=m;i+=2)
{ For (j=i-1;j<=1;j++)
S=s*j;
Y=y+1.0/s;
}
Return y;
功能:判断一个整数w的各位数字平方和能否被5整除,可以则返回1,否则返回0
Int k,s=0;
Do {s=s+(w%10)*(w%10);
W=w/10;
}while(w!=0);
If(s%5==0) k=1;
Else k=0;
Return (k);
功能:计算出k以内最大的10个能被13或17整除的自然数之和。(k<3000)
Int a=0