填空题给定程序中,函数fun的功能是:找出N×N矩阵中每列元素中的最大值,并按顺序依次存放于形参b所指的一维数组中。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
不得增行或删行,也不得更改程序的结构!
给定源程序:
#include<stdio.h>
#define N 4
void fun(int(*a)[N], int*b)
{ int i, j;
for(i=0; i<N; i++){
/**********found**********/
b[i]=______;
for(j=1; j<N; j++)
/**********found**********/
if(b[i]______a[j][i])b[i]=a[j][i];
}
}
main()
{ int x[N][N]={ {12, 5, 8, 7}, {6, 1, 9, 3}, {1, 2, 3, 4}, {2, 8, 4, 3}}, y[N], i, j;
printf("/nThe matrix:/n");
for(i=0; i<N; i++)
{ for(j=0; j<N; j++)printf("%4d", x[i][j]);
printf("/n");
}
/**********found**********/
fun(______);
printf("/nThe result is:");
for(i=0; i<N; i++)printf("%3d", y[i]);
printf("/n");
}
填空题关系数据库管理系统能实现的专门关系运算包括选择、连接和 【5】 。
填空题设有下列程序:
#include<stdio.h>
#include<string.h>
main()
{ int i;
char si 10],ti 10];
gets(t);
for(i=0;i<2;i++)
{ gets(s);
if(strcmp(t,s)<0)strcpy(t,s);
}
printf("%s/n",t);
}
程序运行后,从键盘上输入(<CR>代表回车符):CDEF<CR>BADEF<CR>QTHRG<CR>,则程序的输出结果是______。
填空题给定程序中已建立一个带有头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fun的功能是:把形参x的值放入一个新结点并插入到链表中,插入后各结点数据域的值仍保持递增有序。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
不得增行或删行,也不得更改程序的结构!
给定源程序:
#include<stdio.h>
#include<stdlib.h>
#define N 8
typedef struct list
{int data;
struet list*next;
}SLIST;
void fun(SLIST*h,int x)
{SLIST*p,*q,*s;
s=(SLIST*)malloc(sizeof(SLIST));
/**********found**********/
s->data=______;
q=h;
p=h->next;
while(p!=NULL
p=p->next;
}
s->next=p;
/**********found**********/
q->next=______;
}
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("->%d",p->dala);
p=p->next;}while(p!=NULL);
printf("->End/n");
}
}
main()
{SLIST *head; int x;
int a[N]={11,12,15,18,19,22,25,29};
head=creatlist(a);
printf("/nThe list before inserting:/n");
outlist(head);
printf("/nEnter a number:");scanf("%d,
fun(head,x);
printf("/nThe list after inserting:/n");
outlist(head);
}
填空题恺撒加密方法就是把明文中所有字母都用它右边的第k个字母替代,并认为最后一个字母的右边又是第一个字母。这种映射关系表示为如下函数:F(a)=(c+k)mod n。其中,c表示明文字母在字母表中的位置序号,n为字母表中字母个数,k为密钥。
例如:明文为write,密钥k=5,则密文为bwnyj。
以下程序实现在26个小写英文字母集中的恺撒加密算法。
#include<stdio.h>
int main()
{
char str1[81], str2[81], *p1=str1, *p2=str2;
int k=5;
gets(str1);
while(______)
{
*p2=*p1+k;
if(*p2>"z")
______;
p1++;
p2++;
}
______;
puts(str2);
return 0;
}
填空题以下程序调用invert函数按逆序重新放置a数组中元素的值,a数组中的值在main函数中读入。请填空。
#define N 10
void invert(int*s, int i, int j)
{ int t;
if(i<j)
{t=*(s+i); *(s+i)=______; *(s+j)=t;
invert(s, ______, j-1);
}
main()
{ int a[N], i;
for(i=0; i<N; i++) scanf("%d", a+______);
invert(a, 0, N-1);
for(i=0; i<N; i++) printf("%d", a[i]);
printf("/n");
}
填空题以下程序的功能是根据输入的“y”(“Y”)与“n”(“N”),在屏幕上分别显示出“This is YES.”与“This is NO.”。空白处需要填入的内容是 #include<stdio.h> void YesNo(char ch) switch(ch) case'y': case'Y':printf("/n This is YES./n"); case'n': case'N':Printf("/nThis is NO./n"); main() char ch; printf("/nEnter a char'y','Y'or'n','N’:"); ch=______; printf("ch;%c",ch); YesNo(ch);
填空题以下程序中给指针P分配三个double型动态内存单元,请填空:
#include<stdio.h>
main()
{double*p;
p=(double*)malloc{{U}} {{U}} {{/U}} {{/U}};
p[0]=1.5;p[1]=2.5;p[2]=3.5;
printf("%f%f%f/n",p[0],p[1],p[2]);
}
填空题执行以下程序时输入1234567<CR>,则输出结果是______。
#include <stdio.h>
main()
{ int a=1,b;
scanf("%2d%2d", prinff("%d %dhn",a,b);
}
填空题以下定义的结构体类型拟包含两个成员,其中成员变量info用来存入整形数据;成员变量link是指向自身结构体的指针,请将定义补充完整。 struct node int info; 【20】 link;;
填空题请补充函数fun,其功能是:计算并输出给定10个数的方差:例如,给定的10个数为15.0,19.0,16.0,15.0,18.0,12.0,15.0,11.0,10.0,16.0,输出为s=2.758623。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:#include<stdio.h>#include<math.h>doublefun(doublex[10]){inti;doubleavg=0.0;doublesum=0.0;doubleabs=0.0;doublesd;for(i=0;i<10;i++){{U}}{{U}}{{/U}}{{/U}};avg=sum/10;for(i=0;i<10;i++){{U}}{{U}}{{/U}}{{/U}};sd={{U}}{{U}}{{/U}}{{/U}};returnsd;}main(){doubles,x[10]={15.0,19.0,16.0,15.0,18.0,12.0,15.0,11.0,10.0,16.0};inti;printf("/nTheoriginaldatais:/n");for(i=0;i<10;i++)printf("%6.1f",x[i]);printf("/n/n");s=fun(x);printf("s=%f/n/n",s);}
填空题下列程序的输出结果是______。 main() int a=1,b=2; a=a+b;b=a-b,a=a-b; printf("%d,%d/n",a,b) ;
填空题以下程序运行后的输出结果是 【16】 。 struct NODE int num; stmct NODE *next; ; main() struct NODE s[3]=1,'/0'),2,'/0'),3,'/0'),*p,*q,*r; int sum=0; s[0].next=s+1; s[1].next=s+2; s[2].next=s; p=s q=p->next; r=q->next; sum+=q->next->num; sum+=r->next->next->num; printf("%d/n",sum);
填空题数据的独立性分为逻辑独立性与______。
填空题以下函数fun的功能是返回str所指字符串中以形参c中字符开头的后续字符串的首地址,例如:str所指字符串为:Hello!,c中的字符为e,则函数返回字符串:eUo!的首地址。若str所指字符串为空串或不包含c中的字符,则函数返回NULL。请填空。
char*fun(char*str,char c)
{ int n=0;char* P=str;
if(P!=NULL)
while(P[n]!=c&&p[n]!=''\0'')n++;
if(P[n]==''\0'')return NULL;
return(【 】);
}
填空题以下程序段的功能是统计链表中结点的个数,其中first为指向第一个结点的指针(链表带头结点)。请在下划线内填入正确内容。 struct link char data; struct link*next;; … struct link*p,*first; int c=0; p=first; while( 【19】 ) c++; p= 【20】 ;
填空题以下程序运行后的输出结果是______。 main() int a=3,b=4,c=5,t=99; if(b<a&&a<c)t=a;a=c;c=t; iff a<c&&b<c)t=b;b=a;a=c; printf("%d%d%d/n",a,b,c);
填空题有以下程序: main() int x[3][2]=0,1; for(i=0;i<3;1++)scanf("%d",x[i]); printf("%3d%3d%3d/n",x[0][0],x[0][1],x[1][0]); 若运行时输入:2 4 6<回车>,则输出结果为______。
填空题在软件开发中,结构化方法包括结构化分析方法、结构化设计方法和结构化程序设计方法。详细设计阶段所采用的是 【3】 方法。
填空题str是全部由小写字母字符和空格字符组成的字符串,由 num传入字符串的长度。请补充函数fun(),该函数的功能是:统计字符串str中的单词个数,结果由变量num传回。每个单词之间都由空格隔开,并且字符串str开始不存在空格。 例如:str=“how do you do”,结果为:num=4。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序: #include<stdio.h> #define N 80 void fun(char *s,int *num) int i,n=0; for(i=0; 【1】 ;i++) if(s[i]>='a', fun(str,&num); printf("The number of word is: %d/n/n",num);
