填空题以下程序运行后的输出结果是 【15】 。 int a=5; fun (int b) static int a=10; a+=b++; printf("%d ",a); main() int c=20; fun(c); a+=c++; Printf("%d/n",a);
填空题数据管理技术的发展过程经过人工管理、文件系统和数据库系统三个阶段,其中数据独立性最高的阶段是 【4】 。
填空题语句:x++;、++x;、x=x+1;、x=1+x;,执行后都使变量x中的值增1,请写出一条同一功能的赋值语句(不得与列举的相同) 【7】 。
填空题给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中大于平均值的数据移至数组的前部,小于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。
例如,有10个正数:46、30、32、40、6、17、45、15、48、26,平均值为30.500000。
移动后的输出为:46、32、40、45、48、30、6、17、15、26。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdlib.h>
#include<stdio.h>
#define N 10
double fun(double * x)
{int i, j; double s,av,y[N];
s=0;
for(i=0;i<N;i++)s=s+x[i];
/*********found*********/
av=______;
for(i=j=0;i<N;i++)
if(x[i]>av){
/*********found*********/
y[______]=x[i];
x[i]=-1;}
for(i=0;i<N;i++)
/*********found*********/
if(x[i]!=______)y[j++]=x[i];
for(i=0;i<N;i++)x[i]=y[i];
return av;
}
main()
{int i;double x[N];
for(i=0;i<N;i++)
{x[i]=rand()%50;
printf("%4.0f",x[i]);}
printf("/n");
printf("/nThe average is:%f/n",fun(x));
printf("/nThe result:/n",fun(x));
for(i=0;i<N;i++)
printf("%5.0f",x[i]);
printf("/n");
}
填空题下面程序的运行结果是{{U}} 【13】 {{/U}}。
#include<stdio.h>
#define SIZE 12
main()
{ char s[SIZE];int i;for(i=0;i<SIZE;i++) s[i]='A'+i+321;
sub(s,7,SIZE-1);
for(i=0;i<SIZE;i++) printf("%c",s[i]);
printf("/n");}
sub(char *a,int t1,int t2)
{ char ch;
while(t1<t1)
{ ch=*(a+t1);
*(a+t1)=*(a+t2);
*(a+t2)=ch;
t1++;t2--;} }
填空题以下程序的输出结果是______。
#include<stdio.h>
int fun(int n, int*s)
{ int f1, f2;
if(n==1‖n==2)*s=1;
else
{ fun(n-1, fun(n-2, *s=f1+f2; }
}
main()
{ int x;
fun(6, printf("%d/n", x);
}
填空题下面程序执行后输出的结果是 【8】 。 int m=13; int fun(int x,int y) int m+3; return(x*y-m); main() int a=7,b,5; prntf("%d/n",fun(a,B) /m);
填空题设有以下定义和语句: int a[3][2]=1,2,3,4,5,*p[3]; p[0]=a[1]; 则*(p[0]+1)所代表的数组元素是 【14】 。
填空题设变量a和b已定义为int类型,若要通过scanf(”a=%d,b=%d”,语句分别给a和b输入1和2,则正确的数据输入内容是( )。
填空题以下程序中函数f的功能是在数组x的n个数(假定n个数互不相同)中找出最大最小数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。请填空。
#include <stdio.h>
voidf(int x[],int n)
{int p0,p1,i,j,t,m;
i=j=x[0]; p0=p1=0;
for(m=0;m<n;m++)
{if(x[m]>i {i=x[m];p0=m;}
else if(x[m]<j {j=x[m];p1:m;}
}
t=x[p0];x[p0]=x[n-1];x[n-1)=t
t=x[p1];x[p1]={{U}} [12] {{/U}};{{U}} [13] {{/U}}=t;
}
main()
{ int a[10],u;
for(u=0;u<10;u++) scanf("%d",&a[u]);
f(a,10);
for(u=0;u<10;u++) printf("%d",a[u]);
printf("/n");
}
填空题给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun函数,每调用一次fun函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
#include<stdio.h>
#include<stdlib.h>
#define N 8
typedef struct list
{int data;
struct list*next;
}SLIS T;
void fun(SLIST*P)
{SLIST*t,*s;
t=P->next;s=p;
while(t->next!=NULL)
{s=t;
/**********found**********/
t=t->______;
}
/**********found**********/
printf("%d",______);
s->next=NULL;
/**********found**********/
free(______);
}
SLIST*creatlist(int*a)
{SLIST*h*p,*q;int i;
h=p=(SLIST*)malloc(sizeof(SLIST));
for(i=0;i<N;i++)
{q=(SLIST*)malloc(sizeof(SLIST));
q->data=a[i];p->next=q;p=q;
}
p->next=0;
return h;
}
void outlist(SLIST*h)
{SLIST*p;
p=h->next;
if(p==NULL)printf("/nThe list is NULL!/n");
else
{printf("/nHead");
do {printf("->%df",P->data);p=p->next;)
while(p!=NULL);
printf("->End/n");
}
}
main()
{SLIST*head;
int a[y]={11,12,15,18,19,22,25,29};
head=creatlist(a);
printf("/nOutput from head:/n");outlist(head);
printf("/nOutput from tail:/n");
while(head->next!=NULL){
fun(head);
printf("/n/n");
printf("/nOutput from head again :/n");
outlist(head);
}
}
填空题以下程序的输出结果是{{U}} 【14】 {{/U}}。
void reverse(int a[],int n)
{ int i,t;
for(i=0;i<n/2;i++)
{ t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}
}
main()
{ int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0;
reverse(b,8);
for(i=6;i<10;i++)s+=b[i];
printf("%d/n",s);
}
填空题下列程序的输出结果是16.00,请填空。 #include <stdio.h> main() int a=9, b=2; float x= 【12】 ,y=1.1,z; z=a/2+b*x/y+1/2; printf("%5.2f/n",z);
填空题下面程序的运行结果是______。 #include <stdio.h> main() int y,a; y=2,a=1; while(y--!=-1) doa*=y;a++; while(y--); printf("%d,%d",a,y);
填空题下列程序的运行结果是______。 #include<stdio.h> func(a,b) static int m=0,i=2; i+=m+1; m=i+a+b; return(m); main() int k=5,m=3,p; p=fune(k,m); printf("%d",p); p=func(k,m); printf("%d/n",p);
填空题以下程序的输出结果是{{U}} {{U}} {{/U}} {{/U}}。
#include <stdio.h>
main()
{ int i;
for(i='a';i<'f';i++,i++)printf("%c",i-'a'+'A');
printf("/n");
}
填空题str是全部由小写字母字符和空格字符组成的字符串,由num传入字符串的长度。请补充函数proc(),该函数的功能是:统计字符串str中的单词个数,结果由变量num传回。每个单词之间都由空格隔开,并且字符串str开始不存在空格。
例如,str="how do you do",结果为num=4。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
#define M 80
void proc(char*str,int*num)
{
int i,n=0;
for(i=0;______;i++)
{
if(str[i]>="a"
}
______;
}
void main()
{
char str[M];
int num=0;
printf("Enter a string:/n");
gets(str);
while(str[num])
num++;
proc(str,
printf("The number of word is:
%d/n/n",num);
}
填空题软件生命周期包括8个阶段。为使各时期的任务更明确,又可以分为以下3个时期:软件定义期、软件开发期、软件维护期。编码和测试属于______期。
填空题以下程序的输出结果是 【10】 。 main() int a=1,b=2; a=a+b;b=a-b;a=a-b; printf("%d,%d/n",a,b);
填空题下面函数用来求两个单精度数之和,并通过形参将结果传回,请填空。 void sub(float x,float y, 【18】 z) 【19】 =x+y;
