更多"在给定程序中,函数fun的功能是:统计所有小于等于n(n>2)的素数的"的相关试题:
[填空题]在给定程序中,函数fun的功能是:统计所有小于等于n(n>2)的素数的个数,素数的个数作为函数值返回。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构。
文件BLANK1.C内容如下:
#include<stdio.h>
int fun(int n)
int i,j,cnt=0;
printf("/nThe prime number between 3 to%d/n",n);
for(i=3;i<=n;i++)
/**********found**********/
for( (1) ;j<i;j++)
/**********found**********/
if( (2) %j==0)break;
/**********found**********/
if( (3) >=i)
cnt++;printf(cnt%157"%5d":"/n%5d",i);
return ent;
void main( )
int n=20,r;
r=fun(n);
printf("/nThe number of prime is:%d/n",r);
[填空题]在给定程序中,函数fun的功能是:将a和b所指的两个字符串转换成面值相同的整数,并进行相加作为函数值返回,规定字符串中只含9个以下的数字字符。
例如:主函数中输入字符串:32486和12345,在主函数中输出的函数值为:44831。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构。
文件BLANK1.C内容如下:
#include<stdio.h>
#include<string.h>
#include<ctype.h>
#define N 9
long ctod(char *s)
long d=0;
while(*s)
if(isdigit(*s))
/**********found**********/
d=d*10+*s- (1) ;
/**********found**********/
(2) ;
return d;
long fun(char *a,char *b)
/**********found**********/
return (3) ;
void main( )
char s1[N],s2[N];
do
printf("Input string s1: ");
gets(s1);
while(strlen(s1)>N);
do
printf("Input string s2: ");
gets(s2);
while(strlen(s2)>N);
printf("The result is: %1d/n",fun(s1,s2));
[填空题]由N个有序整数组成的数列已放在一维数组中,下列给定程序函数fun的功能是:利用折半查找法查找整数m在数组中的位置。若找到,返回其下标值;否则,返回-1。
折半查找的基本算法是:每次查找前先确定数组中待查的范围low和high(low<high),然后用m与中间位置(mid)上元素的值进行比较。如果m的值大于中间位置元素的值,则下一次的查找范围落在中间位置之后的元素中;反之,下一次的查找范围落在中间位置之前的元素中,直到low>high,查找结束。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#define N 10
/**********found**********/
void fun(int a[],int m)
int low=0,high=N-1,mid;
while(low<=high)
mid=(low+high)/2;
if(m<a[mid])
high=mid-1;
/********found**********/
else if(m>a[mid])
low=mid+1;
else return(mid);
return(-1);
void main( )
int i,a[N]=(-3,4,7,9,13,45,67,89,100,180),
k,m;
printf("a数组中的数据如下:");
for(i=0;i<N;i++)
printf("%d",a[i]);
printf("Enter m:");
scanf("%d",&m);
k=fun(a,m);
if(k>=0)
printf("m=%d,index=%d/n",m,k);
else printf("Not be found /n");
[简答题]下列给定程序中函数fun的功能是:统计substr所指的字符串在str所指的字符串中出现的次数。
例如,若字符串为aass 1kaaas,子字符串为as,则应输出2。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include <stdio.h>
int fun(char *str, char *substr)
{ int i, j, k, num=0;
/********** found**********/
for(i=0, str[i], i++)
for(j=i, k=0; substr[k]==str[j]; k++, j++)
/********** found**********/
If(substr[k+1]==’/0’)
{ num++;
break;
}
return num;
}
main( )
{
char str[80], substr[80];
printf("Input a string:");
gets(str);
printf("Input a substfing: ");
gets(substr);
printf("%d/n", fun(str, substr));
}
[填空题]下列给定程序中,函数proc( )的功能是:从m个学生的成绩中统计出低于平均分的学生人数,人数由函数值返回,平均分存放在形参aver所指的存储单元中。例如输入8名学生的成绩:
60 70 80 90 65 75 85 95
则低于平均分的学生人数为4(平均分为77.5)。实际输入时学生数以回车键作为结束,成绩与成绩之间也与回车键作为分隔。
请修改程序中的错误,使它能得到正确结果。
注意:不要改动main( )函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#inelude<stdlib.h>
#include<stdio.h>
#include<conio.h>
#define M 20
int proc (float *s, int n, float * aver)
//************found*************
int ave, t=0;
int count=0, k, i;
for(k=0; k<n; k++)
t+=s[k];
ave=t/n;
for(i=0; i<n; i++)
//************found************
if(s[i]>ave)
count++;
//************found*************
aver=ave;
return count;
void main( )
float stu[30], aver;
int m, i;
system("CLS");
printf("/nPlease enter m: ");
scanf("%d", &m);
printf("/nPlease enter%d mark: /n", m);
for(i=0; i<m; i++)
scanf("%f", stu+i);
printf("/nThe number of students: %d/n",
proc(stu,
[填空题]下列给定程序中,函数fun( )的功能是:给定n个实数,输出平均值,并统计平均值以上(含平均值)的实数个数。例如, n=8时,输入193.199,195.673,195.757,196.051,196.092, 196.596,196.579,196.763,所得平均值为195.838745,在平均值以上的实数个数应为5。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include <conio.h>
#include <stdio.h>
int fun(float x[], int n)
/***************found*******************/
iht j, c=0;float xa=0.0;
for (j=0; j<n;.j++)
xa+=x[j]/n;
printf("ave=%f/n",xa);
for (j=0; j<n;j++)
if(x[j]>=xa)
c++;
returnc;
main( )
float x[l00]= 193.199,195.673,195.757,
196.051,196.092,196.596,
196.579,196.763;
clrscr ( );
printf("%d/n",fun (x,8));
[填空题]下列给定程序中,函数fun( )的功能是:从n个学生的成绩中统计出低于平均分的学生人数,此人数由函数值返回,平均分存放在形参aver所指的存储单元中。例如输入8名学生的成绩:
80.5 60 72 90.5 98 51.5 88 64
则低于平均分的学生人数为4(平均分为75.5625)。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include <stdio.h>
#include <conio.h>
#define N 20
int fun(float *s, iht n,float *aver)
float ave ,t=0.0;
int count=0,k,i;
for(k=0;k<n;k++)
/*************found**************/
t=s[k];
ave=t/n;
for(i=0;i<n;i++)
if(s[i]<ave) count++;
/*************found**************/
*aver=&ave;
return count;
main( )
float s[30],aver;
int m,i;
clrscr( );
printf("/nPlease enter m: "); scanf
("%d",&m);
printf("/nPlease enter %d mark :/n",m);
for(i=0;i printf("/nThe number of students :
%d/n",fun(s,m,&aver));
printf("Ave=%f/n",aver);
[填空题]给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败时返回值为0。在复制的过程中,把复制的内容输出到终端屏幕。主函数中源文件名放在数组sfname中,目标文件名放在数组tfname中。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构。
文件BLANK1.C内容如下:
#include<stdio.h>
#include<stdlib.h>
int fun(char *source,char *target)
FILE *fs,*ft;
char ch;
/**********found**********/
if((fs=fopen(source, (1) ))==NULL)return 0;
if((ft=fopen(target,"w"))==NULL)return 0;
printf("/nThe data in file: /n");
eh=fgetc(fs);
/**********found**********/
while(!feof( (2) ))
putehar(ch);
/**********found**********/
fpute(ch, (3) );
ch=fgetc(fs);
fclose(fs);
fclose(ft);
printf("/n/n");
return 1;
void main( )
char sfname[20]="myfile1",tfname[20]="myfile2";
FILE *myf;
int i;
char c;
myf=fopen(sfname,"w");
printf("/nThe original data: /n");
for(i=1;i<30;i
[填空题]下列给定程序中,函数fun( )的功能是:统计字符串substr在字符串srt中出现的次数。例如,若字符串为aaas 1 kaaas,子字符串为as,则应输出2。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include <stdio.h>
fun (char *str, char *substr)
{int i, j, k, num=0;
/*************found**************/
for (i=0, str [i], i++)
for (j=i, k=O; substr [k]==str [ j ]; k++, j ++ )
if (substr [k+l]==’ /0’)
{num++;
break;
}
return num;
}
main ( )
{ char str[80],substr[80];
printf("Input a string: ");
gets (str);
printf("Input a sbustring: ");
gets (substr);
printf ("%d/n ", fun (str, substr) );
[填空题]下列给定程序中,函数fun的功能是:统计带头结点的单向链表中结点的个数,并存放在形参n所指的存储单元中。
请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include <stdio.h>
#include <stdlib.h>
#define N 8
typedef struct list
int data;
struct list *next;
SLIST;
SLIST *creatlist(int *a);
void outlist(SLIST *);
void fun(SLIST *h, int *n)
SLIST *p;
/******************found*******************/
(1) =0;
p=h->next;
while(p)
(*n)++;
/******************found*******************/
p=p-> (2) ;
main( )
SLIST *head;
int a[N]=12, 87, 45, 32, 91, 16, 20, 48, num;
head=creatlist(a);
outlist(head);
/******************found*******************/
fun( (3) , &num);
printf("/nnumber=%d/n", num);
SLIST *creatlist(int a[])
SLIST *h, *p, *q; int i;
h=p=(SLIST *)malloc(sizeof(SUST));
for(i=0; i<N; i++)
q=