填空题请补充函数proc(),该函数的功能是比较字符串str1和str2的大小,并返回比较的结果。
例如,当str1="abcd",str2="abcc"时,函数proc()返回“>”,比较结果为“str1>str2”。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#define M 80
char*proc(char*str1,char*str2)
{
char*p1=str1,*p2=str2;
while(*p1
if(______)
return">";
p1++;
p2++;
}
if("p1==*p2)
return"==";
if(*p1==______)
return"<";
else
return">";
}
void main()
{
char str1[M],str2[M];
system("CLS");
printf("Input str1:/n");
gets(str1);
printf("Input str2:/n");
gets(str2);
printf("/n****the result****/n");
printf("/nstr1%s str2",proc(str1,str2));
}
填空题下面程序段的输出结果是{{U}} 【8】 {{/U}}。
int x=5;
do{printf("%d ",x-=4);
} while (!(--x));
填空题下面pi函数的功能是根据以下公式返回满足精度要求的π的值。请根据以下算法要求补足所缺语句。doublepi(doubleeps)doubles=0.0,t=1.0;intn;for(【18】;t>eps;n++)s+=t;t=n*t/(2*n+1);return(2.0*【19】);
填空题当调用函数时,实参是一个数组名,则向函数传递的是 【9】 。
填空题下面程序的功能是将一个字符串str的内容颠倒过来,请填空。
#include<string.h>
main()
{ inti,j,{{U}} 【8】 {{/U}};char str[]={"1234567"};
for(i=0,j=strlen(str){{U}} 【9】 {{/U}};i<j;i++,j--)
{ k=str[i];str[i]=str[j];str[j]=k;}
printf("%s/n",str);}
填空题下列给定程序中,函数fun的功能是:求k!(k<13),所求阶乘的值作为函数值返回。例如,若k=10,则应输出3628800。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<conio.h>
#include<stdio.h>
long fun(int k)
{
/**********found**********/
if k>1
return(k*fun(k-1));
return 1;
}
main()
{
int k=10;
printf("%d!=%ld/n",k,fun(k));
}
填空题有以下程序: #include<stdio.h> typedef struct int num;double s;)REC; void funl(REC x)x.num=23;x.s=88.5; main() REC a=16,90.0); fun1(a); printf("%d/n",a.num); 程序运行后的输出结果是______。
填空题若有定义:int a[4][4]=l,2,3,4,0,4,6,8,10,1,3,5,7,则初始化后,a[2][2]得到的初值是______。
填空题有以下程序
#include<stdio.h>
main()
{ char ch1,ch2;int n1,n2;
ch1=getchar();ch2=getchar();
n1=ch1-'()';n2=n1*10+(ch2-'()');
printf("%d/n",n2);
}
程序运行时输入:12<回车>,执行后输出结果是{{U}} 【10】 {{/U}}。
填空题以下程序运行后的输出结果是______。 #define S(x) 4*X*x+1 main() int i=6,j=8; printf("%d/n",S(i+i));
填空题给定程序中函数fun的功能是:计算小于形参k的最大的10个能被13或17整除的自然数之和。k的值由主函数传入,若k的值为500,则函数值为4622。
请改正程序中的错误,使程序能输出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
给定源程序:
#include<stdio.h>
int fun(int k)
{int m=0,mc=0;
while((k>=2)mc++;}
k--;
}
return m;
/************found************/
______
main()
{
printf("%d/n",fun(500));
}
填空题以下函数rotate的功能是:将a所指N行N列的二维数组中的最后一行放到b所指二维数组的第。列中,把a所指二维数组中的第0行放到b所指二维数组的最后一列中,b所指二维数组中的其他数据不变。 # define N 4 void rotate(int a[] [N] ,int b[] [N] ) int, i,j; for(i=0;i<N;i++ ) b[i] [N-1] = 【18】 ; 【19】 =a[N-1][i];
填空题如果输入'1'、'2'、'3'、'4',则以下程序的运行结果为 【6】 。#include <stdio.h>main() char c; int i,k; k=0; for (i=0;i<4;i++) while(1) c=getchar(); if(c>='0'&&c<='9') break; k=k*10+c-'0'; printf("k=%d/n",k);
填空题请补充函数fun(),该函数的功能是:把ASCⅡ码为偶数的字符从字符串s打中删除,结果仍然保存在字符串srt中,字符串str从键盘输入,其长度作为参数传入函数fun()。
例如,输入“abcdef”,输出“ace”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#inc lude< stdio, h>
#define N 80
{{U}} 【1】 {{/U}}
{
int i, j;
{{U}} 【2】 {{/U}}
for (i=0;i<n;i++)
{
if (s [i] %2!=0)
s [j++]=s [i];
}
{{U}} 【3】 {{/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> main() int m,n; scanf("%d%d", while(m<n) n=n-m; printf("%d/n",m); 程序运行后,当输入14 63<回车>时,输出结果是______。
填空题请补充函数proc(),该函数可以统计一个长度为n的字符串在另一个字符串中出现的次数。例如,假定输入的字符串为:fjdkad**fdadf fdadjkfdad,子字符串为ad,则应输出4。
注意:部分源程序给出如下。
请勿改动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;
n=0;
while(*str)
{
p=str;
r=sub;
while(______)
if(*r==*p)
{
r++;
p++;
}
else
______;
if(*r=="/0")
n++;
sir++;
}
return ______;
}
void main()
{
char str[81],suh[3];
int n;
system("CLS");
printf("输入主字符串:");
gets(str);
printf("输入子字符串:");
gets(sub);
puts(str);
puts(sub);
n=proc(str,sub);
printf("n=%d/n",n);
}
填空题以下程序运行后的输出结果是______。 main() int x,a=1,b=2,c=3,d=4; x=(a<b)?a:b;x=(a<c)?x:C;x=(d>x)?x:d; printf("%d/n",x);
填空题请补充fun函数,该函数的功能是:判断一个年份是否为闰年。 例如,1900年不是闰年,2004是闰年。 注意:部分源程序已给出。 请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。 试题程序: #include<stdio.h> #include<conio.h> int fun(int n) int flag=0; if(n%4==0) if( (1) ) int year; printf("Input the year:"); scanf("%d",&year); if(fun(year)) flag=1; if( (2) ) flag=1; return (3) ; rnain() printf("%d is a leap year./n",year); else printf("%d is not a leap year./n",year);
填空题下面程序的功能是两个整数进行交换,请填空。 sub(int * x,int *y) 【19】 z=*x; *x= *y; *y=z; return; main() int m,n,*t1,*t2; scanf("%d,%d",&m,&n); t1=&m;t2=&n; 【20】 printf("%d,%d/n",m,n);
填空题下面函数的功能是:找出一维数组元素中的最大值和它所在的下标,并将最大值和其下标通过形参传回。请填空。 #include<stdio.h> void fun(int a[],int n,int *max,int *d) int i; *max=a[0]; *d=0; for(i=0; (10) ;i++) if(*max< (11) ) *max=a[i];*d=i; main( ) int i,x E20],max,index,n=10; fox(i=0;i<n;i++)scanf("%d",x[i]);printf("%4d",x[i]); printf("/n"); fun(x,n,&max,&index); printf("Max=%5d,Index=%4d/n",max,index);
