第一套
1程序填空
给定程序的功能是:调用 函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败时返回值为0。在复制的过程中,把复制的内容输出到终端屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。
第1处 if((fs=fopen(source,”r”))==NULL)
第2处 while(!feof(fs))
第3处 fputc(ch,ft);
2程序修改
给定程序MODI1.C中函数fun的功能是:将长整型中每一位上为偶数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。
void fun(long s,long *t)
{ int d;
long s1=1;
*t=0;
while(s>0)
{ d=s%10;
/*******found******/
if(d%2==0)
{ *t=d*sl+*t;
sl*=10;
}
/*******found******/
s/=10;
}
}
3程序设计
函数fun的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的百位和个位上。
void fun(int a,int b,long *c)
{
*c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);
}
第二套
1程序填空
函数fun的功能是进行数字字符转换。若形参ch中是数字字符‘0’--‘9’,则‘0’转换成‘9’,‘1’转换成‘8’,‘2’转换成‘7’,……‘9’转换成‘0’;若是其它字符则保持不变;并将转换后的结果作为函数值返回。
第1处char fun(char ch)
第2处 if(ch>=’0’&&ch<=’9’)
第3处 return ‘9’-(ch-‘0’);
2程序修改
给定程序MODI1.C中函数fun的功能是:将p所指字符串中的所有字符复制到b中,要求复制第三个字符之后插入一个空格。
void fun(char *p,char *b)
{ int i,k=0;
while(*p)
{ i=1;
while(i<=3&&*P)
{
/*******found******/
b[k]=*p;
k++;p++;i++;
}
if(*p)
{
/*******found******/
b[k++]=’’;
}
}
b[k]=’\0’;
}
3程序设计
N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。
double fun(STREC *h)
{
STREC *p=h->next;
double av=0.0;
int n=0;
while(p!=NULL)
{
av=av+p->s;
p=p->next;
n++;
}
av/=n;
return av;
}
第三套
1程序填空
给定程序中,函数fun的功能是:有N×N矩阵,根据给定的m(m<=N)值,将每行元素中的值均右移m个位置,左边值为0。
第1处 for(i=0;i<N;i++)
第2处 t[i][j+m]=t[i][j];
第3处 for(j=0;j<m;j++)
2程序修改
给定程序MODI1.C是函数fun的功能是:计算并输出high以内最大的10个素数之和。high的值由主函数传给fun函数。
int fun(int high)
{ int sum=0,n=0,j,yes;
/*******found******/
while((2<=high)&&(n<10))
{ yes=1;
for(j=2;j<=high/2;j++)
if(high%j==0){
/*******found******/
yes=0;break;
}
if(yes){sum+=high;n++;}
high--;
}
return sum;
}
3程序设计
编写函数fun,它的功能是:利用以下所示的简单迭代方法求方程:cos(x)-x=0的一个实根。xn+1=cos(xn)迭代步骤如下:
(1) 取x1初值为0.0
(2) x0=x1,把x1的值赋给x0
(3) x1=cos(x0),求出一个新的x1
(4) 若x0-x1的绝对值小于0.000001执行步骤(5)否则执行步骤(2)
(5) 所求x1就是方程cos(x)-x=0的一个实根作为函数值返回。
程序将输出结果Root=0.739058。
float fun()
{
float x0,x1=0.0;
do {
x0=x1;
x1=cos(x0);
}while(fabs(x0-x1)>0.000001);
return x1;
}
第四套
1. 程序填空
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入,并按照学号从小到大排序后,再用二进制方式把排序后的输出到filename所指的文件中,覆盖原来的文件内容。
第1处fp = fopen(filename, "rb");
第2处if (s[i].sno >s[j].sno)
第3处 fwrite(s,sizeof(STU),N,fp);
2. 程序修改
给定程序MODI1.C中函数fun的功能是:在字符串的最前端加入n个*号,形成新串,差且覆盖原串。注意:字符串的长度最长允许为79.
void fun(char s[ ],int n)
{
char a[80],*p;
int i;
/*****found******/
p=s;
for(i=0;i<n;i++)
a[i]=’*’;
do
{a[i]=*p;
i++;
}
/*****found******/
while(*p++)
a[i]=0;
strcpy(s,a);
}
3. 程序设计
请编写函数fun,函数的功能是:统计各年龄段的人数,N个年龄能过调用随机函数获得,并放在主函数的age 数组中:要求函数把0至9岁的年龄段的人数放在d[0]中,把10至19岁的年龄段的人数放在d[1]中,把20至29岁的年龄段的人数放在d[2]中,其余依次类推,把100岁(含100岁)以上年龄的人数都放在d[10]中。结果在主函数中输出。
void fun(int *a, int *b)
{
int i,j;
for(i=0;i<M;i++)b[i]=0;
for(i=0;i<N;i++)
{ j=a[i]/10;
if(j>10)b[M-1]++;
else b[j]++;
}
}
第五套
1. 程序填空
给定程序中,函数fun的功能是将参数给定的字符串、整数、浮点数写到文件文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数atoi和atof将字符串换成相应的整数和浮点数,然后将其显示在屏幕上。
第1处: FILE *fp;
第2处:fclose(fp);
第3处:fscanf(fp,”%s%s%s”,str,str1,str2);
2.程序修改
给定程序MODI1.C中函数fun的功能是:对N名学生的学生成绩,按从高到低的顺序出前m(m<10) 名学生来,将这些存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。
STU *fun(STU a[ ],int m)
{ STU b[N],*t;
int i,j,k;
/*****found******/
t=(STU *)calloc(sizeof(STU),m);
for(i=0;i<N;i++)
b[i]=a[i];
for(k=0;k<m;k++)
{ for(i=j=0;i<N;i++)
if(b[i].s>b[j].s)j=i;
/*****found******/
t[k]=b[j];fopen函数失败
b[j].s=0;
}
return t;
}
3. 程序设计
请编写函数fun,函数的功能是,删去一维数组中所有相同的数,使之只剩一个。数组中的数已按从小到大的顺序排序,函数返回删除后数组中数据的个数。
int fun(int a[ ],int n)
{
int i,j=1,k=a[0];
for(i=1;i<n;i++)
if(k!=a[i]){
a[j++]=a[i];
k=a[i];}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论