问答题下列给定程序中,函数fun的功能是:计算f(x)=1+x+<10一6。若x=2.5,函数值为12.182494。请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。注意:不得增行或删行,也不得更改程序的结构。试题程序:#include<stdio.h>#include<math.h>doublefun(doublex){doublef,t;intn;/******found******/f=1.0+【1】;t=x;n=1;do{n++;/******found******/t*=x/【2】;/******found******/f+=【3】;}while(fabs(t)>=1e一6);returnf;}main(){doublex,y;x=2.5;y=fun(x);printf("Theresultis:\n");printf("x=%一12.6fy=%一12.6f\n",x,y);}
问答题编写函数fun,其功能是:将两个两位的正整数a、b合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的百位和个位上。
例如,当a=45,b=12时,调用该函数后,c=5142。
注意:
数据文件IN.DAT中的数据不得修改。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入编写的若干语句。
[试题源程序]
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
void fun(int a,int b,long*c)
{
}
void main()
{
int a,b;
long c;
system("CLS");
printf("Input a,b:");
scanf("%d%d",
fun(a,b,
printf("The result is:%ld/n",c);
}
问答题请编写函数proc(),对长度为9个字符的字符串,除首、尾字符外,将其余7个字符按ASCII码值降序排列。
例如,原来的字符串为HabcdefA,则排序后输出为HfedcbaA。
注意:部分源程序给出如下。
请勿改动main()和其他函数中的任何内容,仅在函数proc()中填入所编写的若干语句。
试题程序:
#include<string.h>
#include<stdlib.h>
#include<stdio.h>
#include<ctype.h>
#include<conio.h>
void proc(char*m, int num)
{
}
void main()
{
char t[10];
system("CLS");
printf("输入9个字符的字符串:");
gets(t);
proc(t, 9);
printf("/n%s", t);
}
问答题编写函数fun,函数的功能是求出小于或等于lim的所有素数并放在aa数组中,函数返回所求出的素数的个数。函数fun中给出的语句仅供参考。
注意:部分源程序存在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入编写的若干语句。
给定源程序如下。
#include<stdio.h>
#define MAX 100
int fun(int lim,int aa[MAX])
{
/*以下代码仅供参考*/
int i,j,k=0;
/*其中变量k用于统计素数个数*/
for(i=2;i<=lim;i++)
{
/*以下找出小于或等于lim的素数存入aa数组中并统计素数个数*/
}
return k;
}
main()
{
int limit,i,sum;
int aa[MAX];
printf("输入一个整数:");
scanf("%d",
sum=fun(limit,aa);
for(i=0;i<sum;i++){
if(i%10==0
printf("%5d",aa[i]);
}
}
问答题给定程序MODI1.C中fun函数的功能是:根据整型形参m,计算如下公式的值。例如,若主函数中输入5,则应输出-0.283333。请改正函数fun中的错误或在横线处填上适当的内容并把横线删除,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!给定源程序:#includedoublefun(intm){doublet=1.0;inti;for(i=2;i<=m;i++)/**********found**********/____________;/**********found**********/_______;}main(){intm;printf("/nPleaseenter1integernumbers:/n");scanf("%d",printf("/n/nTheresultis%lf/n",fun(m));}
问答题请编一个函数float fun(float h),该函数的功能是:对变量h中的值保留两位小数,并对第三位进行四舍五入(规定h中的值为正数)。
例如,若h的值为1234567,则函数返回1234.570000;若h的值为1234564,则函数返回1234.560000。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
float fun(float h)
{
}
void main()
{
float a;
system("CLS");
printf("Enter a:");
scanf("%f",
printf("The original data is:");
printf("%f/n/n",a);
printf("The result:%f/n",fun(a));
}
问答题给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败时返回值为0。在复制的过程中,把复制的内容输出到终端屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
#include
int fun(char *source, char *target)
{ FILE *fs,*ft; char ch;
/**********found**********/
if((fs=fopen(source, ___1___))==NULL)
return 0;
if((ft=fopen(target, "w"))==NULL)
return 0;
printf("/nThe data in file :/n");
ch=fgetc(fs);
/**********found**********/
while(!feof(___2___))
{ putchar( ch );
/**********found**********/
fputc(ch,___3___);
ch=fgetc(fs);
}
fclose(fs); fclose(ft);
printf("/n/n");
return 1;
}
main()
{ char sfname[20] ="myfile1",tfname[20]="myfile2";
FILE *myf; int i; char c;
myf=fopen(sfname,"w");
printf("/nThe original data :/n");
for(i=1; i<30; i++){ c='A'+rand()%;fprintf(myf,"%c",c); printf("%c",c); }
fclose(myf);printf("/n/n");
if (fun(sfname, tfname)) printf("Succeed!");
else printf("Fail!");
}
问答题int x=6, y=7;
printf(“%d,”,x++);
printf(“%d\n”,++y);
程序的输出结果是__________ 。
问答题用筛选法可得到2~n(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非0数,并从数表中删去该数的所有倍数;依此类推,直到所找的下一个数等于n为止。这样会得到一个序列: 2,3,5,7,11,13,17,19,23,…… 函数fun用筛选法找出所有小于等于n的素数,并统计素数的个数作为函数值返回。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 int fun(int n)3 { int a[10000],i,j,count=0;4 for(i:2;i<=n; i++)a[i]=i;5 i=2;6 while(i<n) {7 /**********found**********/8 for(j=a[i]*2;j<=n;j+=__1__)9 a[j]=0;10 i++;11 /**********found**********/12 while(__2__==0)13 i++;14 }15 printf(''\nThe prime number between 2 to %d\n'',n);16 for(i=2; i<=n;i++)17 /**********found**********/18 if(a[i]!=__3__ )19 {count++; printf(count%157''%5d'':''\n%5d'',a[i]);}20 return count;21 }22 main()23 { int n=20,r;24 r=fun(n);25 printf(''\nThe number of prime is:%d\n'',r);}
问答题编写函数fun,其功能是:将两个两位数的正整数a、b合并成—个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的百位和个位上。例如,当a=45,b:12时,调用该函数后,c=5142。注意:部分源程序给出如下。数据文件IN.DAT中的数据不得修改。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入编写的若干语句。试题程序:#include<stdlib.h>#inclucle<stdio.h>#include<conio.h>void fun(int a,int b,long*c){}void main(){ int a,b; long c ; system("CLS"); printf("Input a,b:"); scanf("%d%d",&a,&b); fun(a,b,&c); printf("The result is:%ld\n”,c);}
问答题假定输入的字符串中只包含字母和*号。请编写函数 fun(),它的功能是:将字符串尾部的*号全部删除,前面和中间的*号不删除。 例如,若字符串中的内容为****A*BC*DEF*G*******删除后,字符串中的内容则应当是****A*BC*DEF*G。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数6ln的花括号中填入所编写的若干语句。 试题程序: #include <stdio,h> #include <conio.h> void fun (char *a) main() char s[81]; printf("Enter a string :/n"); gets(s); fun(s); printf("The string after deleted:/n"); puts(s);
问答题给定程序MODll.C中函数fun的功能是:输出M行M列整数方阵,然后求两条对角线上元素之和,返回此和数。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#incllade
#define M 5
/**********found***********/
int fun(int n, int xx[][])
{ int i,j,sum=0;
printf(“\nThe%d X%d matrix:\n”,
M,M);
for(i=0;i
问答题给定程序中,函数fun的功能是:有N×N矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为0。例如,若N=3,有下列矩阵:
1 2 3
4 5 6
7 8 9
计算结果为
1 0 0
6 5 0
10 14 9
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
#define N 4
/**********found**********/
void fun(int (*t)___1___ )
{ int i, j;
for(i=1; i
{ for(j=0; j
{
/**********found**********/
___2___ =t[i][j]+t[j][i];
/**********found**********/
___3___ =0;
}
}
}
main()
{ int t[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10}, i, j;
printf("/nThe original array:/n");
for(i=0; i
{ for(j=0; jprintf("/n");
}
fun(t);
printf("/nThe result is:/n");
for(i=0; i
{ for(j=0; jprintf("/n");
}
}
问答题规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:使字符串的前导*号不得多于n个,若多于n个,则删除多余的*号;若少于或等于n个,则不做处理。字符串中间和尾部的*号不删除。
例如,字符串中的内容为“*******A*BC*DEF*G****”,若n的值为4,删除后,字符串中的内容应当是“****A*BC*DEF*G****”;若n的值为8,则字符串中的内容仍为“*******A*BC*DEF*G****”。n的值在主函数中输入。在编写函数时,不得使用C语言提供的字符串函数。
注意
:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include <stdio.h>
#include <conio.h>
void fun(char *a,int n)
{
}
void main()
{
char s[81];int n;
printf("Enter a string:/n");
gets(s);
printf("Enter n:");
scanf("%d",
fun(s,n);
printf("The string after deleted:/n");
puts(s);
}
问答题下列给定程序中,函数fun的功能是:从低位开始依次取出长整型变量s中奇数位上的数,构成一个新数存放在t中。高位仍在高位,低位仍在低位。例如,当s中的数为7654321时,t中的数为7531。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODll.C中,不得增行或删行,也不得更改程序的结构! #include<stdio.h> /**********found**********/ void fun(10ng s,long t) {long s1=10; ,it t=s%10: while(s>0) { s=s/100; *t=s%10*s1+*t: /**********found**********/ s1=s1*100: } } main() {long s,t; prinff(“\nPlease enter s:”);scanf(“%ld”,&s); fun(s,&t); prinff(“The result is:%1d\n”,t); }
问答题下列给定程序中,函数fun和funx的功能是:用二分法求方程2x
3
一4x
2
+3x一6=0的一个根,并要求绝对误差不超过0.001。
例如,若给m输入一100,给n输入90,则函数求得的一个根为2.000。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include < stdio.h >
#include < math.h >
double funx(double x)
{
return(2*x*x*x一4*x*x+3*x一6);
}
double fun(double m,double n)
{
/*********found*********/
int r;
r=(m+n)/2;
/*********found*********/
while(1abs(n一m) < 0.001)
{
if(funx(r)jIc funx(n) < 0)
m=r;
else
n=r;
r=(m+n)/2;
}
return r;
}
main()
{
double m,n,root;
printf("Enter m n:/n");
scanf("%lf%lf",&m,&n);
root=fun(m,n);
printf("root=%6.3f/n",root);
}
问答题用程序计算下列表达式:s=1!+2!+3!+4!
问答题请编写函数fun,该函数的功能是:统计一行字符串中单词的个数,作为函数值返回。字符串在主函数中输入,规定所有单词由小写字母组成,单词之间有若干个空格隔开,一行的开始没有空格。注意:部分源程序在文件PROG1.C中。请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:1 #include<string.h>2 #inclucte<stdio.h>3 #define N 804 int fun(char*s)5 {67 }8 void main()9 {10 FILE*wf;11 char line[N];12 int num=0;13 printf("Enter a string:\n");14 gets(line);15 num=fun(line);16 printf("The number of wordis:%d\n\n",num);17 /*********found*********/18 wf=fopen("out.clat","w");19 fprintf(wf,"%d",fun("a big car"));20 fclose(wf);21 /*********found*********/22 }
问答题
给定程序MODI1.C中函数fun的功能是:求出两个非零正整数的最大公约数,并作为函数值返回。
例如,若给num1和num2分别输入49和21,则输出的最大公约数为7;若给num1和num2分别输入27和81,则输出的最大公约数为27。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
#include<stdio.h>
int fun(int a, int b)
{int r, t;
if(a<b) {
/**********found**********/
t=a; b=a; a=t;
}
r=a%b;
while(r!=0)
{a=b; b=r; r=a%b;}
/**********found**********/
return(a);
}
main()
{int num1, num2, a;
printf("Input num1 num2:");
scanf("%d%d",
printf("num1=%d num2=%d/n/n", num1, num2);
a=fun(num1, num2);
printf("The maximun common divisor is %d/n/n", a);
}
问答题规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:只删除字符前导和尾部的*号,串中字母间的*号都不删除。形参n给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参e给出了字符串中尾部*号的个数。在编写函数时,不得使用C语言提供的字符串函数。
例如,字符串中的内容为“****A*BC*DEF*G*******”,删除后,字符串中的内容应当是“A*BC*DEF*G”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
#include<conio.h>
void fun(char*a, int n, int h, int e)
{
}
void main()
{
char s[81], *t, *f;
int m=0, tn=0, fn=0;
printf("Enter a string: /n");
gets(s};
t=f=s;
while(*t)
(t++; m++; } /*m为字符串的长度*/
t--; /*指针t指向字符串尾部*/
while(*t=="*")
{t--; tn++; }
/*指针t指向最后一个字母, tn统计尾部"*"的个数*/
while(*f=="*")
{f++; fn++;}
/*指针f指向第一个字母, fn统计前导"*"的个数*/
fun(s, m, fn, tn);
printf("The string after deleted:/n");
puts(s);
}
