C语言经典程序片段
以下程序只能出了实现程序功能的核心语句,请掌握其编程思想。
编写函数fun求1!+2!+3!+……+n!的和,在main函 数中由键盘输入n值,并输出运算 结果。请编写fun函数。
int i;
float f=l,s=0;
for(i=l;i<=n;i++)
{f=f*i;
s=s+f;}
return s;
从键盘为一维整型数组输入10个整数,调用fun函数找出其中最小的数,并在main函 数中输出。请编写fun函数。
int minj;
min=x[0];
fbr(i=l;i
{if(xfi]
return min;
从键盘输入一个大于3的整数,调用函数fun判断 其是否素数,然后在main函数中输 出相应的结论信息。
int i;
intj;
j= 1;
for(i=2;i
}
return j;
输入2个学生3门课的成绩,计算学生成绩平均分,课程平均分和最高分.
float sum;
for(i=0;i<2;i++)/*计算第i个学生平均分*/
{
sum=0;
for(j=0;j<3;j++)
sum=sum+score[i] [j ];
StuAgv[i]=sum/3;
} forG=0;j<3;j卄)/*计算第j门课的平均分*/
{
sum=0;
for(i=0;i<2;i++)
sum二sum+ score fi][j];
CouAgv[jl=sum/2;
Max=score[0][0J;
for(i=0;i<2;i++)
ford=0;j<3;j++)
if(Max<=score[i][j])
{
Max=score[i][j]; }
return ;
从字符串s小删除指定的字符Co
int i,k=0;
for(i=0;s[ij!='\0r;i++)
if(s[i]!=c) s[k++]=s[i];
s[k]='\0:
求出二维数组周边元素Z和,作为函数值返回。二 维数组的值在主函数中赋予。
int s=0;
int i,j;
for(i=0;i
s=s4-a[il[0]+a[i][N-l];
for(j=1;j
s=s+a[O]UJ+a[M-l]U];
return s;
求出菲波那契数列的前一项与后一项之比的极限的近似值。
float fl=l,f2=l,f3;
float rl=2,r2;
do
{r2=rl;
rl=fl/f2;
f3二 fl+f2;
fl=f2;
f2=f3;
}while(fabs(rl -r2)> 1 e-4);
return rl;
求一个四位数的各位数字的立方和。
int d,k,s=0;
while (n>0)
{d=n%10;
s+=d*d*d;
n/=10;}
return s;
求1到100之间的偶数之积。
double y=l;
int i;
for(i=l;i<=m;i++)
if(i%2==0)y*=i;
return y;
找出一批正整数中的最大的偶数。
int i,amax二 1;
fdr(i=O;i
if(a[i]%2==0)
if (a[ij>amax) amax=a[i];
return amax;
求5行5列矩阵的主、副对角线上元素Z和。注意,两条对角线相交的元素只加一次。
int s=0;
int i,j;
for(i=0;i
s=s+a[i][i]+a[i][M-l-i];
s=s-a[(M-l )/21 [(M-1)/2];
return s;
计算并输出给定整数n的所有因子之和(不包括1与自身)。注意:n的值不大于lOOOo
int s=0,i;
fbr(i=2;i
if(n%i==O)s=s+i;
return s;
计算n门课程的平均值,计算结果作为函数值返回。
int i;
float y=0;
for(i=0;i
y+=a[i];
y=y/n;
return y;
调用函数fun判断一个三位数是否”水仙花数“。在main函数中从键盘输入一个三位数, 并输出判断结果。请编写fun函数。
说明:所谓“水仙花数”是指一 3位数,其各位数字立方和等于该数本身。
例如:153是一个水仙花数,因为153= 1+125+27o
int bw,sw,gw;
bw=n/l 00;sw=(n-bw* 100)/10;gw=n% 10;
if(n==bw*bw*bw+sw*sw*sw+gw*gw*gw) return 1;
else return 0;
从键盘为一维整型数组输入10个整数,调用fun函数 找出其中最小的数,并在main 函数屮输出