填空题请补充函数fun(),该函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。 例如,若一维数组中的数据是:1,1,1,2,2,2,3, 4,4,5,5,6,6,7,7,8,9,9,10,10。 删除后,数组中的内容应该是:1,2,3,4,5,6,7, 8,9,10。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序: #include<stdio.h> #define N 80 int fun(int a[],int n) int i, t,j=0; t=a[0]; for(i=1;i<n;i++) if( 【1】 ) ; else 【2】 ; t=a[i]; a[j++]=t; return j; main() int a[N]=1,1,2,2,2,3,4,4,5,5,6,6,6, 7,7,8,9,9,10,10,i,n=20; printf("The original data:/n"); for(i=0; i<n; i++) printf("%4d",a[i]); n=fun(a,n); printf("/n/nThe data after deleted ; /n"); for (i=0;i<n;i++) printf("%4d",a[i]); printf("/n");
填空题若有以下程序:int f (int x,int y) return(y-x)*x; main() int a=3,b=4,c=5,d; d=f(3,4),f(3,5)); printf("%d/n",d); 执行后输出结果是 【12】 。
填空题以下程序的输出结果是{{U}} 【8】 {{/U}}。
#include<stdio.h>
main()
{int i,j,sum;
for(i=3;i>=-1;i-)
(sum=0;
for(j=1;j<=i;j++) sum+=i*j;
}
printf("%d/n,sum);
}
填空题人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中,且编号唯一。函数fun的功能是:找出指定编号人员的数据,作为函数值返回,由主函数输出,若指定编号不存在,返回数据中的编号为空串。
请在程序的下画线处填入正确的内容,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include <stdio.h>
#include <string.h>
#define N 8
typedef struct
{
char num[10];
int year,month,day;
} STU;
/**********found**********/
______fun(STU*std,char*num)
{
int i;
STU a={"",9999,99,99};
for(i=0;i<N;i++)
/**********fomad**********/
if(strcmp(______,num)==0)
/**********found**********/
return(______);
return a;
}
main()
{
STU std[N] = {{"111111",1984,2,15},{"222222",1983,9,21},{"333333",1984,9,1},{"444444",1983,7,15},{"555555",1984,9,28},{"666666",1983,11,15},{"777777",1983,6,22},{"888888",1984,8,19}};
STU p;
char n[10]="666666";
p=fun(std,n);
if(p.num[0]==0)
{
printf("\nNot found!\n");
}
else
{
printf("\nSucceed!\n");
printf("%s%d-%d-%d\n",p.num,p.year,p.month,p.day);
}
}
填空题有以下程序,若运行时从键盘输入:18,11,则程序的输出结果是【 】。
main()
{int a,b;
printf("Enter a,b:");scanf("%d,%d",&a,&b);
while(a!=b)
{ while(a>b)a-=b;
while(b>a)b-=a;
}
printf("%3d%3d\n",a,b);
}
填空题在软件测试中,动态测试和静态测试手段只能发现程序中的错误,而不能证明程序中不存在错误,只有 【2】 证明才有可能证明程序的正确性。
填空题下面程序的输出是{{U}} 【9】 {{/U}}
main()
{enum em{eml=3,em2=1,em3};
char*aa[]={"AA',"BB","CC","DD"}
printf("%s%s%/n",aa[em1],aa[em2],aa[em3]);
}
填空题下列软件系统结构图的宽度为________。
填空题以下程序的输出结果是{{U}} {{/U}}。 float fun(int x,int y) return(x+y); main() int a=2,b=5,c=8; printf("%3.0f//n",fun((int)fun(a+c,b),a-c));
填空题下面程序有两个printf语句,如果第一个printf语句输出的是194,则第二个printf语句的输出结果是{{U}} 【10】 {{/U}}
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);
}
填空题在Windows环境下,为了进行"添加/删除程序"操作,首先打开【 】,然后双击其中的相应图标。
填空题没有char,a,b;,若要通过a&d运算屏蔽掉a中的其他位,只保留第2位和第8位(右起为第1位),则b的二进制是 【7】 。
填空题给定的程序中,fun函数的功能是:将M行N列的矩阵中的数据,按行的顺序依次放在一维数组中,一维数组中的元素的个数存放在形参n所指的存储单元中。
请在程序的下划线处填写正确的内容,使程序得到正确的结果。
void fun(int(*S)[10],int*b,int*n,int mm,int nn)
{
int i,j;
for(i=0;i<mm;s++,i++)
for(j=0;j<{{U}} {{U}} {{/U}} {{/U}};j++)
{{U}} {{U}} {{/U}} {{/U}};
{{U}} {{U}} {{/U}} {{/U}}
}
main()
{ int w[10][10]={{11,12,13,14},{21,22,23,24},{31,32,33,34}},i,j;
int a[100]={0},n=0:
printf("The matrix:/n");
for(i=0;i<3;i++)
{ for(j=0;j<4;j++) printf("%3d",w[i][j]);
printf("/n");
}
fun(w,a,/n");
for(i=0;i<n;i++)
printf("%3d”,a[i];printf("/n/n");
NONO();严本函数与考生答题无关,考生不得改动,否则后果自负。*/
}
填空题下述函数用于统计一行字符中的单词个数,单词之间用空格分隔。 word_num(str) for(i=0;str[i]!= 【15】 ;i++) if( 【16】 ='')word=0; 【17】 ; return(num);
填空题有以下语句段: int n1=10,n2=20; printf("______",n1,n2); 要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。 n1=10 n2=20
填空题以下程序运行后的输出结果是{{U}} 【8】 {{/U}}。
main()
{int a=3,b=4,c=5,t=99;
if(b<aa;a=c;c=t
if(a<ca=t;
printf("%d%d%d/n",a,b,c);
}
填空题给定程序MODI1.C中函数fun的功能是先将s所指字符串中的字符按逆序存放到t所指字符串中,然后把s所指串中的字符按正序连接到t所指串的后面。
例如:当s所指的字符串为“ABCDE”时,则t所指的字符串应为“EDCBAABCDE”。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
给定源程序如下。
#include<stdio.h>
#include<string.h>
void fun(char*s,char*t)
{
/************found**********/
int i;
i=0;
s1=strlen(s);
for(;i<s1;i++)
/******************found*************/
t[i]=s[s]-i];
for(i=0;i<s1;i++)
t[s1+i]=s[i];
t[2*s1]="/0";
}
main()
{ char s[100],t[100];
printf("/nPlease enter string s:");scanf("%s",s);
fun(s,t);
printf("The resuh is:%s/n",t);
}
填空题数组xx[N]保存着一组3位数的无符号正整数,其元素的个数通过变量num传入函数fun()。请补充函数fun(),该函数的功能是:从数组xx中找出个位和百位的数字相等的所有无符号整数,结果保存在数组yy中,其个数由函数fun()返回。 例如:当xx[8]=135,78,72,32,222,424,333,141,541时, bb[6]=787,232,222,424,333,141。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序: #include <conio.h> #define N 1000 int fun(int xx[],int bb[],int num) int i,n=0; int g,b; for(i=0;i<num;i++) g= 【1】 ; b=xx[i]/100; if(g==b) 【2】 ; return 【3】 ; main() int xx[8]=135,787,232,222,424,333, 141,541; int YY[N]; int num=0,n=0,i=0; num=8; clrscr(); printf("*** original data ***/n"); for(i=0;i<num;i++) printf("%u",xx[i]); printf("/n/n/n"); n=fun(xx,yy,num); printf("/nyy="); for(i=0;i<n;i++) printf("%u",YY[i]);
填空题以下程序运行后的输出结果是 【20】 。 #include <stdio, h> main ( ) char a [ ] = "Language", b [ ]: "Programe"; char * pl, * p2; int k; p1=a;p2=b; for(k=0;k<=7;k++) if( * (p1 +k) == * (p2+k)) printf("% c", * (pi +k));
填空题以下程序运行后的输出结果是{{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||==4)continue;
j=0;
do
{
s+=a[i][j];
j++;
}while(j<4);
}
Printf("%d/n",s);
}
