填空题下列给定程序中,函数fun的功能是:将形参s所指字符串中的数字字符转换成对应的数值,计算出这些数值的累加和作为函数值返回。
例如,形参s所指的字符串为abs5def126jkm8,程序执行后的输出结果为22。
请在程序的下划线处填入正确的内容,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#include<string.h>
#include<ctype.h>
inc fun(char*s)
{int sum=0;
while(*s)
{
/********found********/
if(isdigit(*s))sum+=*s-______;
/********found********/
______;
}
/********found********/
return______;
}
main()
{char s[81];int n;
printf("/nEnter a string:/n/n");gets(s);
n=fun(s);
printf("/nThe result is:%d/n/n",n);
}
填空题有以下程序 int fa(int x)return x*x; int fb(int x)retum x*x*x; int f(int(*fl)int(*12)(),intx) return f2(x)-f1(x); main() int i;i=f(fa,fb,2);printf("%d/n",i); 程序运行后,输出结果是 【8】
填空题若输入3、4、5,程序的输出结果为{{U}} 【6】 {{/U}}。
#include "math.h"
main ( )
{ float a, b, c, s, area;
scanf("%f,%f,%f",
s=1.0/2*(a+b+c);
area=sqrt (s* (s-a) * (s-b) * (s-c));
printf ("a=%7.2f,b=%7.2f, c=%7.2f, s=%7.2f", a,b, c, s);
printf ("area=%7.2f/n", area);
}
填空题请补充函数fun(),它的功能是:计算并输出n(包括n)以内能被3或7整除的所有自然数的倒数之和。
例如,在主函数中从键盘给n输入32后,输出为:s=1.226323。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
double fun(int n)
{
int i;
double sum=0.0;
if (n>0{{U}} 【1】 {{/U}};i++)
if({{U}} 【2】 {{/U}})
sum+={{U}} 【3】 {{/U}};
}
return sum;
}
main()
{
int n;
double s;
printf("/nInput n:");
scanf("%d",
s=fun(n);
printf("/n/ns=%f/n",s);
}
填空题语句“int(*ptr)();”的含义是______是指向函数的指针,该函数返回一个血型数据。
填空题以下程序运行结果是 【10】 。 #include<stdio.h> long fib(int g) switch(g) case 0:return 0; case 1: case 2:return 1; return(fib(g-1)+fib(g-2)); main() long k; k=fib(5); printf("k=%5ld/n",k);
填空题下列给定程序中,函数fun()的功能是:将长整型数中每一位上为偶数的数依次取出,构成一个新数放在冲。高位仍在高位,低位仍在低位。例如,当s中的数为87653142时,t中的数为8642。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main,~数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include <conio.h>
#include <stdio.h>
void fun(long s,long *t)
/**********************************/
{ int d;
long s1=l;
*t=0;
while(s>0)
{ d=s%10;
/**********************************/
if(d%2=0)
{*t=d*sl+*t;
sl*=10
}
/**********************************/
s/=10;
}
}
main ( )
{ long s,t;
clrscr();
printf("/nPlease enter s: "); scanf
("%ld",
fun(s,
printf("The result is :%ld/n",t);
}
填空题阅读下面语句,则程序的执行结果是{{U}} 【7】 {{/U}}。
#include "stdio.h"
main()
{ int a=-1,b=1,k;
if((++a<0)&&! (b--<=0))
printf("%d,%d/n",a,b);
else printf("%d,%d/n",b,a);}
填空题下面程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列,其他元素不变。 #include <stdio. h> #include <string.h> main () char a [] ="clanguage", t; int i, j, k; k=strlen (a); for(i=0; i for(j=i+2; j<=k; 【6】 ) if( 【7】 ) t=a[i]; a[i]=a[j]; a[j]=t; puts (a); printf ("/n");
填空题下面程序的功能是:把从终端读入的文本(用@作为文本结束标志)输出到一个名为bi.dat的新文件中。请填空。
#include "stdio.h"
FILE *fp;
main{{U}} {{/U}}
{ char eh;
if((fp=fopen(______))==NULL) exit(0);
while((eh=getchar{{U}} {{/U}})!='@')fpute(ch,fp);
felose(fp);
}
填空题下面程序的运行结果是______。#include int f(int a[],int n) if(n>1)return a[0]+f(a+1,n-1);elsereturn a[0];main() int aa[10]=1,2,3,4,5,6,7,8,9,10,s;s=f(aa+2,4); printf("%d\n",s);
填空题下列程序的字符串中各单词之间有一个空格,则程序的输出结果是 【17】 。 #include <stdio.h> #include <string.h> main() char str1[]="How do you do", *p1=str1; strcpy(str1+strlen(str1)/2,"es she"); printf("%s/n",p1);
填空题有以下程序:
# include<string.h>
main(int argc,char *argv[])
{ int i,len=0;
for(i=1;i<argc;i+=2) len+= strlen(argv[i]);
printf("%d/n",len);
}
经编译连接后生成的可执行文件是ex.exe,若运行时输入以下带参数的命令行:
ex abcd efg h3 k44
执行后的输出结果是{{U}} 【2】 {{/U}}。
填空题若有如下定义,则该数组的第一维大小为 【6】 。 int b[][4]=1,2,3,4,5,6,7,8,9
填空题以下程序的功能是:通过函数func输入字符并统计输入字符的个数,输入时用字符@作为输入结束标志。请填空。 #include <stdio.h> long ______;/*函数说明语句*/ main() long a; a=func();printf("n=%ld/n",a); long func() long b; for(b=0;getchar()! ='@';b++;); retum b;
填空题若给fun函数的形参s传送字符串“∪∪6354'abc"(其中∪表示空格字符),则函数的返回值是 【19】 。 long fun(char s[]) long n; int sign; for(;isspace(*s);s++); sign=(*s=='-')? -1:1; if(*s=='+'||*s=='-') s++; for(n=0;isdigit(*s);s++) n=10*n+( *s-'0'); return sign*n;
填空题下面程序的功能是求整数m、n的最大公约数,请填空。 main() int m,n,r; scanf("%d,%d",m,n); if( 【17】 ) r=m;m=n;n=r; while( 【18】 ) r=m%n;m=n;n=r; printf("%d",m);
填空题下面程序的功能是将一个字符串str的内容倒序。请填空。 #include<string.h> main( ) int i,j,{{U}} {{/U}}; char str[]="1234567"; for(i=0,j=strlen(str){{U}} {{/U}};i<j;i++,j--)k=str[i];str[i]=str[j];str[j]=k; printf("%s//n", str):
填空题能把计算机处理好的结果转换成为文本、图形、图像或声音等形式并输送出来的设备称为 【2】 设备。
填空题请补充main函数,该函数的功能是:把一个整数插入到一个已经按从小到大排序的数组中。插入后,数组仍然有序。
例如,在数组bb[N]={12,23,31,44,51,63,71,79,85,95}中插入93,结果为:
bb[N]{11,21,31,41,51,61,7l,79,8l,93,95}
注意:部分源程序给出如下.
请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。
试题程序:
#include<std/o. h>
#define N 10
main()
{
int i,j;
int n;
int bb IN+l] ={ t2,23, 31, 44, 51, 63, 71,
79,85,95};
clrscr ();
printf("/nInput n /n");
scanf ("%d",
printf ("/nn=%d ",n);
printf("/n*** original list ***In");
for (i=0; i<N; i++)
printf ("%4d ",bb [ii );
for (i=0; i<N; i++)
{
if (n<=bb [i ] )
{
for(j=N;{{U}} 【1】 {{/U}};j--)
{{U}}【2】{{/U}};
bb [j] =n;
{{U}}【3】{{/U}};
}
if (i=N)
bb[i]=n;
printf("/n***** new list ******In");
for (i=0;i<N+l; i++)
printf ("%4d ",bb [i]);
}
