填空题给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4. txt中,用-1作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和WriteText实现。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在
下的BLANK1. C中。不得增行或删行,也不得更改程序的结构!
#include <stdio. h>
#include <string. h>
#include <stdlib. h>
void WriteText(FILE *);
void ReadText(FILE *);
main( )
{FILE *fp;
if((fp=fopen("myfile4. txt", "w"))
==NULL)
{printf("open fail!!/n");
exit(0);}
WriteText(fp);
fclose(fp);
if((fp=fopen("myfile4. txt",
"r"))==NULL)
{printf("open fail!!/n");
exit(0);}
ReadText(fp);
fclose(fp);
}
/**********found**********/
void WriteText(FILE ______)
{ char str[81];
printf ("/nEnter string with -1 to end:/n");
gets(str);
while(strcmp(str, "-1")!=0) {
/**********found**********/
fputs(______, fw);
fputs("/n", fw);
gets(str);
}
}
void ReadText(FILE *fr)
{char str[81];
printf("/nRead file and output to screen:/n");
fgets(str, 81, fr);
while(!feof(fr)) {
/**********found**********/
printf("%s", ______);
fgets(str, 81, fr);
}
}
填空题下列给定程序中,函数fun的功能是:在形参ss所指字符串数组中查找与形参t所指字符串相同的串,找到后返回该串在字符串数组中的位置(即下标值),若未找到则返回-1。ss所指字符串数组中共有N个内容不同的字符串,且串长小于M。
请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#nclude <stdio.h>
#include <string.h>
#define N 5
#define M 8
int fun(char(**ss)[M],char*t)
{ int i;
/* * * * * * * * * *found* * * * * * * * * *
for(i=0;i<______;i++)
/* * * * * * * * * *found* * * * * * * * * *
if(strcmp(ss[i],t)==0) return ______;
return-1;
}
main( )
{char ch[N][M]={"if","while","switch","int","for"},t[M];
int n,i;
printf("/nThe original string/n/n");
for(i=0;i<N;i+ +) puts(ch[i]);
printf("/n");
printf("/nEnter a string for search:");gets(t);
n=fun(ch,t);
/* * * * * * * * * *found* * * * * * * * * *
if(n==______)printf("/nDon"t found!/n");
else printf("/nThe position is %d./n".n);
}
填空题测试用例包括输入值集和 【1】 值集。
填空题下列给定程序中,函数fun的功能是:在形参ss所指字符串数组中,将所有串长超过k的字符串中后面的字符删除,只保留前面的k个字符。ss所指字符串数组中共有N个字符串,且串长小于M。
请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。
注意
:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include <stdio.h>
#include <string.h>
#define N 5
#define M 10
/********found********/
void fun(char (*ss) ______,int k)
{int i=0;
/********found********/
while(i<______){
/********found********/
ss[i][k]=______;i++;}
}
main()
{char x[N][M]={"Create","Modify","Sort","skip","Delete"};
int i;
printf("/nThe original string/n/n");
for(i=0;i<N;i++)puts(x[i]);
printf("/n");
fun(x,4);
printf("/nThe string after deleted:/n/n");
for(i=0;i<N;i++)puts(x[i]);
printf("/n");
}
填空题下列给定程序中,函数fun()的功能是将字符串s中位于偶数位置的字符或ASCII码为奇数的字符放入字符串t中(规定第一个字符放在第0位中)。
例如:字符串中的数据为ADFESHDI,则输出应当是 AFESDI。
请改正程序中的错误,使它能得到正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include <conio.h>
#include <stdio.h>
#include <string.h>
#define N 80
/************found*************/
void fun(char s,char t[])
{
int i,j=0;
for(i=0;i<strlen(s);i++)
/*********found*+************/
if(i%2=0 || s[i]%2!=0)
t[j++]=s[i];
t[j]='/0';
}
main()
{
char s[N],t[N];
clrscr();
printf("/nPlease enter string s:");
gets(s);
fun(s,t);
printf("/nThe result is:%s/n",t);
}
填空题下列程序中的函数stropy2()实现字符串两次复制,即将t所指字符串复制两次到s所指内存空间中,合并形成一个新字符串。例如,若t所指字符串为:efgh,调用strcpy2后,s所指字符串为:efghefgh。请填空。
#include <stdio.h>
#include <string.h>
void strcpy2(char *s,char *t)
{ char *p=t;
while(*s++=*t++);
s={{U}} 【15】 {{/U}};
while({{U}} 【16】 {{/U}}=*p++);
}
main()
{ char str1[100]="abed",str2[]="efgh";
strcpy2(str1,str2); printf("%s/n",str1);
}
填空题请在以下程序第一行的下划线处填写适当内容,使程序能正常运行。
#include <stdio.h>
{{U}} 【16】 {{/U}} (double,double);
main()
{ double x,y;
scanf("%If%If",
printf("%If/n",max(x,y));
}
double max(double a,double b)
{ return(a>b ? a:b);}
填空题fun函数的功能是:首先对a所指的N行N列的矩阵,找出各行中的最大的数,再求这N个最大值中的最小的那个数作为函数值返回。请填空。#include <stdio. h>#define N 100int fun(int(*a)[N]) int row, col, max, min; for(row=0;row<N;row++ for(max=a[row][0],col=1;col<N;col++) if( 【13】 )max=a[row][col]; if (row==0)min=max; else if ( 【14】 )min=max; return min;
填空题下面程序的输出结果是 【12】 。 main() int arr[10],i,k=0; for(i=0;i<10;i++) arr[i]=i; for(i=0;i<4;i++) k+=arr[i]=i; printf("%d/n",k);
填空题给定程序中,函数fun的功能是找出100至x(x≤999)之间各位上的数字之和为15的所有整数,然后输出;符合条件的整数个数作为函数值返回。
例如,当n值为500时,各位数字之和为15的整数有:159、168、177、186、195、249、258、267、276、285、294、339、348、357、366、375、384、393、429、438、447、456、465、474、483、492。共有26个。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
给定源程序如下。
#include<stdio.h>
int fun(int x)
{ int n,s1,s2,s3,t;
/**************found*************/
n=______;
t=100;
/*************found**************/
while(t<=______)
{ s1=t%10;s2=(t/10)%10;s3=t/100;
if(s1+s2+s3==15)
{printf(":=:%d":=:,t);
n++;
}
/**************found***************/
______;
}
return n;
}
main()
{ int x=-1;
while(x>999||x<0)
{printf("Please input(0<x<=999):");
scanf("%d"t,}
prinrf("/nThe result is:%d/n",fun(x));
}
填空题以下程序的输出结果是{{U}} 【6】 {{/U}}。
#include <stdio.h>
main()
{ int a=2,b=3,c=4;
a* =16+(b++) -(++c);
Printf("%d",a);
}
填空题下列程序运行的结果是______。 int k=0; void fun(int m) m+=k;k+=m; printf("m=%dk=%d",m,k++); main() int i=4; fun(i++);printf("i=%dk=%d/n",i,k);
填空题有以下程序: void f(int Y,inf*X) (Y=Y+*X;*X=*X+y;) main() int X=2,Y=4: f(Y,&X); printf“%d%d/n”,X,Y); 执行后输出结果是 (10) 。
填空题下列给定程序中,函数fun的功能是:按以下递归公式求函数的值。例如,当给n输入5时,函数值为18;当给n输入3时,函数值为14。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<stdio.h>/****************found*********/fun(n)intc;/************found**********/if(n=1)c=10;elsec=fun(n-1)+2;return(c);main()intn;printf("Entern:");scanf("%d",&n);printf("Theresult:%dinin",fun(n));
填空题Jackson方法是一种面向{{U}} 【4】 {{/U}}的结构化方法。
填空题以下程序的功能是求下列算式中A、B、C的值,请填空。#include<stdio.h>main()inta,b,c,k,t=348;for(a=0;a<10;a++)for(b=0;b<10;b++)for(c=0;【18】;c++)k=【19】;if(k==t)printf("A=%dB=%dC=%d/n",a,b,c);
填空题若从键盘输入58,则以下程序的输出结果是 【6】 。 main() int a; scanf(“%d”,&A) ; if(a>50)printf(“%d”,A) ; if(a>40)printf(“%d”,A) ; if(a>30)printf(“%d”,A) ;
填空题设x和y均为int型变量,且x=1,y=2,则表达式2.0+y/x的值为 【6】 。
填空题下列给定程序中,函数fun的功能是:将字符串s中位于奇数位置的字符或ASCII码值为偶数的字符依次放入字符串t中。例如,字符串中的数据为“AABBCCDDEEFF”,则输出应当是“ABBCDDEFF”。
请改正程序中的错误,使它能得出正确的结果。
注意
:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<conio.h>
#include<stdio.h>
#include<string.h>
#define N 80
void fun(char *s,char t[])
{
int i,j=0;
for(i=0;i<(int)strlen(s);i++)
/********found********/
if(i%2
/********found********/
t[i]="/0";
}
main()
{
char s[N],t[N];
printf("/nPlease enther string s:");
gets(s);
fun(s,t);
printf("/nThe result is:%s/n",t);
}
填空题下面程序的输出结果是______。 #include<stdio.h> main() static chara[]="zhao",b[]="juan"; char*ptr1=a,*ptr2=b; int k; for(k=0;k<4;k++) if(*(ptr1+k)==*(ptr2+k)) printf("%c",*(ptr1+k));
