给定程序MODI1.C中函数fun的功能是:计算并输出high以内最大的10个素数之和。high的值由主函数传给fun函数。若high的值为100,则函数的值为732。
请改正程序中的错误,使程序能输出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
文件MODI1.C内容如下:
#include<stdio.h>
#include<math.h>
int fun(int high)
int sum=0,n=0,j,yes;
/**********found**********/
while((high>=2)&&(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;
void main( )
printf("%d/n",fun(100));
第1处:将“while((high>=2)&&(n<10)”改为“while((high>=2)&&(n<10))”。
第2处:将“break”改为“break;”。
请编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k传回。
例如:若输入17,则应输出9和4,6,8,9,10,12,14,15,16。
注意:部分源程序在文件PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
文件PROG1.C内容如下:
#include<stdio.h>
void fun(int m,int *k,int xx[])
void main( )
int m,n,zz[100];
printf("/nPlease enter an integer number between 10 and 100:");
scanf("%d",&n);
fun(n,&m,zz);
printf("/nThere are%d non-prime numbers less than%d:/n",m,n);
for(n=0;n<m;n++)printf("%4d",zz[n]);
printf("/n"):
void fun(int m,int *k,int xx[]){
int i,j,n=0;
for(i=2;i<m;i++){
for(j=2;j<=i/2;i++)
if(i%j==0) break;
if(j<=i/2) {
xx[n]=i;n++;
}
}
*k=n;
}
在给定程序中,函数fun的功能是:将形参std所指结构体数组中年龄最大者的数据作为函数值返回,并在main函数中输出。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构。
文件BLANK1.C内容如下:
#include<stdio.h>
typedef struct
char name[10];
int age;
STD;
STD fun(STD std[],int n)
STD max;
int i;
/**********found**********/
max= (1) ;
for(i=1;i<n;i++)
/**********found**********/
if(max.age< (2) )max=std[i];
return max;
void main( )
STD std[5]="aaa",17,"bbb",16,"ccc",18,"ddd",17,"eee",15;
STD max;
max=fun(std,5);
printf("The result/n");
/***********found**********/
printf("Name:%s,Age:%d/n", (3) ,max.age);
程序MODI1.C中函数fun和funx的功能是:用二分法求方程2x3-4x2+3x-6=0的一个根,并要求绝对误差不超过0.001。
例如,若给m输入-100,给n输入90,则函数求得的一个根值为2.000。
请改正程序中的错误,使程序能输出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
文件MODI1.C内容如下:
#include<stdio.h>
#include<math.h>
double funx(double x)
return(2*x*x*x-4*x*x+3*x-6);
double fun(double m,double n)
/***********found**********/
int r;
r=(m+n)/2;
/**********found**********/
while(fabs(n-m)<0.001)
if(funx(r)*funx(n)<0) m=r;
else n=r;
r=(m+n)/2;
return r;
void main( )
double m,n,root;
printf("Enter m n:/n");
scanf("%1f%1f",&m,&n);
root=fun(m,n);
printf("root=%6.3f/n",root);
第1处:将“int r;”改为“double r;”。
第2处:将“while(fabs(n-m)<0.001)”改为“while(fabs(n-m)>0.001)”。
请编写函数fun,其功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。
例如,输入如下整数:
876 675 896 101 301 401 980 431 451 777
则输出结果为:
6,980
注意:部分源程序在文件PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
文件PROG1.C内容如下:
#include<stdio.h>
void fun(int *s,int t,int *k)
void main( )
int a[10]=876,675,896,101,301,401,980,431,451,777,k;
fun(a,10,&k);
printf("The resuh:%d,%d/n",k,a[k]);
void fun(int *s,int t,int *k)
{
int i, max;
max=0;
for(i=A;i<t;i++)
if(s[i]>s[max])max=i;
*k=max;
}
在给定程序中,函数fun的功能是:对形参s所指字符串中下标为奇数的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出,存入形参p所指字符数组中,形成一个新串。
例如,形参s所指的字符串为BADCDBFGEDC;执行后p所指字符串数组中的字符串应为ABCDG。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构。
文件BLANK1.C内容如下:
#include<stdio.h>
void fun(char *s,char *p)
int i,j,n,x,t;
n=0;
for(i=0;s[i]!=’/0’;i++)n++;
for(i=1;i<n-2;i=i+2)
/**********found**********/
(1) ;
/**********found**********/
for(j= (2) +2;j<n;j=j+2)
if(s[t]>s[j])t=j;
if(t!=i)
x=s[i];s[i]=s[t];s[t]=x;
for(i=1,j=0;i<n;i=i+2,j++)p[j]=s[i];
/**********found**********/
p[j]= (3) ;
void main( )
char s[80]="BADCDBFGEDC",p[50];
printf("/nThe original string is:%s/n",s);
fun(s,p);
printf("/nThe result is:%s/n",p);
在给定程序中,函数fun的功能是:对形参s所指字符串中下标为奇数的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出,存入形参p所指字符数组中,形成一个新串。
例如,形参s所指的字符串为BADCDBFGEDC;执行后p所指字符串数组中的字符串应为ABCDG。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构。
文件BLANK1.C内容如下:
#include<stdio.h>
void fun(char *s,char *p)
int i,j,n,x,t;
n=0;
for(i=0;s[i]!=’/0’;i++)n++;
for(i=1;i<n-2;i=i+2)
/**********found**********/
(1) ;
/**********found**********/
for(j= (2) +2;j<n;j=j+2)
if(s[t]>s[j])t=j;
if(t!=i)
x=s[i];s[i]=s[t];s[t]=x;
for(i=1,j=0;i<n;i=i+2,j++)p[j]=s[i];
/**********found**********/
p[j]= (3) ;
void main( )
char s[80]="BADCDBFGEDC",p[50];
printf("/nThe original string is:%s/n",s);
fun(s,p);
printf("/nThe result is:%s/n",p);
在给定程序中,函数fun的功能是:对形参s所指字符串中下标为奇数的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出,存入形参p所指字符数组中,形成一个新串。
例如,形参s所指的字符串为BADCDBFGEDC;执行后p所指字符串数组中的字符串应为ABCDG。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构。
文件BLANK1.C内容如下:
#include<stdio.h>
void fun(char *s,char *p)
int i,j,n,x,t;
n=0;
for(i=0;s[i]!=’/0’;i++)n++;
for(i=1;i<n-2;i=i+2)
/**********found**********/
(1) ;
/**********found**********/
for(j= (2) +2;j<n;j=j+2)
if(s[t]>s[j])t=j;
if(t!=i)
x=s[i];s[i]=s[t];s[t]=x;
for(i=1,j=0;i<n;i=i+2,j++)p[j]=s[i];
/**********found**********/
p[j]= (3) ;
void main( )
char s[80]="BADCDBFGEDC",p[50];
printf("/nThe original string is:%s/n",s);
fun(s,p);
printf("/nThe result is:%s/n",p);