下列给定程序中,函数fun()的功能是逐个比较a,b两个字符串对应位置中的字符,把ASCII值小或相等的字符依次存放到c数组中,形成一个新的字符串。
例如:a中的字符串为fshADfg,b中的字符串为sdAEdi,则c中的字符串应为fdAADf。
请改正程序中的错误,使它能得到正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
include <stdio.h>
include <strinq.h>
void fun(char *p,char *q,char *c)
{int k=0;
while(*p || *q)
/**********found**************/
{ if (*p<=*q)
c[k]=*q;
else c[k]:*p;
if(*p) p++;
if(*q)q++;
/**+**********found**************/
k++
}
}
main()
{char a[10]="fshADfg",b[10]="sdAEdi",
c[80]={'\0');
fun(a,b,c);
printf("The string a:");puts(a);
printf("The string b:");puts(b);
printf("The result:");puts(c);
}
第1题
量eps输入 0.0005时,应当输出Pi=3.140578。
n/2=1+1/3+1/3*2/5+1/3*2/5*3/7+1/3*2/5*3/7*4/9……
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
include <conio.h>
include <stdio.h>
include <math.h>
double fun(double eps)
{double s,t; int n=t;
s=0.0;
/*************found**************/
t=1;
/*************found**************/
while(t>eps)
{ s+=t;
t=t*n/(2*n+1);
n++;
}
/*************found**************/
return (s);
}
main()
{ double x;
printf("\nPlease enter a precision: ");
scanf("%1f",&x);
printf("\nPi=%1f\n ",fun(x));
}
第2题
请补充函数fun(char *s),该函数的功能是把字符串中的内容逆置。
例如:字符串中原有的字符串为abcde,则调用该函数后,串中的内容变为edcba。
注意;部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
$include<string.h>
include<conio.h>
include<stdio.h>
define N 81
void fun(char*s)
{
int i=0,t,n=strlen(s);
for(;【 】;i++)
{
t=*(s+i);
【 】;
【 】;
}
}
main()
{
char a[N];
clrscr();
printf("Enter a string:");
gets(a);
printf("The original string is:");
puts(a);
fun(a);
printf("\n");
printf("The string after modified:");
puts(a);
}
第3题
给定程序中,函数fun()的功能是:使数组中的元素的值缩小5倍。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
include<stdio.h>
include<conio.h>
float m[10];
/*************found**************/
int fun (void)
{
int j;
printf("In subfunc after calling\n");
for(j=O;j<lO;j++)
{
;
/*************found**************/
print ("%f ",m[j]%5);
}
}
main()
{
int i;
printf ("In main before calling\n");
for (i=0;i<10;i++)
{
m[i]=i+20;
printf("%f ",m[i]);
}
fun();
printf("\nIn main after calling\n");
for(i=O; i<10;i++)
printf("%f ",m[i]/5);
}
第4题
功能是:把str字符串转换成十进制数,结果由函数返回。例如,输入“1001”,结果输出:9。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
include<stdio.h>
include<stdlib.h>
include<string.h>
int fun(char *str)
{
int n;
char *p=str;
【 】;
p++;
while (*p)
{
n=【 】;
p++;
}
return【 】;
}
main()
{
char str[9];
int i;
int n;
printf ("Enter a string made up of '0' and
'1' digital character:");
gets (str);
if (strlen(str)>8)
{
printf ("Error:string too longer!
please input again !\n\n");
exit(0);
}
for(i=0;str[i];i++)
if(str[i]<'0'||str[i]>'1')
{
printf("Error:%c not is '0'and
'1' digital character !\n\n",
str[i]);
exit(0);
}
printf("The original string:");
puts(str);
n=fun(str);
printf("\n%s is convered to decimal
number:%d\n\n",str,n);
}
第5题
是:把字符串str中的数字字符转换成数字并存放到整型数组bb中,函数返回数组bb的长度。
例如,str="abc3de987f9621",结果为:3987621。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数proc的横线上填入所编写的若干表达式或语句。
试题程序:
include<stdio.h>
define M 80
int bb[M];
int proc(char str[],int bb[],int num)
{
int i,n=0;
for(i=0;i<num;i++)
{
if(【1】)
{
bb[n]=【2】:
n++:
}
}
return 【3】 ;
}
void main
{
char str[M];
int mum=0,n,i;
printf("Enter a strin9:\n");
gets(str);
while(str[num])
num++:
n=proc(str,bb,num);
printf("\nbb=");
for(i=0;i<n;i++)
printf("%d",bb[i]);
}
第6题
,规定各单词之间用空格隔开。
例如,形参s所指的字符串为:This is a C languageprogram.,函数的返回值为6。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKl.C中。
不得增行或删行,也不得更改程序的结构!
第7题
请补充函数fun(),该函数的功能是:判断某一个年份是否为闰年。
例如,1900年不是闰年,2004是闰年。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
include<stdio.h>
include<conio.h>
int fun(int n)
{
int flag=0;
if (n%4=0)
{
if (【 】)
flag=1;
}
if (【 】)
flag=1;
return【 】;
}
main()
{
int year;
clrscr();
printf("Input the year:");
scanf("%d", &year);
if (fun(year))
printf("%d is a leap year. \n", year);
else
printf("%d is not a leap year.\n",
year);
}
第8题
存入所指的数组中。
例如,若输入17,5,则应输出19,23,29,3l,37。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
include <conio.h>
include <stdio.h>
void fun(int m, int k, int xx[])
{
}
main()
{
int m,n, zz[1000];
clrscr();
printf("\nPlease enter two integers: ");
scanf("%d%d",&m,&n);
fun(m,n,zz);
for(m=O;m<n;m++)
printf("%d ",zz[m]);
printf("\n ");
}
第9题
下列给定程序中,函数fun()的功能是:根据整型形参m的值,计算如下公式的值。
t=1-1/(2×2)-1/(3×3)-…-l/(m×m)
请改正函数fun()中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
include <conio.h>
include <stdio.h>
double fun(int m)
{ double y=1.O;
int i;
/*************found**************/
for(i=2;i<m;i++)
/************found**************/
y-=1/ (i*i);
return(y);
}
main()
{ int n=5;
clrscr();
printf("\nThe result is %1f\n", fun(n));
}
第10题
请编写函数fun( ),其功能是:将所有大于1小于整数m的素数存入xx所指数组中,素数的个数通过k传回。
例如,输入25,则应输出2 3 5 7 11 13 17 19 23。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
include<conio.h>
include<stdio.h>
void fun(int m,int *k,int xx[ ])
{
}
main( )
{
int m,n,zz[100];
clrscr( );
printf("/nPlease enter an integer number between 10 and 100:");
scanf("%d",&n);
fun(n,&m,zz);
printf("\n\nThere are%d prime numbers
less than %d:",m,n);
for(n=0;n<m;n++)
printf("\n %4d",zz[n]);
}
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!