填空题在Windows环境下,为了将屏幕内容存入剪贴板,应按{{U}} 【5】 {{/U}} 键。
填空题程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数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, ______);
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______s[j].sno)
{t=s[i]; s[i]=s[j]; s[j]=t;}
fp=fopen(filename, "wb:);
/**********found**********/
______(s, sizeof(STU), N, fp); /*二进制输出*/
fclose(fp);
}
main()
{STU t[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(i=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");
}
}
填空题执行以下程序后,输出#号的个数是 【4】 。 # include<stdio. h> main() int i, j; for(i=1; i<5; i++) for(j=2; j<=i; j++)putchar('#');
填空题下面程序的功能是从键盘输入一行字符,统计有多少个单词,单词间用空格分隔。补充所缺语句。
#include<stdio.h>
main()
{ chars s[80],c1,c2=' ';
int i=0,num=0;
gets(s);
while(s[i]!='/0')
{ c1=s[i];
if(i==0)c2=' ';
else c2=s[i-1];
if({{U}} {{U}} {{/U}} {{/U}})num++;
i++;
}
printf("There are%d words,/n",num);
}
填空题函数sstrcmp()的功能是对两个字符串进行比较。当s所指字符串和t所指字符串相等时,返回值为0;当s所指字符串大于t所指字符串时,返回值大于0;当s所指字符串小于t所指字符串时,返回值小于0(功能等同于库函数strcmp())。请填空。 #include <stdio.h> int sstrcmp(char *s,char *t) while(*s t++; rerurn 【16】 ;
填空题以下程序的功能是从名为“filea. dat”的文本文件中逐个读入字符并显示在屏幕上,请填空。 #include<stdio.h> main() FILE *fp; char ch; fp=fopen( (14) ); ch=fgetc(fp); while( (15) (fp))putchar(ch); ch=fgetc(fp); putchar('/n'); fclose(fp);
填空题请补充函数fun(),该函数的功能是:把字符下标能铍2或3整除的字符从字符串str中删除,把剩余的字符重新保存在字符串str中。字符串str从键盘输入,其长度作为参数传入函数fun()。
例如,输入“abcdefghijk”,输出“bfh”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include <stdio.h>
#define N 80
void fun(char s[], int n)
{
int i, k;
{{U}} {{U}} {{/U}} {{/U}};
for(i=0; i<n; i++)
{
s[k++]=s[i];
if({{U}} {{U}} {{/U}} {{/U}})
k--;
}
{{U}} {{U}} {{/U}} {{/U}};
}
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);
}
填空题有以下程序: #include <stdio.h> int *f(int*p,int*q); main() int m=1,n=2, *r= r=f(r,printf("%d/n",*r); int *f(int *p,int *q) return(*p>*q)?p:q; 程序运行后的输出结果是______。
填空题putchar(c ) 函数的功能是是是_____________________________________。
填空题以下C程序将磁盘中的一个文件复制到另一个文件中,两个文件名在命令行中给出(假定文件名无误)。请填空。
#include <stdio.h>
main(int argc, char *argv[])
{ FILE *f1, *f2; char ch;
if(argc<______)
{printf("命令行参数错!/n"); exit(0);}
f1=fopen(argv[1], "r");
f2=fopen(argv[2], "w");
while(______) fputc(fgetc(f1), ______);
______;
______;
}
填空题给定程序中,函数fun的功能是将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。
例如,输入一个数27638496,新的数为739。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
给定源程序如下。
#include<stdio.h>
void fun(unsigned long*n)
{ unsigned long x=0,i;int t;
i=1;
while(
*
n)
/**************found**********/
{t=
*
n%______;
/***********found************/
if(t%2!=______)
{x=x+t
*
i;i=i
*
10;}
*
n=
*
n/10;
}
/***********found********/
*
n=______;
}
main()
{ unsigned long n=-1;
while(n>99999999||n<0)
{printf("Please input(0<n<100000000):");
scanf("%ld",}
fun(
printf("/nThe result is:%ld/n",n);
}
填空题若有以下定义和输入语句,要求给c1、c2分别输入字符A和B,给a1、a2分别输入7.29和101.298从键盘正确输入数据的形式是______。
char c1, c2; float a1, a2;
scanf("%c%f%c%f",
填空题请补充main()函数,该函数的功能是:计算3名学生各科的平均成绩。
例如,当score[N][M]={{85,62,89.5,60,69},{90,96,84.5,100,85},{92,97,86,73,85}}时,五门学科的平均分为:89 85 86.7 77.7 79.7。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在main()函数的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#define N 3
#define M 5
int main()
{
int i,j;
static float score[N][M]={{85,62,89.5,60,69},
{90,96,84.5,100,85},{92,97,86,73,85}};
static float arr[N];
system("CLS");
for(i=0;i<M;i++)
arr[i]=0.0;
for(i=0;i<______;i++)
{
for(j=0;j<______;j++)
arr[j]+=score[i][j];
}
for(i=0;i<M;i++)
printf("/nsubject%d/taverage=%5.1f",i+1,
______);
return 0;
}
填空题若想通过以下输入语句给a赋予1,给b赋予2,则输入数据的形式应该是______。 int a,b; scanf("a=%d,b=%d",&a,&b);
填空题设a、b、c为整数,且a=2、b=3、c=4,则执行完语句a*=18+(b++)-(++c);后,a的值是 【11】 。
填空题下面程序的运行结果是: 【17】 。 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);
填空题以下程序运行后的输出结果是 {{U}}【6】 {{/U}} 。
main()
{ int p=30;
printf("%d/n",(p/3>0 ? p/10 : p%3));
}
填空题下列程序的运行结果是______。
#include<stdio.h>
main()
{ int a=10,b=3;
printf("%d,",a%b);
printf("%d,",(a-b,a+b));
printf("%d/n",a-b?a-b:a+b);
}
填空题下列程序的输出结果是 【10】 。 int t(int x,int y,nt cp,int dp) cp=x*x+y*y; dp=x*x-y*y; main() int a=4,b=3,c=5,d=6; t(a,b,c,d); printf("%d%d/n",c,d);
填空题实现算法所需的存储单元多少和算法的工作量大小分别称为为算法的 【1】 。
