填空题以下程序的输出结果是{{U}} 【14】 {{/U}}。
main()
{ int x=0;
sub(&x,8,1);
printf("%d/n",x);
}
sub(int *a,int n,int k)
{ if(k<=n)sub(a,n/2,2*k);
*a+=k;
}
填空题请补充函数fun(),该函数的功能是:把ASCII码为奇数的字符从字符串str中删除,结果仍然保存在字符串str中。字符串str从键盘输入,其长度作为参数传入函数fun()。 例如,输入“abcdef”,输出“bdf”。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序: #include <stdio.h> #define N 80 void fun(char s[],int n) int i, j; j=0; for(i=0; 【1】 ;i++) if( 【2】 ) s [j++]-s [i]; 【3】 ; main ( ) int i=0, strlen=0; char str [N]; clrscr (); printf ("/nInput a string: /n"); gets (str); while (str [i] !='/0') strlen++; i++; fun(str, strlen); printf("/n*** display string ***/n"); puts (str);
填空题设有如下图所示的二叉树:对此二叉树前序遍历的结果为______。
填空题下列给定程序中,函数fun()的功能是:输出M行N列整数方阵,然后求两条对角线上的各元素的平方和,返回此和数。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include <conio.h> #include <stdio.h> #define M 5 int fun(int n,int xx[][M]) int i,j,sum=O; printf("/nThe %d x %d matrix:/n",M,M); for(i=0;i<N;i++) for(j=0;j<M;j++) /*************found*************/ printf("%4d",xx[i j]); /*************found*************/ printf('/n'); for(i=0;i<n;i++) sum+=xx[i][i]*xx[i][i]+xx[i][n-i-1] *xx[i][n-i-1]; return(sum); main() int aa[M][M]=3,12,4,24,35, 11,3, 3,7, 56,61,27,58,49,24, 17,28,7,36,85,15,33,5,24,9; clrscr(); printf("/nThe result of all elements on 2 diagnals iS%d",fun(M,aa));
填空题当执行以下程序时,输入1234567890<回车>,则其中while循环体将执行______次。# includemain() char ch; while((ch=getchar())=='0') printf("#");
填空题以下程序运行后的输出结果是{{U}} 【13】 {{/U}}。
main()
{ int i,n[]={0,0,0,0,0};
for(i=1;i<=4;i++)
{ n[i]=n[i-1]*2+1;
printf("%d ",n[i]);
}
}
填空题以下程序的输出结果是【 】。
#include
#define N 5
int fun(int *s,int a,int n)
{ int j;
*s=a;j=n;
while(a!=s[j])j--;
return j:
main()
{ int s[N+1];int k;
for(k=1;k<=N;k++) s[k]=k+1;
printf("%d\n",fun(s,4,N));
}
填空题下列的for语句的循环次数为______。 for(x=1,y=0;(y!=19) x++);
填空题请补充main函数,该函数的功能是:从键盘输入学生的成绩(用回车键作为分隔符),并统计各分数段学生的人数。具体要求为:A类为90~100分,B类为80~89分,C类为70~79分,D类为60~69分,59分以下的为E类。当成绩为0时结束成绩的输入,并且最后输入的0不进行统计。 例如,输入89,99,45,64,56,78,88,74,66,55,0。结果为 A:1 B:2 C:2 D:2 E:3 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。 试题程序: #include<stdio.h> #include<conio.h> #define N 100 main() float score[N]; int bb[5]; int grade, i=-1,n=0; char ch='A'; clrscr(); printf("Input a score(0~100);/n"); do i++; n++; printf("score[%d]=",i); scanf ( 【1】 ); while (score[i]!=0); for(i=0;i<5;i++) 【2】 ; for(i=0;i<n-1;i++) grade= 【3】 ; switch(grade) case 10: case 9:bb[0]++;break; case 8:bb[1]++;break; case 7:bb[2]++;break; case 6:bb[3]++; break; default:bb[4]++; for(i=0;i<5;i++) printf("/n%c:%d",ch+i,bb[i]);
填空题下列给定程序中,函数fun的功能是:把形参a所指数组中的偶数按原顺序依次存放到a[0]、a[1]、a[2]…中,把奇数从数组中删除,偶数的个数通过函数值返回。
例如,若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7,删除奇数后,a所指数组中的数据为:4、2、6、8,返回值为4。
请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。
注意:
不得增行或删行,也不得更改程序的结构!
[试题源程序]
#include<stdio.h>
#define N 9
int fun(int a[],int n)
{int i,j;
j=0;
for(i=0;i<n;i++)
/**********found**********/
if(______==0){
/**********found**********/
______=a[i];j++;
}
/**********found**********/
return______;
}
main()
{int b[N]={9,1,4,2,3,6,5,8,7},i,n;
printf("/nThe original data:/n");
for(i=0,i<N,i++)
printf("%4d",b[i]);
printf("/n");
n=fun(b,N);
printf("/nThe number of even:%d/n",n);
prinff("/nThen even:/n");
for(i=0;i<n;i++)
printf("%4d",b[i]);
printf("/n");
}
填空题以下条件表达式可计算:1+|a|的值,请填空。a>=0? 【6】 : 【7】
填空题求任意一个数(用16位二进制码表示)的补码。 main( ) unsigned int a; 【10】 ; scanf("%O",& a); printf("%o/n",getbits(a)); unsigned int getbits(value) unsigned int value; unstgned int z; z= 【11】 ; if(z==0100000) 【12】 ; else z=value; return(z);
填空题以下程序的输出结果是______。
main()
{ char s[]="abcdef";
s[3]='/0';
printf("%s/n",s);
}
填空题假定整数数列中的数不重复,并存放在数组中。给定程序中函数fun的功能是:删除数列中值为x的元素。n中存放的是数列中元素的个数。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
给定源程序:
#include<stdio.h>
#define N 20
int fun(int*a,int n,int x)
{int p=0,i;
a[n]=x;
while(x!=a[p])
p=p+1;
/**********found**********/
if(P==n)return-1;
else
{for(i=p;i<n-1;i++)
/**********found**********/
a[i+1]=a[i];
return n-1;
}
}
main()
{int w[N]={-3,0,1,5,7,99,10,15,30,90},x,n,i;
n=10;
printf("The original data:/n");
for(i=0;i<n;i++)printf("%5d",w[i]);
printf("/nInput x(to delete):");scanf("%d",
printf("Delete:%d/n",x);
n=fun(w,n,x);
if(n==-1)printf("***Not be found!***/n/n");
else
{printf("The data after deleted:/n");
for(i=0;i<n;i++)
printf("%5d",w[i]);printf("/n/n");
}
}
填空题请补充函数proc(),该函数的功能是判断一个数是否为回义数。当字符串是回文数时,函数返回字符串:yes!,否则函数返回字符串:no!,并在主函数中输出。所谓回文,即正向与反向的拼写都一样,例如,abcdcba。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<string.h>
#include<stdio.h>
char*proc(char*str)
{
char*str1, *str2;
int i, t=0;
str1=str; sir2=str+strlen(str)-1;
for(i=0; ______; i++)
if(______)
{
t=1;
break;
}
if(______)
return("yes!");
else
return("no!");
}
void main()
{
char str[50];
printf("Input:");
scanf("%s", str);
printf("%s/n", proc(str));
}
填空题给定程序中函数fun的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。
请改正函数fun中指定部位的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
给定源程序:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 10
typedef struct ss
{char num[10];
int s;
}STU;
STU*fun(STU a[],int m)
{STU b[N],*t;
int i,j,k;
/**********found**********/
t=(STU*)calloc(sizeof(STU),m)
for(i=0;i<N;i++)b[i]=a[i];
for(k=0;k<m;k++)
{for(i=j=0;i<N;i++)
if(b[i].s>b[j].s)j=i;
/**********found**********/
t(k)=b(j);
b[j].s=0;
}
return t;
}
void outresuh(STU at],FILE*pf)
{int i;
for(i=0;i<N;i++)
fprintf(pf,"No=%s Mark=%d/n",a[i],num,a[i].s);
fprintf(pf,"/n/n");
}
main()
{STU a[N]={{"A01",81},{"A02",89},{"A03",66},{"A04",87},{"A05",77},{"A06",90},{"A07",79},{"A08",61},{"A09",80},{"A10",71}};
STU*pOrder;
int i,m;
printf("*****The Original data*****/n");
outresult(a,stdout);
printf("/nGive the number of the students who have better score:");
scanf("%d",
while(m>10)
{printf("/nGive the number of the students who have better score:");
scanf("%d",
}
pOrder=fun(a,m);
printf("*****THE RESULT*****/n");
printf("The top:/n");
for(i=0;i<m;i++)
printf("%s %d/n",pOrder[i].num,pOrder[i].s);
free(pOrder);
}
填空题程序时输入1234567,则输出结果是______。#include main() int a=1,b; scanf("%2d%2d",&a,&b); printf("%d %d/n", a,b);
填空题以下程序的运行结果是{{U}} 【17】 {{/U}}。
#include <stdio.h>
#include <string.h>
typcdef struct student
{ char name[10];
long sno;
float score;
}STU;
main()
{ STU a={"Zhangsan",2001,95},b={"Shangxian",2002,90},
c={"Anhua",2003,95},d,*p=
d=a;
if(strcmp(a.name,b.name)>0) d=b;
if(strcmp(c. name, d. name)>0)d=c;
printf("%1d%s/n",d.sno,p->name);
}
填空题从字符串str中获取一子串,并将其存放到str1中,该子串从str的第k个字符开始取n个字符,若不足n个字符,则取到str的最后一个字符为止。
#include<stdio.h>
#include<string.h>
int main()
{
char str[81], str1[81];
char*p=str, ______=str1;
int k, n;
gets(str);
scanf("%d %d",
if(k<=strlen(str))
{
______;
while((n>0)
n--;
}
}
*p1=0;
puts(str1);
return 0;
}
填空题以下程序的输出结果是 【7】 。 main() int a=1,b=2; a=a+b;b=a-b;a=a-b; printf("%d,%d/n",a,b);