- 1、本文档共101页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
self二级C上机南开题答案
计算机二级C语言上机南开100题答案
1: 第1题 m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人数作为函数值返回,将低于平均分的所有分数放在below所指定的数组中。
#include stdio.h
/*---------------------
参数:float *a,int m 传递score数组的首地址和长度
float *below 传递 存放低于平均分的所有分数的数组的首地址
返回值:低于平均分的人数
---------------------*/
int fun(float *a,int m,float *below)
{
float aver=0; int i, n;
for(i=0;im;i++) aver+=a[i];
aver/=m;
for(i=0,n=0;im;i++)
if(avera[i])below[n++]=a[i];
printf(%.1f %d\n,aver,n);
return n;
}
void print(float *a,int n)
{
int i;
for(i=0;in;i++) printf(%.1f ,a[i]);
printf(\n);
}
//==主函数
void main ()
{
float score[10]={85,95,65,84,68,98,68,93,92,50},b[10];
int n;
n=fun(score,10,b);
print(b,n);
}
2: 第2题 请编写函数fun,它的功能是:求出1到100之内能被7或者11整除,但不能同时被7和11整除的所有整数,并将他们放在a所指的数组中,通过n返回这些数的个数。
#include stdio.h
/*---------------------
参数:int *a,传递存放结果数据的数组的首地址
int *传递 存放 结果数据个数的整型变量的地址
---------------------*/
void fun(int *a,int *n)
{
int i,k;
for(i=1,k=0;i100;i++)
if( (i%7==0 i%11!=0) || (i%7!=0 i%11==0) )
a[k++]=i;
*n=k;
}
void print(int *a,int n)
{
int i;
for(i=0;in;i++)
{
if(i%10==0) printf(\n);
printf(%5d,a[i]);
}
printf(\n);
}
//==主函数
void main ()
{
int a[40],n;
fun(a,n);
print(a,n);
}3: 第3题 请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
#include stdio.h
void fun(int x,int pp[],int *n)
{
int i,k;
for(i=1,k=0;ix/3;i+=2)
if( x%i==0 )
pp[k++]=i;
*n=k;
}
void print(int *a,int n)
{
int i;
for(i=0;in;i++)
{
if(i%10==0) printf(\n);
printf(%5d,a[i]);
}
printf(\n);
}
//==主函数
void main ()
{
int x=1000,a[40],n;
fun(x,a,n);
print(a,n);
}4: 第4题 请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中a到z26各字母各自出现的次数,并依次放在pp所指的数组中。
#include stdio.h
void fun(char *tt,int pp[])
{
int i;
for(i=0;i26;i++)pp[i]=0;
for(;*tt;tt++)
if(*tt=a*tt=z)pp[*tt-a]++;
}
void print(int *a)
{
int i;
for(i=0;i26;i++)
if(a[i])printf(%c: %4d\n,a+i,a[i]);
}
//==主函数
void main ()
{
int pp[26];
char s[100]= jdf
文档评论(0)