填空题数据结构分为逻辑结构与存储结构,线性链表属于{{U}} 【2】 {{/U}}。
填空题数组s全由字母字符组成,请补充fun()函数,该函数的功能是:把s中的字母转换成紧接着的下一个字母,如果原来的字母为“a”或“A”,则相应地转换成“b”或“B”,结果仍保存在原数组中。
例如,输入“aAZut”,则输出“bBAvu”。
注意:部分源程序给出如下。
请勿改动main()函数与其他函数中的任何内容,仅在fun()函数的横线上填写所需的若干表达式或语句。
试题程序:
#include<stdio.h>
#define N 100
void fun(char p[])
{
int j;
for(j=0; ______; j++)
if(p[j]=="z"||p[j]=="Z")
p[j]-=______;
else
p[j]+=______;
}
void main()
{
char s[N];
printf("Please Input a string: /n");
gets(s);
printf("The original string: /n");
puts(s);
printf("The new string: /n");
puts(s);
}
填空题若有以下程序:
main()
{ int p,a=5;
if(p=a!=0)
printf("%d/n",p);
else
printf("%d/n",p+2);
}
执行后输出结果是{{U}} 【8】 {{/U}}。
填空题以下程序中,函数fun的功能是计算x2-2x+6,主函数中将调用fun函数计算: y1=(x+8)2-(x+8)+6 y2=sin2(x)-2sin(x)+6 请填空。 # include<math.h> double fun(double x)return(x*x-2*x+6); main() double x,y1,y2; printf("Enter x:");scanf("%1f",&x); y1=fun(______) y2=fun(______) printf("y1=%1f, y2=%1f/n",y1, y2);
填空题以下程序段的定义语句中,x[1]的初值是 (9) ,程序运行后输出的内容是 (10) 。 #include<stdio.h> main( ) int x[]=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,*p[4],i; for(i=0;i<4;i++) p[i]=&x[2*i+1]; prntf("%d",p[i][0]); printf("/n");
填空题若输入tc,则程序的运行结果为 【8】 。#include <stdio.h>main() char str[40]; fscanf(stdin,"%s",str); fprintf(stdout,"%s/n",str);
填空题下列给定程序中函数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];
for(i=0; i<N; i++)
if(strlen(sp)<strlen(sq[i]))
sp=sq[i];
/**********found**********/
return sq;
}
void 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);
}
填空题有以下程序: #inciude<stdio.h> int *f(int *P,int *q); main() int m=1,n=2,*r=&m; r=f(r,&n);printf("%d/n",*r); int *f(int*p,int*q) return(*p>*q)?p:q; 程序运行后的输出结果是______
填空题从键盘输入一组无符号整数并保存在数组arr[N]中,以整数0结束输入,即第N+1个数是0,要求这些数的最大位数不超过4位,其元素的个数通过变量num传入函数proc()。请补充函数proc(),其功能是:从数组arr中找出个位和十位的数字之和大于5的所有无符号整数,结果保存在数组yy中,其个数由函数proc返回。
例如,当arr[8]={13,1,205,252,2,333,4444,21}时实际输入时,数与数之间用Enter键分开,bb[4]={252,333,4444}。
注意:部分源程序给出如下。
请勿改动函数main()和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
#define M 1000
int proc(int arr[], int bb[], int num)
{
int i, m=0;
int g, s;
for(i=0; i<num; i++)
{
g=______;
s=arr[i]/10%10;
if((g+s)>5)
______;
}
return ______;
}
void main()
{
int arr[M];
int yy[M];
int num=0, m=0, i=0;
printf("Input number:/n");
do
{
scanf("%u",
}
while(arr[num++]!=0);
m=proc(arr, yy, num);
printf("/nyy=");
for(i=0; i<m; i++)
printf("%u", yy[i]);
}
填空题符号”a”和’a’的区别是__________。
填空题以下函数用来在w数组中插入x,w数组中的数已按由小到大的顺序存放,n为数组中存放的数的个数。插入后数组中的个数仍然有序。请填空,使之完整。 void fun(char*w,char x,int*n) int i,p; p=0; w[*n]=x; whiel(x>w [p]) 【10】 ; for(i=*n;i>p;i--)w[i]= 【11】 ; w[p]=x; + +*n;
填空题定义长度为12的数组,下面四种方法中正确的有 【18】 。 ① int x[12]; ② int n=12; ③ const int n=12; ④ int x[]=1,2; int x[n]; int x[n];
填空题以下程序中函数f的功能是在数组x的n个数(假定n个数互不相同)小找出最大最小数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。请填空。 #include <stdio.h> void f(int x[],int n) int p0,p1,i,j,t,m; i=j=x[0]; p0=p1=0; for(m=O;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[pl];x[p1]= 【14】 ; 【15】 =t main() int a[10],u; for(u=0;u<10;u++) scamp("%d", f(a,10); for(u=0;u<10;u++)printf("%d",a[u]); ptintf("/n");
填空题以下程序中的trap函数是一个用梯形法求定积分的通用函数,梯形法求定积分s的公式为:其中n为积分小区间数。以下程序调用trap函数求定积分,被积函数是:f(x)=x2+3x+2且n=1000,a=0,b=4请给程序填空,若填空正确,程序的运行结果为:53.333344。#include<stdio.h>#include<math.h>doubletrap(double______,doublea,doubleb){doublet,h;inti,n=1000;t=0.5*((*fun)(a)+(*fun)(b));h=fabs(a-b)/(double)(n);for(i=1;i<=n-1;i++)t=t+______;t=t*h;return(t);}doublemypoly(doublex){return(x*x+3.0*x+2.0);}main(){doubley,(*pf)(double);pf=______;y=trap(pf,0.0,4.0);printf("%f/n",y);}
填空题以下程序的输出结果是______。 main() char *p-"abcdefgh",*r; long *q; q=(long*)p; q++; r=[char*)q; printf("%s/n",r);
填空题若有下列定义:int a[]={1,2,3,4,5,6,7,8,9,10},*p=a;,则值为3的表达式为:______。
填空题下列程序的输出结果是 【10】 。 main() int i; for(i=1;i=1;i++) if(i>4) printf("%d/n",i); break; printf("%d/n",i++);
填空题设有下列程序: #include<stdio.h> #include<string.h> main() int i; chars[10],t[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>,则程序的输出结果是______。
填空题在一个容量为15的循环队列中,若头指针front=6,尾指针Year=9,则该循环队列中共有______个元素。
填空题求任意一个数(用16位二进制码表示)的补码。main() unsigned int a; 【13】 ; scanf("%o",&a); printf("%o/n",getbits(a));unsigned int getbits(value)unsigned int value; unsigned int z; z= 【14】 ; if (z==0100000) 【15】 ; else z=value; return(z);
