填空题假设用—个长度为50的数组(数组元素的下标从0至到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶揩针top指向栈顶元素,如果bottomn=49,top=30(数组下标),则栈中具有{{U}} 【1】 {{/U}}个元素。
填空题以下程序运行后的输出结果是 【11】 。 main() char a[]="Language",b[]="Pragrame"; char *p1,*p2; int k; p1=a; p2=b; for(k=0;k<=7;k++) if(*(p1+k)==*(p2+k)) printf("%c",*(p1+k));
填空题下列给定程序中,函数proc()的功能是:从m个学生的成绩中统计出低于平均分的学生人数,人数由函数值返回,平均分存放在形参aver所指的存储单元中。例如输入8名学生的成绩:
60 70 80 90 65 75 85 95
则低于平均分的学生人数为4(平均分为77.5)。实际输入时学生数以回车键作为结束,成绩与成绩之间也与回车键作为分隔。
请修改程序中的错误,使它能得到正确结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#inelude<stdlib.h>
#include<stdio.h>
#include<conio.h>
#define M 20
int proc (float *s, int n, float * aver)
{
//************found*************
int ave, t=0;
int count=0, k, i;
for(k=0; k<n; k++)
t+=s[k];
ave=t/n;
for(i=0; i<n; i++)
//************found************
if(s[i]>ave)
count++;
//************found*************
aver=ave;
return count;
}
void main()
{
float stu[30], aver;
int m, i;
system("CLS");
printf("/nPlease enter m: ");
scanf("%d", &m);
printf("/nPlease enter%d mark: /n", m);
for(i=0; i<m; i++)
scanf("%f", stu+i);
printf("/nThe number of students: %d/n",
proc(stu, m, &aver));
printf("Ave=%f/n", aver);
}
填空题以下程序统计从终端输入的字符中大写字母的个数。用#号作为输入结束标志,请填空。 #include<stdio.h> #include<ctype.h> main() int num[26],i;char c; for(i=0;i<26;i++) num[i]=0; ______; while(c!='#' if(isupper(c)) num[c-65]+=1; for(i=0;i<26;i++) if(num[i]) printf("%c,%d/n",i+65,num[i]);
填空题给定程序MODI1.C中函数fun的功能是:将s所指字符串中的字母转换为按字母顺序的后续字母(但Z转换为A,z转换为a),其他字符不变。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 文件MODI1.C内容如下: #include<stdio.h> #include<ctype.h> void fun(char *s) /**********found**********/ while(*s!='@') if(*s>='A' gets(s); printf("/n The string: /n/n"); puts(s); fun(s); printf("/n/n Tile Cords: /n/n"); puts(s);
填空题请补充函数fun(),该函数的功能是:把数组aa中元素下标为偶数的元素按从小到大重新保存在原数组中,其它元素位置不变。
例如,输入“33,67,42,58,25,76,85,16,41, 56”,则输出“25,67,33,58,41,76,42,16,85,56”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
# include<stdio. h>
#define N 10
void fun(int aa[])
{
int i, j, t;
for (i=0; i<N;i=i+2)
{
for({{U}} 【1】 {{/U}}; j<N; j=j+2)
if ({{U}} 【2】 {{/U}})
{
t=aa [j];
aa [j] =aa [i];
aa [i] =t;
}
}
}
main ()
{
int i;
int aa[N]={33, 67,42, 58, 25, 76, 85, 16,41, 56};
clrscr ();
printf("/n*** original list ***/n");
for(i=0; i<N; i++)
printf ("%4d", aa [i] );
fun (aa);
printf("/n*** new list ***/n");
for(i=0; i<N; i++)
printf ("%4d", aa [i] );
}
填空题以下isprime函数的功能是判断形参a是否为素数,是素数,函数返回1,否则返回0。请填空。
int isprime(int a)
{ int i;
for(i=2;i<=a/2;i++)
if(a%i=0){{U}} [15] {{/U}};
{{U}} [16] {{/U}};
}
填空题下面程序有两个printf语句,如果第一个printf语句输出的是194,则第二个printf语句的输出结果是 【13】 。 main() int a[10]=1,2,3,4,5,6,7,8,9,0,*p; p=a printf("%x/n",p); printf("%x/n",p+9);
填空题设有char a,b;,若要通过a&b运算屏蔽掉a中的其他位,只保留第2位和第8位(右起为第1位),则b的二进制是 【8】 。
填空题设有如下宏定义
#define MYSWAP(z,x,y){z=x;x=Y;Y=z;}
以下程序段通过宏调用实现变量a、b内容的交换,请填空。
float a=5,b=16,c;
MYSWAP(______,a,b) ;
填空题以下程序中,fun函数的功能是求3行4列二维数组每行元素中的最大值,请填空: void fun(int,int,int(*)[4],int*); main() int a[3][4]=12,41,36,28,19,33,15,27,3,27,19,1,b[3],i; fun(3,4,a,b); for(i=0;i<3;i++)printf("%4d",b[i]); printf("/n"); void fun(int m,int n,int ar[][4],int*bar) int i,j,x; for(i=0;i<m;i++) X=ar[i][0]; for(j=0;j<n;j++)if(x<ar[i][j])x=ar[i][j];______=x:
填空题请将以下程序中的函数声明语补充完整。
#include<stdio.h>
int{{U}} 【12】 {{/U}}
main()
{ int x,y,(*p)();
sccanf("%d%d",
p=max;
printf(%d/n",(*p)(x,y));
}
int max(int a,int b)
{return(a>b?a:b);}
填空题下列给定程序中,函数fun()的功能是:依次取出字符串中所有的数字字符,形成新的字符串,并取代原字符串。 请改正函数fun()中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include <stdio.h> #include <conio.h> void fun(char *s) int i,j; for(i=0,j=0; s[i]!= '/0'; i++) if(s[i]>= '0' /*************found**************/ s[j]="/0"; main() char item[80]; clrscr(); printf("/nEnter a string: ");gets(item); printf("/n/nThe string is:/%s/n", item); fun(item); printf("/n/nThe string of changing is : /%s/n",item);
填空题成本估算模型中,Putnam估算模型是一种 【2】 模型。
填空题设有下列的程序段; char str[]="Hello"; char *ptr; ptr=str; 执行上面的程序段后,*(ptr+5)的值为______。
填空题以下程序用于判断a、b、c能否构成三角形,若能,输出YES,否贝愉出NO。当给a、b、c输入三角形三条边长时,确定a、b、c能构成三角形的条件是需同时满足三个条件;a+b>c,a+c>b,b+c>a。请填空。
main()
{ float a,b,c;
scanf("%f%f%f',
if({{U}} [7] {{/U}})printf("YES/n"); /*a、b、c能构成三角形*/
else printf("NO/n"); /*a、b、c不能构成三角形*/
}
填空题下列程序中的函数strcpy2()实现字符串两次复制,即将t所指字符串复制两次到S所指内存空间中,全并形成一个新字符串。例如。若t所指字符串为:efgh,调用strcpy2后,S所指字符串为:ef
ghefgh。请填空。
#include
#include
void strcpy2(char *S,char *t)
{char*P=t;
while(*S++=*t++);
S=【 】;
while(【 】=*P++);
}
main ()
char str1[100]="abcd",str2[]="efgh";
strcpy2(strl,str2);printf("%s\n",str1);
}
填空题下列给定的程序中,函数fun()的功能是:求输入的两个数中较小的数。 例如:输入5 10,结果为rain is 5。 [注意] 部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。 [试题源程序] #include <stdio.h> #include <conio.h> int fun(int x, (1) ) int z; z=x<y (2) x:y; return(z); main() int a, b, c; scanf("%d, %d/n", (3) ); c=fun(a, b); printf("min is %d", c);
填空题给定程序中函数fun的功能是:求出以下分数序列的前n项之和。和值通过函数值返回到main函数。例如,若n=5,则应输出:8.391667。请改正程序中的错误,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!给定源程序:#include<stdio.h>/**********found**********/voidfun(intn){inta,b,c,k;doubles;s=0.0;a=2;b=1;for(k=1;k<=n;k++){/**********found**********/s=s+(Double)a/b;c=a;a=a+b;b=c;}returns;}main(){intn=5;printf("/nThevalueoffunctionis:%lf/n",fun(n));}
填空题以下程序中,fun函数的功能是求3行4列二维数组每行元素中的最大值。请填空。
void fun(int,int,int(*)[4],int*);
main()
{ int a [3][4]={{1,2,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i;
fun(3,4,a,b,);
for(i=0;i<3;1++)printf("%4d",b[i]);
printf("/n");
}
void fun(int m,int n,int ar[][4],int*br)
{ int i,j,x;
for(i=0;i<m;i++)
{x=ar[i][0];
for(j=0;j<n;j++)if(x<ar[i][j])x=ar[i][j];
{{U}} 【12】 {{/U}}=x;
}
}
