填空题下列给定程序中,函数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的功能是:从p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。
例如,调用fun函数之前给字符串输入“ABCDeFGH”,调用后字符串中的内容应为“eABCDFGH”。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
void fun(char*p)
{
char max,*q;int i=0;
max=p[i];
while(p[i]!=0)
{
if(max<p[i])
{
/**********found**********/
max=p[i];q=p+i
}
i++;
}
/**********found**********/
while(q<p)
{
*q=*(q-1);q--;
}
p[0];max;
}
void main()
{
char str[80];
printf("Enter a string:");gets(str);
printf("/nThe original string:");
puts(str);
fun(str);
printf("/nThe string after moving:");
puts(str);printf("/n/n");
}
填空题用筛选法可得到2~n(n<10000)的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非0数,并从数表中删去该数的所有倍数;依次类推,直到所找的下一个数等于n为止。这样会得到一个序列:2,3,5,7,11,13,17,19,23,…。
函数fun的作用是:用筛选法找出所有小于等于n的素数,并统计素数的个数作为函数值返回。
请在程序的下划线处填入正确的内容,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
int fun(int n)
{int a[10000],i,j,count=0;
for(i=2;i<=n;i++)a[i]=i;
i=2;
while(i<n){
/**********found**********/
for(j=a[i]*2;j<=n;j+=______)
a[j]=0;
i++;
/**********found**********/
while(______==0)
i++;
}
printf("/n The prime number between 2 to%d/n",n);
for(i=2;i<=n;i++)
/**********found**********/
if(a[i]!=______)
{count+++;printf(count%15?"%5d":"/n%5d",a[i]);}
return count;
}
main()
{int n=20,r;
r=fun(n);
printf("/nThe number of prime is:%d/n",r);
}
填空题假如整数数列中的数不重复,并存放在数组中。下列给定的程序中,函数fun()的功能是:删除数列中值为X的元素。 N中存放的是数列中元素的个数。
请改正程序中的错误,使它能够得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<stdio.h>
#define N 20
fun (int *a,int n,int x)
{int p=0,i;
a[n]=x;
while (x!=a[p])
p=p+1;
if(p==n) return -1;
else
{for (i=p;i<n;i++)
/*************found**************/
a[i+1]=a[i];
return n-1;
}
}
main()
{int w[N]={-3,0,1,5,7,99,10,15,30,90},
x,n,i;
n=10;
printf("The original data :/n");
for (i=0;i<n;i++) printf("%5d",w[i]);
printf("/nInput x (to delete ): ");
scanf("%d",
printf("Delete : %d/n",x);
n=fun(w,n,x);
if (n==-1) printf("***No be found!
***/n/n");
else
{printf("The data after deleted:/n");
for (i=0;i<n;i++) printf("%5d",
w[i]);printf("/n/n");
}
}
填空题请补充函数fun(),该函数的功能是:计算下面公式的值(k<50):例如:当k=5时,s=338.215158。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数函数fun()的横线上填入所编写的若干表达式或语句。试题程序:#include<conio.h>#include<stdio.h>doublefun(intn)doubles=【1】;doublef=0.0;doublep=0.0;inti=0;intk;for(k=1;【2】;k++)f=2*k-1;p=2*k+l;for(i=1;i<2*k+l;i++)f*=2*k-1;for(i=1;i<2*k-1;i++)p*=2*k+1;【3】;returns;main()intk=0;doubles;clrscr();printf("/nPleaseinputk(k<50):");scanf("%d",&k);s=fun(k);printf("/nS=%lf",s);
填空题当运行以下程序时,输入abed,程序的输出结果是:{{U}} 【9】 {{/U}}。
insert(char str[])
{int i
i=strlen(str);
while(i>0)
{str[2*i]=str[i];str[2*-1]='*';i--; }
printf("%s/n",str);
}
main()
{char str[40];
scanf("%s",sB) ; insert(str);
}
填空题下列程序的输出结果是______。 #include<stdio.h> int t(int x,int y,int cp,int dp) {cp=x*x+y*y; 如:dp=x*-y*y; } main() {int a=1,b=8,c=7,d=9; t(a,b,c,D) ; printf("%d%d/n",c,D) ; }
填空题下面程序有两个printf语句,如果第一个printf语句输出的是194,则第二个printf语句的输出结果是{{U}} {{/U}}main() int a[10]=1,2,3,4,5,6,7,8,9,0,*p; p=a printf("%x//n",p); printf("%x//n",p+9);
填空题计算机软件分为系统软件与应用软件,UNIX属于【 】。
填空题将经过确认测试的软件与外设、网络等连接在一次运行的测试叫{{U}} {{U}} {{/U}}{{/U}}
填空题若有定义:int a[4][4]={{1,2,3,4},{0},{4,6,8,10},{1,3,5,7}},则初始化后,a[2][2]得到的初值是______。
填空题x、y、x均为int型变量,描述“x、y和z中至少有两个为正数”的表达式是______。
填空题请补充函数proc(),该函数的功能是:把字符下标为非素数的字符从字符串str中删除,把字符下标为素数的字符重新保存在字符串str中。字符串str从键盘输入,其长度作为参数传入函数proc()。例如,输入“helloeverybody”,输出“lleeoy”。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#define M 80
void proc(char str[],int n)
{
int i,j,k,flag;
______;
for(i=0;i<n;i++)
{
if(i>1)
str[k++]=str[i];
flag=1;
for(______;j<ij++)
if(i%j==0)
{
flag=0;
______;
}
}
str[k]="/0";
}
void main()
{
int i=0,strlen=0;
char str[M];
system("CLS");
printf("/n Input a string:/n");
gets(str);
while(str[i]!="/0")
{
strlen++;
i++;
}
proc(str,strlen);
printf("/n***display string***/n");
puts(str);
}
填空题有以下程序: # include<stdio.h> main() char ch1,ch2; int n1,n2 ch1=getchar(); ch2=getchar(); n1=ch1-'0'; n2=n1*10+(ch2-'0'); printf("%d/n",n2); 程序运行时输入:12<回车>,执行后的输出结果是 【6】 。
填空题若有如下定义,double a[100];,则a数组元素的下标上限是{{U}} 【14】 {{/U}}。
填空题以下程序调用随机函数得到N个20以内的整数放在s数组中。函数fun的功能是找出s数组中的最大数(不止一个)所在下标传回主函数进行输出,并把最大值作为函数值返回,请填空。 #define N 30 man() int s[N],d[N],i,k,m; for(i=0,i<N;i++)s[i]=rand()%20;printf("%3d",s[i]); m=fun( 【13】 ); printf("m=%d/n",m); printf(”The index ;/n"); for(i=0;i<k;i++)printf("%4d",d[i]); printf("/n/n"); fun(int*w,int*d,int * k) int i,j,m=0,v; for(i=0;i<N;i++) if(w[i]>w[m]) 【14】 ; v=w[m]; for(i=0,j=0;i<N;i++) if(w[i]==v) 【15】 ; *k= 【16】 ; return 【17】 ;
填空题数列中,第一项为3,后一项都比前一项的值增5。下列给定程序中,函数fun()的功能是:计算前n(4≤n≤50)项的累计和。在累加过程中把那些被4除后余2的当前累加值放入数组中,符合此条件的累加值的个数作为函数值返回主函数里。如,当n的值为20时,该数列为3,8,13,18,23,28,…, 93,98。符合此条件的累加值应为42,126,366,570,1010。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
# include <stdio. h>
# define N 20
int fun(iht n, int *a)
/*************found*************/
{ int i, j, k, sum;
sum=0;
for(k=3, i=0;i<n; i++, k+=5)
{ sum=sum+ k;
/************found***************/
if (sum%4=2)
a [j++] =sum;
}
/*************found**************/
return j;
}
main ( )
{ int a[N],d, n, i;
printf("/nEnter n(4<=n<=50): ");
scanf("%d",
d=fun(n, a);
printf("/n/n The result :/n ");
for(i=0;i<d; i++) printf("%6d ",a[i]);
printf("/n/n ");
}
填空题以下程序运行后的输出结果是 【14】 。 #include <string.h> char *ss(char *s) char *p;t; p=s+1;t=*s; while(*p)*(p-1)=*p;p++; *(p-1)=t; return s; main() char *p,str[10]="abcdergh"; p=ss(str); printf("%s/n",p);
填空题以下程序的功能是:从键盘上输入若干学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。请填空。
#include<stdio.h>
main()
{float x, amax, amin;
scanf("%f",
amax=x; amin=x;
while(______)
{if(x>amax) amax=x;
if(______) amin=x;
scanf("%f",
}
printf("/namax=%f/namin=%f/n", amax, amin);
}
填空题以下程序运行后的输出结果是 【9】 。 main() int i,m=0,n=0,k=0; for(i=9;i<=11;i++) switch(i/10) case 0:m++;n++;break; case 10:n++;break; default:k++;n++; printf("%d%d%d/n",m,n,k);