填空题设变量a和b已正确定义并赋初值。请写出与a-=a+b等价的赋值表达式【 】。
填空题请补充函数proc(),该函数的功能是:判断某一个年份是否为闰年。
例如,1900年不是闰年,2004年是闰年。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
int proc(int m)
{
int flag=0;
if(m%4==0)
{
if(______)
flag=1;
}
if(______)
flag=1;
return ______;
}
void main()
{
int year;
system("CLS");
printf("Input the year: ");
scanf("%d",
if(proc(year))
printf("%d is a leap year./n", year);
else
printf("%d is not a leap year./n", year);
}
填空题若变量n的值为24,则print函数共输出 【7】 行,最后一行有 【8】 个数。 void print(int n,int aa[]) int i; for(i=1;i<n;i++) printf("%6d",aa[i]); if(!(i%5)) printf("/n"); printf("/n");
填空题以下程序的功能是:将输入的正整数按逆序输出。例如:若输入135则输出531,请填空。#includemain() int n,s; printf("Enter a number:"); scanf("%d",&n); printf("Output: "); do s=n%10; printf("%d",s); ______; while(n!=0); printf("/n");
填空题给定程序MODI1.C中函数fun的功能是将s所指字符串中最后一次出现的与t1所指字符串相同的子串替换成t2所指字符串,所形成的新串放在w所指的数组中。此处要求t1和t2所指字符串的长度相同。
例如,当s所指字符串中的内容为“abcdabfabc”,t1所指子串中的内容为“ab”,t2所指子串中的内容为:“99”时,结果,在w所指的数组中的内容应为:“abcdabf99c”。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
给定源程序如下。
#include<stdio.h>
#include<string.h>
void fun(char*s,char*t1,char*t2,char *w)
{
char*p,*r,*a=s;
strcpy(w,s);
/*******found**********/
while(w)
{ p=w;r=t1;
while(*r)
/**************found*********/
IF(*r==*p)
{ r++;p++;}
else break;
if(*r=="/0")a=w;
w++;
}
r=t2;
while(*r){ *a=*r;a++;r++;}
}
main()
{
char s[100],t1[100],t2[100],w[100];
printf("/nPlease enter string S:");
scanf("%s",s);
printf("/nPlease enter substring t1:");
scanf("%s",t1);
printf("/nPlease enter substring t2:");
scanf("%s",t2);
if(stden(t1)==strlen(t2))
{ fun(s,t1,t2,w);
printf("/nThe result is:%s/n",w);
}
else printf("/nError:strlen(t1)!=strlen(t2)/n");
}
填空题数据模型按不同应用层次分成三种类型,它们是概念数据模型、{{U}} 【5】 {{/U}}和物理数据模型。
填空题下面程序是计算100以内能被4整除且个位数为4的所有整数,请填空。 main() int m,n; for(m=0; 【9】 ;m++) n=m*10+4; if( 【10】 )Continue; printf("%d/n",n);
填空题设有以下定义和语句,则*(*(P+2)+1)的值为{{U}} 【10】 {{/U}}。
int[3][2]={10,20,30,40,50,60},(*p)[2];
p=a;
填空题若有以下程序:
main()
{ int p, a=5;
if(p=a!=0)
printf("% d/n", p);
else
printf("% d/n", p+2);
执行后的输出结果是{{U}} 【7】 {{/U}}。
填空题下列给定程序中,函数proc()的功能是:用冒泡法对6个字符串按由小到大的顺序进行排序。 请修改程序中的错误,使它能得到正确结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include<string.h> #include<stdlib.h> #include<conio.h> #include<stdio.h> #define MAX 20 void proc(char * pstr[6]) int i, j; char *p; for(i=0; i<5; i++) for(j=i+1; j<6; j++) //************found************* if(strcmp((pstr+i), (pstr+j))>0) p=*(pstr+i); *(pstr+i)=*(pstr+j); //************found************* *(pstr+j)=*p; void main() int i; char *p[6], str[6] [MAX]; system("CLS"); for(i=0; i<6; i++) p[i]=str[i]; printf("/nEnter 6 string(1 string at each line): /n"); for(i=0; i<6; i++) scanf("%s", p[i]); proc(p); printf("The strings after sorting: /n"); for(i=0; i<6; i++) printf("%s/n", p[i]);
填空题设变量已正确定义为整型,则表达式n=i=2,++i,i++的值为 【7】 。
填空题下面程序的运行结果是:{{U}} 【17】 {{/U}}。
int f(int a[],int n)
{ if(n>1)return a[0]+f(&a[1],n-1);
elsel return a[0];
}
main()
{ int aa[3]={1,2,3},s;
s=f(&aa[0],3);printf("%d/n",s);
}
填空题请补充函数proc(),该函数的功能是:计算M×M维矩阵元素的方差,结果由函数返回。维数M在主函数中输入。例如,输入4,则求方差的公式为:其中注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若十表达式或语句。试题程序:#include<stdio.h>#include<conio.h>#include<stdlib.h>#include<math.h>#defineM20doubleproc(________,intn){inti,j;doubles=0.0;doublef=0.0;doubleaver=0.0;doublesd=0.0;for(i=0;i<n;i++)for(j=0;j<n;j++)s+=a[i][j];aver=________;for(i=0;i<n;i++)for(j=0;j<n;j++)f+=(a[i][j]-aver)*(a[i][j]-aver);f/=(n*n);sd=________;returnsd;}voidmain(){intarr[M][M];intn;inti,j;doubles;system("CLS");printf("****InputthedimensionofarrayM****/n");scanf("%d",printf("****Thearray"***/n");for(i=0;i<n;i++){for(j=0;j<n;j++){arr[i][j]=rand()%50;while(arr[i][j]==0)arr[i][j]=rand()%60;printf("%4d",arr[i][j]);}printf("/n/n");}s=proc(arr,n);printf("****THERESULT****/n");printf("%4.3f/n",s);}
填空题深度为5的满二叉树有{{U}} 【2】 {{/U}}个叶子结点。
填空题以下程序运行后的输出结果是______。 struct NODE int k; struct NODE*link; ; main() struct NODEm[5],*p=m,*q=m+4; int i=0: while(p!=q) p->k=++i;p++;q->k=1++;q--; q->k=i: for(i=0;i<5;i++)printf("%d",m[i].k); printf("/n");
填空题当运行以下程序时,输入abcd,程序的输出结果是【 】
insert(char str[])
{int i;
i=strlen(str);
while(i>0)
{str[2*i]=str[i];str[ 2*i-1]=''*'';i--;}
printf("%S\n",str);
}
main()
{char str[40];
scanf("%S",str);insert(str);
}
填空题下列给定程序中函数fun的功能是:计算正整数num各位上的数字之积。
例如,若输入252,则输出应该是20。若输入202,则输出应该是0。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序 #include
<stdio.h> #include <conio.h> long fun long
num) { /* * * * *found* * * * * / long
k; do { k*=num% 10; /* * * *
*found* * * * * / num /=10;
}while(num); return(k); }
main() { long n; printf("please enter a
number:"); scanf("% ld", printf("/n%
ld/n", fun(n)); }
填空题人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中。函数fun的功能是:找出指定出生年份的人员,将其数据放在形参k所指的数组中,由主函数输出,同时由函数值返回满足指定条件的人数。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#define N 8
typedef struct
{int num;
int year, month, day;
}STU;
int fun(STU *std, STU *k, inf year)
{int i, n=0;
for(i=0; i<N; i++)
/**********found**********/
if(______==year)
/**********found**********/
k[n++]=______;
/**********found**********/
return(______);
}
main()
{STU std[N]={{1,1984,2,15}, {2,1983,9,21}, {3,1984,9,1}, {4,1983,7,15}, {5,1985,9,28}, {6,1982,11,15}, {7,1982,6,22}, {8,1984,8,19}};
STU k[N]; int i, n, year;
printf("Enter a year:");
scanf("%d",
n=fun{std, k, year);
if(n==0)
printf("/nNo person was born in %d/n", year);
else
{printf("/nThese persons were born in %d/n", year);
for{i=0; i<n; i++)
printf("%d %d-%d-%d/n", k[i].num, k[i].year, k[i].month, k[i].day);}
}
填空题以下程序运行后的输出结果是 {{U}} 【10】 {{/U}} 。
main( )
{ int a [4][4]={{1,2,3,4},{5,6,7,8},{11,12,13,14},{15,16,17,18}};
int i=0,j=0,s=0;
while(i++<4)
{
if(i==2||i==4) continue;
j=0;
do{ s+= a[j]; j++; } while(j<4);
}
printf("%d/n",s);
}
填空题设y是int型变量,请写出y为奇数的关系表达式 【6】 。
