填空题请补充函数proc(),该函数的功能是求一维数组arr[N]的平均值,并对所得结果进行四舍五入(保留两位小数)。
例如,当arr[10]={5.6,9.9,9.7,55.2,7.3,9.5,12.8,7.9,16.0,16.8},结果为:avg=15.070000。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
double proc(double arr[10])
{
int i;
long t;
double avg=0.0;
double sum=0.0;
for(i=0; i<10; i++)
______;
avg=sum/10;
avg=______;
t=______;
avg=(double)t/100;
return avg;
}
void main()
{
double avg, arr[10]={15.6, 19.9, 16.7, 15.2, 18.3, 12.1, 15.5, 11.0, 10.0, 16.0};
int i;
system("CLS");
printf("/nThe original data is: /n");
for(i=0; i<10; i++)
printf("%6.1f", arr[i]);
printf("/n/n");
avg=proc(art);
printf("average=%f/n/n", avg);
}
填空题下列程序的运行结果是{{U}} 【13】 {{/U}}。
#include<stdio.h>
main
{ int k=4,m=3,p;
p=func(k,m);
printf("%d",p);
p=func(k,m);
printf("%d/n",p);}
func(a,b)
int a,b;
{ static int m=0,i=2;
i+=m+1;
m=i+a+b;
return(m);}
填空题请补充main函数,该函数的功能是:把字符串str中的字符向前移动一位,原来的第一个字符移动到字符串尾,结果仍然保存在原字符串中。
例如,输入“how do you do?”,则结果输出“ow do you do?h”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。
试题程序:
#include <stdio. h>
#define N 80
main()
{
char str[N], ch;
int i;
clrscr ();
printf("/n Input a string:In");
gets (str);
printf("/n*** original string ***In");
puts (str);
ch=str [0];
for (i=0; {{U}} {{U}} {{/U}} {{/U}}; i++)
str [i]=str [i+1];
{{U}} {{U}} {{/U}} {{/U}};
printf("/n *** new string ***/n");
puts (str);
}
填空题函数调用语句:“fgets(buf,n,fp);”从中指向的文件中读入n个字符放到buf字符数组中,函数返回值为______。
填空题若有说明char s1[]="That girl",s2[]="is beautiful";则使用函数strcmp(s1,s2)后,结果是______。
填空题给定程序MODI1.C中函数fun的功能是找出一个大于形参m且紧随m的素数,并作为函数值返回。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
给定源程序如下。
#include<stdio.h>
int fun(int m)
{ int i,k;
for(i=m+1;;i++){
for(k=2;k<i;k++)
/*********found********/
if(i%k!=0)
break;
/*********found******/
if(k<i)
return(i);
}
}
void main()
{
int n;
n=fun(20);
printf("n=%d/n",n);
}
填空题请编写函数fun(),其功能是:找出2×M整型二维数组中最大元素的值,并将此值返回调用函数。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的花括号中填入你编写的若干语句。
试题程序 #define M
4 #include <stdio.h> int fun(int
a[][M]] { } void
main() { int arr[2][M]={5, 8, 3, 45, 76, -4, 12, 82};
printf("max=% d/n", fun(arr)); }
填空题下列给定程序中,函数fun的功能是:判断形参s所指字符串是否是“回文”(Palindrome),若是,函数返回值为1;若不是,函数返回值为0。“回文”是指正读和反读都一样的字符串(不区分大小写字母)。
例如,LEVEL和Level是“回文”,而LEVLEV不是“回文”。
请在程序的下划线处填入正确的内容,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#include<string.h>
#include<ctype.h>
int fun(char *s)
{char *lp,*rp;
/********found********/
lp=______;
rp=s+strlen(s)-1;
while((toupper(*lp)==toupper(*rp))&&(lp<rp))
{
/********found********/
lp++;rp______;}
/*********found********/
if(lp<rp)______;
else return 1;
}
main()
{char s[81];
printf("Enter a string:");
scanf("%s",s);
if(fun(s))printf("/n"%s"is a Palindrome./n/n",s);
else printf("/n"%s"isn"t a Palindrome./n/n",s);
}
填空题以下程序可将磁盘中的一个文件复制到另一个文件中,两个文件的文件名在可执行命令的命令行中(相当于COPY命令),假定文件在当前目录下。
#include <stdio.h>
void main(int argc,char *argv[])
{ FILE*f1*f2;
if(argc<______)
{ printf("parameter error!/n");exit(0);}
f1=fopen(argv[1],"r");
f2=fopen(argv[2],"w");
while(______)fputc (fgetc (f1),f2);
fclose(f1):
fclose(f2);
}
填空题数据管理技术发展经过人工管理、文件系统和数据系统3个阶段,其中数据独立性最高的阶段是______。
填空题给定程序中,函数fun的功能是:计算下式前n项的和作为函数值返回。例如,当形参n的值为10时,函数返回9.612558。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!给定源程序如下。#include<stdio.h>doublefun(intn){inti;doubles,t;/**************found***********/s=________;/**********found**********/for(i=1;i<=________;i++){t=2.0*i;/*************found***********/s=s+(2.0*i-1)*(2.0*i+1)/________;}returns;}main(){intn=-1;while(n<0){printf("Pleaseinput(n>0):");scanf("%d"t,}printf("/nTheresultis:%f/n",fun(n));}
填空题x和y都是double型变量,x的初值为4.0,y的初值为2.0,则表达式pow(y.fabs(x))的值为______。
填空题以下程序段的输出结果是______。
int i=0, sum=1;
do {sum+=i++; } while(i<5);
printf("%d/n", sum);
填空题若想通过以下输入语句给a赋值1,给b赋值2.则输入数据的形式应该是 【15】 。 int a,b; scanf("a=%d,b=%d",&a,&b) ;
填空题下列程序的输出结果是______。 #include<stdio.h> main() int x=1,y=1,a=1,b=1; switch(x) case 1: switch(y) case 0: a++; break; case 1: b++; break; case 2: a++;b++;break; printf("a=%d,b=%d/n",a,B) ;
填空题已有定义:“double *p;”,请写出完整的语句,利用malloc函数使p指出一个双精度型的动态存储单位______。
填空题给定程序中,函数fun的功能是将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新的数,并作为函数值返回。
例如,输入一个整数27638496,函数返回值为64862。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
给定源程序如下。
#include<stdio.h>
unsigned long fun(unsigned long n)
{ unsigned long x=0;int t;
while(n)
{ t=u%10;
/***************found*********/
if(t%2==______)
/************found**************/
x=______+t;
/**********found**********/
n=______;
}
return x;
}
main()
{ unsigned long n=-1;
while(n>99999999||n<0)
{ printf("Please input(0<n<100000000):");
scanf("%ld",}
printf("/nThe result is:%ld/n"fun(n));
}
填空题给定程序中,函数fun的功能是将不带头结点的单向链表逆置,即若原链表中从头至尾结点数据域依次为2、4、6、8、10,逆置后,从头至尾结点数据域依次为10、8、6、4、2。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意
:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#include<stdlib.h>
#define N 5
typedef struct node
{int data;
struct node *next;
}NODE;
/********found********/
______ *fun(NODE,h)
{NODE *p,*q,*r;
p=h;
if(p==NULL)
return NULL;
q=p->next;
p->next=NULL;
while(q)
{
/********found********/
r=q->______;
q->next=p;
p=q;
/********found********/
q=______;
}
return p;
}
NODE *creatlist(int a[])
{NODE *h,*p,*q;int i;
h=NULL;
for(i=0;i<N;i++)
{q=(NODE*)malloc(sizeof(NODE));
q->data=a[i];
q->next=NULL;
if(h==NULL)h=p=q;
else{p->next=q;p=q;}
}
return h;
}
void outlist(NODE *h)
{NODE *p;p=h;
if(p==NULL)
printf("The list is NULL!/n");
else
{printf("/nHead");
do
{printf{"->%d",p->data);
p=p->next;}
while(p!=NULL);
printf("->End/n");
}
}
main()
{NODE *head;
int a[N]=[2,4,6,8,10];
head=creatlist(a);
printf("/nThe original list:/n");
outlist(head);
head=fun(head);
printf("/nThe list after inverting:/n");
outlist(head);
}
填空题下列程序的功能:对输入的一行字符中的数字字符的字面值累加,输出此累加和,请填空。 #include<stdio.h> #include<ctype.h> main() char c; int a,s=0; while(______) if(isdigit(c)) a=c-'0';s+=a; printf("s=%d",s);
填空题在两种基本测试方法中,{{U}} 【2】 {{/U}}测试的原则之一是保证所测模块中每一个独立路径至少要执行一次。
