填空题给定程序中函数fun的功能是:读入一个字符串(长度<20),将该字符串中的所有字符按ASCII码升序排序后输出。
例如,若输入:edcba,则应输出:abcde。
请改正程序中的错误,使它能输出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
给定源程序:
#include<stdio.h>
#include<string.h>
void fun(char t[])
{
char c;
int i, j;
/**********found**********/
for(i=strlen(t); i; i--)
for(j=0; j<i; j++)
/**********found**********/
if(t[j]<t[j+1])
{
c=t[j];
t[j]=t[j+1];
t[j+1]=c;
}
}
main()
{
char s[81];
printf("InPlease enter a character string:");
gets(s);
printf("/n/nBefore sorting:/n"%s"", s);
fun(s);
printf("/nAfter sorting decendingly:/n"%s"/n", s);
}
填空题若有下列定义和语句:
Char*s1="12345",*s2="1234";
printf("%d/n",strlen(strcpy(s1,s2)));
则输出结果为______。
填空题若有语句 int i=-19,j=i%4; printf("%d/n",j); 则输出结果是 【6】 。
填空题设有如下宏定义
#define MYSWAP(z,x,y){z=x;x=Y;Y=z;}
以下程序段通过宏调用实现变量a、b内容的交换,请填空。
float a=5,b=16,c;
MYSWAP({{U}} 【15】 {{/U}},a,b) ;
填空题若有以下定义和语句: int w [10]=23,54,10,33,47,98,72,80,61,*p; p=w; 则通过指针p引用值为98的数组元素的表达式是 【9】 。
填空题若变量n中的值为24,则prnt函数共输出 【20】 行。 void prnt(int n,int aa []) int i; for(i=1;i<=n;i++) printf("%6d",aa[i]); if(!(i%5))printf("/n"); printf("/n");
填空题下列程序中的数组a包括10个整数元素,分别将前项和后项之和存入数组b,并按每行4个元素输出数组b。请填空。 #include<stdio.h> main() int a[10], h[10], i; for(i=0; i<10; i++) scanf("%d", &a[i]); for(i=0; i<9; i++) ______; for(i=0; i<9; i++) if(i%4==0)printf("/n"); printf("%3d", b[i]);
填空题支持Internet基本服务的协议是【 】。
填空题若有定义doublea [5];,则a数组元素下标的上限为______。
填空题设有定义:FILE *fw;,请将以下打开文件的语句补充完整,以便可以向文本文件readme.txt的最后续写内容。
fw=fopen("readme.txt",{{U}} 【20】 {{/U}});
填空题以下程序通过函数sunFun求。这里f(x)=x2+1 main( ) { printf("Thesum=%d/n",SunFun(10)); } SunFun(intn) { intx,s=0; for(x=0;x<=n;x++=s+=F________; returns; = F(intx) { return________};}
填空题以下程序运行后的输出结果是【 】。
#include<string.h>
void fun(char *s,int P,int k)
{int i;
for(i=p;i<k-1;i++)s[i]=s[i+2];
main()
{char s[]="abcdefg";
fun(s,3,strlen(s));puts(s)
}
填空题给定程序中,函数fun()的功能是统计形参s所指字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。例如,形参s所指的字符串为abcdef35adgh3kjsdf7,输出结果为4。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构。 #include<stdio.h> void fun(char *s,int *t) int i,n; n=0; /**********found**********/ for(i=0; (1) !=0;i++) /**********found**********/ if(s[i]>='0' /**********found**********/ (3) ; main() char s[80]="abcdef35adgh3kjsdf7"; int t; printf("/nThe original string is:%s/n",s); fun(s, printf("/nThe result is:%d/n",t);
填空题请补充函数proc(),该函数可以统计一个长度为n的字符串在另一个字符串中出现的次数。
例如,假定输入的字符串为:asd ascasdfg asd as as mlosd,子字符串为asd,则应输出3。
注意:部分源程序给出如下。
请勿改动函数main()和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include<conio.h>
int proc(char *str, char *sub)
{
int n;
char *p, *r;
______;
while(*str)
{
p=str;
r=sub;
while(*r)
if(______)
{
r++;
p++;
}
else
break;
if(______)
n++;
str++;
}
return n;
}
void main()
{
char str[81], sub[3];
int n;
system("CLS");
printf("输入主字符串:");
gets(str);
printf("输入子字符串:");
gets(sub);
puts(str);
puts(sub);
n=proc(str, sub);
printf("n=%d/n", n);
}
填空题下列给定程序中函数proc()的功能是:将长整型数中每一位上为偶数的数依次逆向取出,构成一个新数放在t中。高位在低位,低位在高位。例如,当s中的数为12345678时,则t中的数为8642。 请修改函数proc()中的错误,使它能得出正确的结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include<stdlib.h> #include<stdio.h> #include<conio.h> void proc(10ng s,long *t) int d; long s1=1, i=1; *t=0; while(s/i>0) i=i*10; i=i/10; while(s>0) d=s/i; //************found************* if(d%2! =0) //************found************* t=d*s1+t; s1*=10; s=s%i; i=i/10; void main() long s, t; system("CLS"); printf("/nPlease enter S: "); scanf("%1d", proc(s, printf("The result is: %1d/n", t);
填空题已知字符'A'的ASCII码值为65,以下语句的输出结果是{{U}} 【16】 {{/U}}。
char ch='B';
printf("%c%d/n",ch,ch);
填空题以下函数inverse的功能是使一个字符串按逆序存放,请填空。
inverse(char str[])
{ char m;
int i,j;
for(i=0,j=strlen(str);i<strlen(str)/2; {{U}}【18】 {{/U}},j--)
{ m=str[i];
str[i]={{U}} 【19】 {{/U}};
{{U}} 【20】 {{/U}};
}
}
填空题在数据库的概念结构设计中,常用的描述工具是 【4】 。
填空题str为一个字符序列,序列由字符0和1组成。请补充函数proc(),该函数的功能是:查找该字符序列中0字符连续出现的最长长度(即0字符的个数),如果有几个0字符串长度相同,只记录最后一个0字符串的相关信息。通过m和k返回最长0字符串的长度和最后0字符的下标。例如,如果输入“0100001000”,结果为:0字符串最长长度为4,起始和结尾下标依次为2、5。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#define M 80
void proc(______)
{
int i, j=0;
int bb[M];
char*p=str;
*m=0;
*k=0;
for(i=0; i<M; i++)
bb[i]=0;
i=0;
while(*(p+i))
{
if(*(p+i)=="0")
{
______;
i++;
}
else
{
j++;
i++;
}
if(______)
{
*m=bb[j];
*k=i-1;
}
}
}
void main()
{
char str[M];
int m, k;
system("CLS");
printf("***input the original string***/n");
gets(str);
printf("***The Original string***/n");
puts(str);
proc(str,
printf("/nThe length of "0" is:%d/n", m);
printf("***The suffix of character***/n");
printf("%d, %d", k-m+1, k);
}
填空题若有定义:int a=6, b=2; char c1="a", c2="b"; ,则表达式a+b%5+c2-c1的值是______。