填空题在C语言中,字符的比较就是对它们的 【8】 码进行比较。
填空题下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点赋值。函数fun()的功能是将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。
请改正函数fun()中的错误,使它能得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序 #include
<stdio.h> #include <conio.h> #include
<stdlib.h> typedef struct aa { int
data; struct aa *next; } NODE;
int fun(NODE *h) { int sum=0; NODE
*p; p=h->next; /* * * * *found* * * * *
/ while(p->next) { if(p->data% 2==0)
sum+=p->data; /* * * * *found* * * * * /
p=h->next; } return sum;
} NODE *creatlink(int n) { NODE *h, *p,
*s; int i;
h=p=(NODE*)malloc(sizeof(NODE)); for(i=1; i<n; i++)
{ s=(NODE*)malloc(sizeof(NODE)); s->data=rand()%
16; s->next=p->next; p->next=s;
p=p->next; } p->next=NULL;
return h; } outlink(NODE *h)
{ NODE *p; p=h->next; printf("/n/nTHE
LIST:/n/n HEAD") while(p) { printf("->% d",
p->data); p=p->next; }
printf("/n"); } main() { NODE
*head; int sum; head=creatlink (10);
outlink (head); sum=fun(head);
printf("/nSUM=% d", sum); }
填空题填空补充以下程序。 # define 【11】 30 【12】 ; total=num PRICE; printf("total=%d,num=%d/n", 【13】 );
填空题以下程序中给指针P分配三个double型动态内存单元,请填空: #include<stdio.h> main() double*p; p=(double*)malloc 【18】 ; p[0]=1.5;p[1]=2.5;p[2]=3.5; printf("%f%f%f/n",p[0],p[1],p[2]);
填空题给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。
例如,有10个正数:46 30 32 40 6 17 45 15 48 26,平均值为:30.500000。
移动后的输出为:30 6 17 15 26 46 32 40 45 48
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
不得增行或删行,也不得更改程序的结构!
给定源程序:
#include<stdlib.h>
#include<stdio.h>
#define N 10
double fun(double *x)
{ int i, j; double av, y[N];
av=0;
/**********found**********/
for(i=0; i<N; i++)av+=______;
for(i=j=0; i<N; i++)
if(x[i]<av){
/**********found**********/
y[j]=x[i]; x[i]=-1; ______;}
i=0;
while(i<N)
{ if(x[i]!=-1)y[j++]=x[i];
/**********found**********/
______;
}
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");
}
填空题以下程序的输出结果是 【18】 。 void fun() static int a=0; a+=2;printf("%d",a); main() int cc; for(cc=1;cc<4;cc++)fun(); printf("/n");
填空题下面程序的功能:输出100以内能被3整除且个位数为6的所有整数,请补充完整。 main() int i,j; for(i=0; 【12】 ;i++) j=i*10+6; if( 【13】 )continue; printf("%d",j);
填空题以下程序调用fun函数把x中的值插入到a数组下标为k的数组元素中。主函数中,n存放a数组中数据的个数。请填空。 #include<stdio.h> void fun(int s[],int *n,int k,int x) int i; for(i=*n-1;i>=k;i--)s______=s[i]; s[k]=x; *n=*n+______; main() int a[20]=1,2,3,4,5,6,7,8,9,10,11,i,x=0,k=6,n=11; fun(a, for(i=0,i<n,i++)printf("%4d",a[i]);printf("/n");
填空题有以下语句段
int nl=10,n2=20;
printf("______",n1,n2);
要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。
n1=10
n2=20
填空题设循环队列的容量为55,如果头指针front=50(指向队头元素的前一位置),尾指针rear=15(指向队尾),则该循环队列中共有______个元素。
填空题下列给定程序中,函数fun()的功能是:从N个字符串中找出最长的那个中,并将其地址作为函数值返回。各字符串在主函数中输入,并放入一个字符串数组中。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include <string.h> #include <stdio.h> #define N 5 #define M 81 /*************found**************/ fun(char (*sq) [N]) int i; char *sp; sp=sq[0]; fori=0;i<N;i++) if(strlen(sp)<strlen(sq[i])) sp=sq[i]; /*************found**************/ return sq; main () char str[N][M], *longest; int i; printf("Enter %d lines:/n ",N); for(i=0;i<N;i++) gets(str[i]); printf("/nThe %d string :/n ",N); for(i=0;i<N;i++) puts(str[i]); longest=fun(str); printf("/nThe longest string :/n "); puts(longest);
填空题规定输入的字符串中只包含字母和*号。编写函数fun(),其功能是:删除字符串中所有的*号。编写函数时,不得使用C语言提供的字符串函数。
例如,字符串中的内容为:* * * * A*BC*DEF*G* * * * * *
*,删除后,字符串中的内容应当是:ABCDEFG。 注意:部分源程序给出如下。
请勿改动主函数main()和其他函数中的任何内容,仅在函数fun()的花括号中填入你编写的若干条语句。
试题程序 #include
<conio.h> #include <stdio.h> void fun(char *
a) { } void main()
{ char s[81]; printf("Enter a string:/n");
gets(s); fun(s); printf("The string
after deleted:n"); puts(s); }
填空题下面的程序是将从终端读入的20个字符放入字符数组中,然后利用指针变量输出上述字符串,请填空。
#include<stdio.h>
main()
{ int i;
char s[21],*p;
for(i=0;i<20;i++)
s[i]=getehar();
s[i]={{U}} 【6】 {{/U}};
p={{U}} 【7】 {{/U}};
while(*p) putchar({{U}} 【8】 {{/U}});
}
填空题在结构化分析使用的数据流图(DFD)中,利用{{U}} 【5】 {{/U}}对其中的图形元素进行确切解释。
填空题以下程序运行后的输出结果是 【15】 。 main() char a[]="Language",b[]="Programe"; char,p1,*p2; int k; p1=a,p2=b; for(k=0;k<=7;k++) if*(p1+k)==*(p2+k))printf("%c",*(p1+k));
填空题若有以下程序 int f(int x,int y) return(y-x)*x; main() int a=3,b=4,c=5,d; d=f(f(3,4),f(3,5)); ptintf("%d/n",D) ; 执行后输出结果是______。
填空题以下函数rotate的功能是:将a所指N行N列的二维数组中的最后一行放到b所指二维数组的第0列中,把a所指二维数组中的第0行放到b所指二维数组的最后一列中,b所指二维数组中其他数据不变。 #define N 4 void rotade(int a[][N],int b[1[N]) int i,j; for(i=0;i<N;i++) b[i][N-1]= (12) ; (13) =a[N-1][i];
填空题以下程序运行后输出结果是U 【11】 /U。
#include
void fun(int x)
{ if(x/5>0) fun(x/5);
printf("\%dn",x);
}
main()
{ fun(11); printf("\n"); }
填空题设当前盘为A盘,当前系统提示符为“>”在不改变当前盘情况下,显示C盘的当前目录路径,应使用命令 【3】 。
填空题软件维护活动包括以下几类:改正性维护、适应性维护、{{U}} 【5】 {{/U}}维护和预防性维护。
