填空题给定程序MODI1.C中函数fun的功能是统计字符串中各元音字母(即A、E、I、O、U)的个数。
注意:字母不分大、小写。
例如,若输入THIs is a boot,则输出应该是:1、0、2、2、0。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
给定源程序如下。
#include<stdio.h>
void fun(char *s,int num[5])
{ int k,i=5;
for(k=0;k<i;k++)
/************found**********/
num[i]=0;
for(;*s;s++)
{ i=-1;
/************found**********/
switch(s)
{ case"a":case"A":{i=0;break;}
case"e":case"E":{i=1;break;}
case"i":case "I":{i=2;break;}
case"o":case"O":{i=3;break;}
case"u":ease"U":{i=4;break;}
}
if(i>=0)
num[i]++;
}
}
main()
{ char s1[81];int num1[5],i;
printf("/nPlease enter a string:");gets(s1);
fun(s1,num1);
for(i=0;i<5;i++)printf("%d",num1[i]);
printf("/n");
}
填空题下列程序中的函数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= 【15】 ; while( 【16】 =*p++); main() char str1[100]="abed",str2[]="efgh"; strcpy2(str1,str2); printf("%s/n",str1);
填空题下列给定程序中,函数fun的功能是:找出100~n(不大于1000)三个位上的数字都相等的所有整数,把这些整数放在s所指的数组中,个数作为函数值返回。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<stdio.h>
#define N 100
int fun(int*s,int n)
{
int i,j,k,a,b,c;
j=0;
for(i=100;i<n;i++)
{
/**********found**********/
k=n;
a=k%10;
k/=10;
/**********found**********/
b=k/10;
c=k/10;
if(a==b
}
return j;
}
main()
{
int a[N],n,num=0,i;
do
{
printf("/nEnter n(<=1000):");
scanf("%d",
}while(n>1000);
num=fun(a,n);
printf("/n/nThe result:/n");
for(i=0;i<num;i++)
printf("%5d",a[i]);
printf("/n/n");
}
填空题以下函数sstrcat()的功能是实现字符串的连接,即将t所指字符串复制到s所指字符串的尾部。例如:s所指字符串为abed,t所指字符串为efgh,函数调用后s所指字符串为abodefgh。请填空。
#include <string.h>
void sstrcat(char *s,char *t)
{int n;
n=strlen(s);
while(*(s+n)={{U}} {{U}} {{/U}} {{/U}}){s++;t++;}
}
填空题若有下列定义和语句: char*s1="12345",*s2="1234"; printf("%d/n",strlen(strcpy(s1,s2))); 则输出结果为______。
填空题请补充函数fun(),该函数的功能是:把字符下标为非素数的字符从字符串sb中删除,把字符下标为素数的字符重新保存在字符串e口中。字符串sb从键盘输入,其长度作为参数传入函数fun()。
例如,输入“abcdefghijkl”,输出“cdfhl”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
#include <stdio.h>
#define N 80
void fun(char s[],int n)
{
int i, j, k, flag;
{{U}}【1】 {{/U}};
for(i=0; i<n; i++)
{
if (i>1)
s [k++] =s [i];
flag=I;
for({{U}} 【2】 {{/U}}; j<i j++)
if (i%j==0)
{
flag=0;
{{U}} 【3】 {{/U}}
}
}
s [k]='/0';
}
main()
{
int i=0, strlen=0;
char str[N];
clrscr ();
printf("/n Input a string:/n");
gets (str);
while (str [i] !='/0')
{
strlen++;
i++;
}
fun (str, strlen);
printf("/n*** display string ***/n");
puts (str);
}
填空题若采用直接插入法对字母序列(W,S,E,L,X,G,I)进行排序,使字母按升序排列,那
么第一次排序的结果为{{U}} 【1】 {{/U}}。
填空题函数sub的功能是根据下面近似分式求π的值。
(π*π)/6=1+1/(2*2)+1/(3*3)+…+1/(n*n)
现在请在下面的函数中填空,完成求π值的功能。
#include"math.h"
double sub(long m)
{double sum=0.0,t;long n;
for(n=1;n<=m;n++) sum+={{U}} {{U}} {{/U}} {{/U}};
t=sqrt(6*sum);
return(t);
}
填空题以下程序运行后的输出结果是【 】。
main( )
{ int a,b,c;
a=25;
b=025;
c=0x25;
printf("%d %d %d/n",a,b,c);
}
填空题模式/内模式映射为数据库提供了 【1】 数据独立性。
填空题表示条件10<x<100或x<0的C语言表达式是 【6】 。
填空题以下程序的输出结果是{{U}} {{/U}}。 #include<stdio.h> main() int a=0; a+ =(a=8); printf("%d//n",a);
填空题下列程序的输出结果是 【8】 。 main() int a=1,b=2; a=a+b;b=a-b,a=a-b; printf("%d,%d/n",a,b) ;
填空题以下程序的输出是 【7】 。 main() char str1[]=How do you do",*p=strl; strcpy(str1+strlen(str1)/2"es she"); pfinff("%s/n",p1);
填空题以下程序的输出结果是 【17】 。 void fun() static int a=0; a+=2; printf("%d",A) ; main() int cc; for(cc=1;cc<4;cc++)fun(); printf("/n");
填空题给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中大于平均值的数据移至数组的前部,小于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。
例如,有10个正数:46、30、32、40、6、17、45、15、48、26,平均值为30.500000。
移动后的输出为:46、32、40、45、48、30、6、17、15、26。
请在程序的下划线处填入正确的内容,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdlib.h>
#include<stdio.h>
#define N 10
double fun(double *x)
{int i,j;double s,av,y[N];
s=0;
for(i=0; i<N;i++)s=s+x[i];
/**********found**********/
av=______;
for(i=j=0;i<N;i++)
if(x[i]>av){
/**********found**********/
y[______]=x[i];x[i]=-1;}
for(i=0; i<N: i++)
/**********found**********/
if(x[i]!=______)
y[j++]=x[i];
for(i=0;i<N;i++)x[i]=y[i];
return av;
}
main()
{int i;double x[N];
for(i=0; i<N; i++)
{x[i]=rand()%50;
printf("%4.0f",x[i]);}
printf("/n");
printf("/nThe average is:%f/n",funIx));
printf("/nThe result:/n",fun(x));
for(i=0;i<N;i++)
printf("%5.0f",x[i]);
printf("/n");
}
填空题fun( )函数的功能是首先对a所指的N行N列的矩阵,找出各行中的最大的数,再求这N个最大值中 的最小的那个数作为函数值返回,请填空。
#include<stdio.h>
#define N 100
int fun(int( * a)[N])
{ in(row,col,max,min;
for(row=0;row<N;row++)
{ for(max=a [row][0],col=1;col<N;col++)
if(【 】)max=a[row][col];
if(row= =0)min=max;
else if(【 】)min=max;
}
return min;
}
填空题下列程序的输出结果是 ______。#define P(A) printf("%d,",(int)(A) )#define PRINT(A) P(A) ;printf("the end")main() int i,a=0; for(i=1;i<5.i++) PRINT(a+i); printf("/n");
填空题有以下程序段
s=1.0;
for(k=1,k<=n;k++) s=s+1.0(k*(k+1));
printf(“%f\n”,s);
请填空,使以下程序段的功能与上面的程序段完全相同。
s=1.0; k=1;
while( )
{ s=s+1.0(k*(k+1)); k=k+1;}
printf(“%f\n”,s);
填空题下列程序的运行结果为{{U}} {{U}} {{/U}} {{/U}}。
main ( )
{ int i, j, row=0, colum=0, max,
a[3] [4]={{1,2,3,4}, {9,8,7,6}, {-10,10,-5,2}};
max=a[0] [0];
for (i=0;i<3;i++)
for (j=0; j<4; j++)
if (max<a [i] [j])
{ max=a[i] [j];
row=i;
colum=j;
}
printf("max=%-5d row=%-3d colum=%-3d/n",max, row, colum);
}
