c语言的一些例题
1: 第1题 m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。 答案:int fun( ){int i,j,n,aver,sum=0;
int score[m];
int below[1000];
for(i=0;i<m;i++)
sum=sum+score[i];
aver=sum/m;
for (i=0;i<m;i++)
if(score[i]<aver){ below[n]=score[i];
n++;
}
return n;
}
2: 第2题 请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。
Int fun()
{int a[100];
int i,n=0;
for(i=1;i<100;i++)
if(!(i%7==0&&i%11==0)&&(i%7==0||i%11==0)){ a[n]=i;
n++;}
retur n;}
3: 第3题 请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。 答案int fun(int x,int pp[],int *n)
{int i,j,m=0,temp;
for(i=0;i<=x;i++)
{if(x%i==0&&i%2!=0){pp[m]=i;
m++;
}
for(j=0;j<n;j++)
if(pp[j+1]<pp[j]){ temp=pp[j+1];
pp[j+1]=pp[j];
pp[j]=temp; }
*n=m;
return *n;
}
}
4: 第4题 请编写一个函数void fun(char *tt,int pp[]),在tt字符中有"26各字母,统计"a"到"z各自出现的次数,并依次放在pp所指的数组中。
Void fun(char *tt,int pp[])
{for(i=0;i<26;i++)
Switch(*tt)
Case a: p[0]++;break;
Case b:p[1]++;break;
}
5: 第5题 请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k各素数存入xx所指的数组中。
void fun(int m,int k,int xx[])
{int i,j,g=0,flag=0;
for(i=m+1;i<m*m;i++)//为什么是m*m
for(j=1;j<i;j++)
if(i%j!=0) flag=1;
else flag=0;
if(flag=1)
{if(k>=0)
xx[g++]=i;
k--;
}
}
6: 第6题 请编写一个函数void fun(char a[],char b[],int n),其功能是:删除以各字符串中指定下标的字符。其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n中存放指定的下标。 答案:void fun(char a[],char b[],int n)
{int i,j;
for(i=0;i<=LEN;i++)
if(i!=n) {b[j]=a[i];
j++;
}
}
7: 第7题 请编写一个函数int fun(int *s,int t,int *k),用来求除数组的最大元素在数组中的下标并存放在k所指的储存单元中。 答案:int fun(int *s,int t;int *k)//*s和s[]相同?
{int i,max=0;
for(i=0;i<t;i++)
max=s[0];
if(s[i]>max) max=s[i];
k=s[i];
return i;
}
8: 第8题 编写函数fun,功能是:根据以下攻势计算s,计算结果作为函数值返回;n通过形参传入。S=1+1/(1+2)+1/(1+2+3)+…….+1/(1+2+3+4+……+n) 答案:int fun(int n)
{int shang,i,sum=0
for(i=0;i<n;i++)
i=i+1;
sum=sum+i;
shang=0;
shang=shang+sum/1;
return shang;
}
9: 第9题 编写一个函数fun,它的功能是:根据以下公式求p的值,结果由函数值带回。m与n为两个正整数,且要求m>n。 p=m!/n!(m-n)! 答案:int fun(int m,int n)
{int t=1;
int f=1;
int g=1;
int p,i,j,k,a;
for(i=1;i<=m;i++)
t=t*i;
for(j=1;j<=n;j++)
f=f*j;
a=m-n;
for(k=1;k<=a;k++)
g=g*k;
p=t/f*g;
return p;
}