填空题str为一个字符序列。请补充函数fun(),该函数的功能是:查找str中值为x的元素,返回该字符序列中值为x的元素个数,并把这些值为x的元素下标依次保存在数组bb中。例如,在“abcdefahij”中查找‘a’,结果为:2个‘a’,下标依次为 0、6。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序: #include<stdio.h> #include<conio.h> #define N 20 int bb[N]; int fun(char *str,char ch) int i=0, n=0; char t=ch; char *p=str; while(*p) if ( 【1】 ) 【2】 ; p++; i++; return 【3】 ; main() char str[N]; char ch; int i, j,n; clrscr(); printf("***Input the original string ***/n"); gets(str); printf("***The Original ***/n"); puts(str); printf("***Input character ***/n"); scanf("%c", n=fun(str,ch); printf("/nThe numbr of character is: %d/n", n); printf"***The suffix of character ***/n"); for(i=0;i<n;i++) printf("%d ",bb[i]);
填空题在面向对象的方法中,______描述的是具有相似属性与操作的一组对象。
填空题设有以下定义struetssintinfo;struetss*link;x,y,z;且已建立如下图所示链表结构:请写出删除结点y的赋值语句【19】。
填空题有如下程序段: main(int argc,char *argv[]) int n,i=0; while(argv[1][i]!='//0') n=fun();i++; printf("%d//n",n*argc); int fun() static int s=0; s+=1; return s; 假设程序经编译、连接后生成可执行文件exam,exe,若键入如下命令行: exam l23<回车> 则运行结果为{{U}} {{/U}}。
填空题若整型变量a和b中的值分别为7和9,要求按以下格式输出a和b的值:
a=7
b=9
请完成输出语句:printf("{{U}} 【7】 {{/U}}",a,b);。
填空题有以下程序: float f1(float n) return n*n; float f2(float n) return 2*n; main() float(*p1)(float),(*p2)(float),(*t)(float),y1,y2; p1=f1;p2=f2; y1=p2(p1(2.0)); t=P1;p1=p2;p2=t; y2=p2(p1(2.0)); printf("%3.0f,%3.0f/n",y1,y2); 程序运行后的输出结果是 【13】 。
填空题给定程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的学号、姓名和3门课的成绩。函数modify的功能是将该学生的各科成绩都乘以一个系数a。
请在程序的下划线处填入正确的内容,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
typedef struct
{int num;
char name[9];
float score[3];
}STU;
void show(STU tt)
{int i;
printf("%d %s:",tt.num.tt.name);
for(i=0;i<3;i++)
printf("%5.1",tt.score[i]);
printf("/n");
}
/**********found**********/
void modify(______*ss,float a)
{int i;
for(i=0;i<3;i++)
/**********found**********/
ss->______;*=a;
}
main()
{STU std={1,"Zhanghua",76.5,78.0,82.0};
float a;
printf("/nThe original number and nameand scores:/n");
show(std);
printf("/nInput a number:");
scanf("%f",
/**********found**********/
modify(______,a);
printf("/nA result of modifying:/n");
show(std);
}
填空题以下程序的输出结果是 【13】 。 main() char s[]=“abcdef”; s[3]='/0'; printf(“%s/n”,s);
填空题有以下程序: # include main() int a[]=1,2,3,4,5,6,7,8,9,10,11,12,*p=a+5,*q=NULL; *q=*(p+5); printf("%d%d/n",*p,*q); 程序运行后的输出结果是______。
填空题以下程序运行后的输出结果是______。
#include<stdio.h>
main()
{ int f, f1, f2, i; f1=0; f2=1;
printf("%d %d", f1, f2);
for(i=3; i<=5; i++)
{ f=f1+f2; printf("%d", f);
f1=f2; f2=f;
} printf("/n");
}
填空题表达式por(2.8,sqrt(float(x)))值的数据类型为______型。
填空题以下程序运行后的输出结果是{{U}} {{U}} {{/U}} {{/U}}。
main()
{ int x=10,y=20,t=0;
if(x==y)t=x;x=Y;Y=t;
printf(“%d,%d/n”,x,y);
}
填空题以下程序运行后的输出结果是{{U}} 【15】 {{/U}}。
int a=5;
fun (int b)
{ static int a=10;
a+=b++;
printf("%d ",a);
}
main()
{ int c=20;
fun(c);
a+=c++;
Printf("%d/n",a);
}
填空题若有以下程序 main() int a=4,b=3,c=5,t=0; if(a<b)t=a;a=b;b=t; if(a<c)t=a;a=c;c=t; pfintf("%d%d%d/n",a,b,c) ; 执行后输出结果是______。
填空题程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。函数fun的功能是列形参b所指结构体变量中的数据进行修改,最后在主函数中输出修改后的数据。
例如:b所指变量t中的学号、姓名和三门课的成绩依次是:10002、"ZhangQi"、93、85、87,修改后输出t中的数据应为:10004、"LiJie"、93、85、87。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
不得增行或删行,也不得更改程序的结构!
给定源程序:
#include<stdio.h>
#include<string.h>
struct student{
long sno;
char name[10];
float score[3];
};
void fun(struct student *b)
{
/**********found**********/
b______=10004;
/**********found**********/
strcpy(b______,"LiJie");
}
main()
{struct student t={10002,"ZhangQi",93,85,87};
int i;
printf("/n/nThe original data:/n");
printf("/nNo:%ld Name:%s/nScores:",t.sno,t.name);
for(i=0;i<3;i++)printf("%6.2f",t.score[i]);
printf("/n");
/**********found**********/
fun(______);
printf("/nThe data after modified:/n");
printf("/nNo:%ld Name:%s/nScores:",t.sno,t.name);
for(i=0;i<3;i++)printf("%6.2f",t.score[i]);
printf("/n");
}
填空题以下程序运行后的输出结果是 【9】 。 main() int x=15; while(x>10&&x<50) x++; if(x/3)x++;break; else continue; printf(“%d/n”,x);
填空题下面程序输出的结果是______。 int m=17; int fun(int x,int y) int m=3; return(x*y-m); main() int a=5,b=7; printf("%d/n”,fun(a,b)/m);
填空题在C语言中,当表达式值为0时表示逻辑值“假”,当表达式值为______时表示逻辑值“真”。
填空题程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun()的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 #include<stdio.h> #define N 5 typedef struct student long sno; char name[10]; float score[3]; STU; void fun(char *filename) FILE *fp;int i,j; STU s[N],t; /**********found**********/ fp=fopen(filename, (1) ); fread(s,sizeof(STU),N,fp); fclose(fp); for(i=0;i<N-1;i++) for(j=i+1;j<N;j++) /**********found**********/ if(s[i].sno (2) s[j].sno) t=s[i];s[i]=s[j];s[j]=t;) fp=fopen(filename,"wb"); /**********found**********/ (3) (s,sizeof(STU),N,fp);/*二进制输出*/ fclose(fp); main() STUt[N]=10005,"ZhangSan",95,80,88,10003,"LiSi",85,70,78,10002,"CaoKai",75,60,88,10004,"FangFang", 90,82,87,10001,"MaChao",91,92,77,SS[N]; int i,j;FILE *fp; fp=fopen("student.dat","wb"); fwrite(t,sizeof(STU),5,fp); fclose(fp); printf("/n/nThe original data:/n/n"); for(j=0;j<N;j++) printf("/nNo:%ld Name:%-8s Scores:",t[j].sno,t[j]name); for(i=0;i<3;i++)printf("%6.2f",t[j]score[i]); printf("/n"); fun("student.dat"); printf("/n/nThe data after sorting:/n/n"); fp=fopen("student.dat","rb"); fread(ss,sizeof(STU),5,fp); fclose(fp); for(j=0;j<N;j++) printf("/nNo:%ld Name:%-8s Scores:",ss[j].sno,ss[j].name); for(i=0;i<3;i++)printf("%6.2f",ss[j].score[i]); printf("/n");
填空题有以下定义和语句,则sizeof(a)的值是 【11】 ,而sizeof(a.share)的值是 【12】 。 struct date int day; int mouth; int year; unionint share1; float share2; share; a;
