问答题函数fun的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。
例如,当a=45,b=12时,调用该函数后,c=4152。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include<stdio.h>
void fun(int a,int b,long*c)
{
}
main()
{int a,b;long c;
printf("Input a b:");scanf("%d%d,
fun(a,b,
printf("The result is:%d/n",c);
}
问答题程序定义了M×M的二维数组,并在主函数中自动赋值。请编写函数proc(inta[][M],intn),该函数的功能是使数组左下半三角元素中的值加上n。例如,a数组中的值为:若n的值为2,则返回主程序后a数组中的值为:注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。试题程序:#include<time.h>#include<stdio.h>#include<conio.h>#include<stdlib.h>#defineM5voidproc(inta[][M],intn){}voidmain(){intn=2,i,j;intarr[5][5]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25};system("CLS");printf("****Thearray****/n");printf("n=%4d/n",n);proc(arr,n);printf("****THERESULT****/n");for(i=0;i<M;i++){for(j=0;j<M;j++)printf("%4d",arr[i][j]);printf("/n");}}
问答题给定程序中,函数fun的功能是:判断形参s所指字符串是否是”回文”(Palindrome),若是,函数返回值为1;不是,函数返回值为0。”回文”是正读和反读都一样的字符串(不区分大小写字母)。
例如,LEVEL和Level是”回文”,而LEVLEV不是”回文”。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include < stdio.h >
#include < string.h >
#include < ctype.h >
int fun(char*s)
{char*lp,*rp;
/*********found*********/
lp=
【1】
;
rp=s+str1en(s)一1;
while((toupper(* lp):=toupper
(*rp))&&(1p < rp)){
/*********found*********/
lp++;rp
【2】
;)
/*********found*********/
if(1p < rp)
【3】
;
else return 1;
}
main()
{char s[81];
printf("Enter a string:");
scar1f("%s",s);
if(fun(s))
printf("/n"%s"is a Palindrome./n/n",s);
else
printf,"/ n|"%s "isn't a
palindrome./n/n",s);
}
问答题编程题
请编写函数fun(),它的功能是求Fibonacci数列中小于t的最大的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为
F(0)=0,F(1)=1
F(n)=F(n-1)+F(n-2)
例如:t=1000时 ,函数值为987。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include
#include
#include
int fun(int t)
{
}
main()
{
int n;
clrscr();
n=1000;
printf("n=%d, f=%d/n",n, fun(n));
}
问答题请编写函数fun,函数的功能是:将M行N列的二维数组中的数据,按行的顺序依次放到一维数组中,一维数组中数据的个数存放在形参n所指的存储单元中。
例如,二维数组中的数据为:
33 33 33 33
44 44 44 44
55 55 55 55
则一维数组中的内容应是:
33 33 33 33 44 44 44 44 55 55 55 55。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include<stdio.h>
void fun(int(*s)[10],int*b,int*n,int mm,int nn)
{
}
main()
{int w[10][10]={{33,33,33,33},(44,44,44,44},{55,55,55,55}},i,j;
int a[100]={0},n=0;
printf("The matrix:/n");
for(i=0;i<3;i++)
{for(j=0;j<4;j++)printf("%3d",w[i][j]);
printf("/n");
}
fun(w,a,
printf("The A array:/n");
for(i=0;i<n;i++)printf("%3d",a[i]);
printf("/n/n");
}
问答题编写函数fun(),函数的功能是:根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。 S=1+1/(1+2)+1/(1+2+3)+…+1/(1+2+3+…+n) 例如:若n的值为11时,函数的值为1.833333。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include <conio.h> #include <stdio.h> #include <string.h> float fun(int n) main() int n; float s; clrscr(); printf("/nPlease enter N: "); scanf("%d", s=fun(n); printf("The result is:%f/n " , s);
问答题给定程序中,函数fun的功能是:
将形参指针所指结构体数组中的三个元素按nllm成员进行升序排列。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include < stclio.h >
typecle f struct
{ int num;
char name[10];
}PERSON;
/*********found*********/
void fun(PERSON
【1】
{
/*********found*********/
【2】
temp;
if(std[0].num >std[1].hum)
{temp=std[0];
std[0]=std[1];
std[1]=temp;)
if(stdeo].num >std[2].hum)
{temp=std[0];std[0]=stad[2];
std[2]=temp;)
if(std[1].num >std[2].num)
{temp=std[1];
std[1]=std[2];
stct[2]=temp;}
}
main()
{PERSON std[]=f 5,"Zhanghu",2,
"WangLi",6,"LinMin"};
int i;
/*********found*********/
fun
【3】
;
printf("The result is":);
for(i=0 ;i < 3;i++)
printf(“%d,%s”,std[i].
FILlm,std[i].name);
}
问答题下列给定程序中,函数fun的功能是:实现两个整数的交换。例如,给a和b分别输入60和65,输出为:a=65 b:60。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序:#include < stdio.h >#include < conio.h >#include < stdlib.h >/*********found*********/void fun(int a,b){ int t;/*********found*********/ t=b;b=a;a=t;}voict main(){ int a,b; system("CLS"); printf("Enter a,b:"); scar1f("%d%d",&a,&b); fun(&a,&b); printf("a=%d b=%d/n",a,b);}
问答题规定输入的字符串中只包含字母和*号。编写函数fun,其功能是:除了字符串前导和尾部的*号外,将串中其他的*号全部删除。形参h已指向字符串中第一个字母,形参p指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序: #include<stdio.h> void fun(char *a, char *h, char *p) main() char s[81], *t, *f; printf("Enter a string:/n"); gets(s); t=f=s; while(*t) t++; t--; while(*t=='*') t--; while(*f-='*') f++; fun(s, f, t); printf("The string after deleted:/n"); puts(s);
问答题规定输入的字符串中只包含字母和#号。请编写函数fun,其功能是:将字符串尾部的#号全部删除,前面和中间的#号不动。例如,字符串中的内容为:“#AB#CD#EF”,删除后,字符串中的内容应当是:“#AB#CD#EF”。在编写函数时,不得使用C语言提供的字符串函数。注意:部分源程序在文件PROC1.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include<stdio.h> void fun(char*a){}main(){char s[81];void NONO();printf(''Enter a string:\n'');gets(s);fun(s);printf(''The string after deleted:\n'');puts(s);NONO();}void NONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*in,*out;int i;char s[81];in=fopen(''in.dat'',''r'');out=fopen(''out.dat'',''W'');for(i=0;i<10;i++){fscanf(in,''%s'',s);fun(s);fprintf(out,''%s\n'',s);}fclose(in);fclose(out);}
问答题下列给定程序中函数fun的功能是:用冒泡法对6个字符串按由小到大的顺序进行排序。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序:#include < stdlib.h >#include < string.h >#include < conio.h >#include < stdio.h >#define MAXLINE 20fun(char*pstr[6]){ int i,j; char*p; for(i=0;i < 5;i++) {/*********found*********/ for(j=i+1,j < 6,j++) { if(strcmp(*(pstr+i),(pstr+j)) >0) { P=*(pstr+i);/*********found*********/ *(pstr+i)=pstr+j; *(pstr+j)=p; } } }}void main(){ int i; char*pstr[6],sir[6][MAxLTNE]; system("CLS"); for(i=0;i < 6;i++) pstr[i]=str[i]; printf("/nEnter 6 string(1string at each line):/n"); for(i=0;i < 6;i++) scanf("%s",pstr[i]); fun(pstr); printf("The strings after sorting:/n"); for(i=0;i < 6;i++) printf("%s/n",pstr[i]);}
问答题下列给定程序中函数fun的功能是:通过某种方式实现两个变量值的交换,规定不允许增加语句和表达式。例如,变量a中的值原为8,b中的值原为3,程序运行后a中的值为3,b中的值为8。请改正程序中的错误,使它得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<stdlib.h>#include<conio.h>#include<stdio.h>int fun(int*x,int y){ int t;/*********found*********/ t=x;x=y;/*********found*********/ return(y);}void main(){ int a=3,b=8; system("CLS"); printf("%d%d\n",a,b); b=fun(&a,b); printf("%d%d\n",a,b);}
问答题下列给定程序中函数fun的功能是:在字符串的最前端加入n个*号,形成新串,并且覆盖原串。 字符串的长度最长允许为79。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序:#include < stdio .h >#include < string.h >void fun ( char s[], int n ){ char a[80], *p; int i;/*********found*********/ s=p; for(i=0;i < n;i++)a[i]='*'; do {a[i]=*p; i ++ ; }/*********found*********/ while ( *p ++ ) strcpy (s,a) ;}main (){ int n; char s[80]; printf ("/nEnter a string : ") ; gets (s) ; printf ("/nThe string "%sV'/n",s) ; printf ("/nEnter n (number of*):"); fun (s,n) ; printf ("/nThe string after insert:"%s"/n",s); }
问答题
给定程序MODI1.C中函数fun的功能是:计算函数(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值。其中x和y的值不等,z和y的值不等。例如,当x的值为9、y的值为11、z的值为15时,函数值为-3.50。
请改正程序中的错误,使它能得出正确结果。
注意;不要改动main函数,不得增行或删行,也不得更改程序的结构。
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
/************found************/
#define FU(m,n) (m/n)
float fun(float a,float b,float c)
{ float value;
value=FU(a+b,a-b)+FU(c+b,c-b);
/************found************/
Return(Value);
}
main()
{ float x,y,z,sum;
printf("Input x y z:");
scanf("%f%f%f",
printf("x=%f,y=%f,z=%f/n",x,y,z);
if(x==y||y==z){printf("Data error!/n");exit(0);}
sum=fun(x,y,z);
printf("The result is:%5.2f/n",sum);
}
问答题下列给定程序的功能是:建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。 请改正函数fun中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不要改动mun函数,不得增行或删行,也不得更改程序的结构! 试题程序:#include < stdio.h >#include < conio .h >#include < stdlib.h >typedef struct aa{ int data; struct aa * next;} NODE;fun (NODE *h){ int max =一1; NODE *p;/*********found*********/ p =h; while (p) { if (p 一 > data > max) max =p 一 > data;/*********found*********/ p =h 一 > next; } return max; }outresult (int s, FILE*pf){ fprintf (pf, "/nThe max in link:%d/n",s); }NODE * creatlink (int n. int m){ NODE *h,*p,*s; int i; h =p = (NODE * ) malloc (sizeof(NODE)); h 一 > data =9999; for (i=1;i < 一n;i++) { s = (NODE * ) malloc (sizeof(NODE)); s 一 > data = rand () % m; s 一 > next =p 一 > next; p 一 > next = s; p =p 一 > next; p 一 > next = NULL; return h;}outlink (NODE *hf FILE *pf){ NODE *p; p =h 一 > next; fprintf (pf, "/n The LIST :/n/nHEAD") ; while (p) { fprintf (pf, " 一 > %d",p 一 > data) ; p =p 一 > next; } fprintf (pf, "/n") ; }main(){NODE*head;int m; system("CLS"); head=creatlink(12,100); outiink(head,stdout); m=fun(head); printf("/nThe RESULT:/n"); outresult(m,stdout);}
问答题给定程序中,函数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
请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
#include
#define N 10
double fun(double *x)
{ int i, j; double s, av, y[N];
s=0;
for(i=0; i
/**********found**********/
av=__1__;
for(i=j=0; i
if( x[i]>av ){
/**********found**********/
y[__2__]=x[i]; x[i]=-1;}
for(i=0; i
/**********found**********/
if( x[i]!= __3__) y[j++]=x[i];
for(i=0; i
return av;
}
main()
{ int i; double x[N];
for(i=0; i4.0f ",x[i]);}
printf("/n");
printf("/nThe average is: %f/n",fun(x));
printf("/nThe result :/n",fun(x));
for(i=0; i5.0f ",x[i]);
printf("/n");
}
问答题请编写一个函数fun,它的功能是:求出一个2×M整型二维数组中最大元素的值,并将此值返回调用函数。
注意: 部分源程序存在文件PROG1.C文件中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include
#define M 4
fun (int a[][M])
{
}
main( )
{ int arr[2][M]={5,8,3,45,76,-4,12,82} ;
printf("max =%d/n", fun(arr)) ;
NONO( ) ;
}
问答题已知一个数列从0项开始的前3项:0、0、1,以后的各项都是其相邻的前3项之和。下列给定的程序中,函数fun的功能是:计算并输出该数列前n项的平方根之和sum。n的值通过形参传入。例如,当n=10时,程序的输出结果应为23.197745。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<stdlib.h>#include<conio.h>#include<stdio.h>#include<math.h>/*********found*********/fun(int n){ double sum,s0,s1,s2,,s; int k; sum=1.0; if(n<=2)sum=0.0 ; s0=0.0;s1=0.0;s2=1.0; for(k=4;k<=n;k++) { s=s0+s1+s2; sum+=sqrt(s); S0=s1;s1=s2;s2=S; }/*********found*********/ return sum}void main(){int n; system("CLS"); printf("Input N="); scanf("%d",&n); printf("%f\n",fun(n));}
问答题给定程序中,函数fun的功能是:将参数给定的字符串、整数、浮点数写到文本文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数atoi和atof将字符串转换成相应的整数、浮点数,然后将其显示在屏幕上。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#include<stdlib.h>
void fun(char*s,int a,double f)
{
/*********found*********/
【1】
fp;
char str[100],str1[100],
sir2[100];
int a1;double f1;
fp=fopen("file1.txt","w");
fprintf(fp,"%s%d%f\n",s,a,f);
/*********found*********/
【2】
;
fp=fopen("filel.txt","r");
/*********found*********/
fscanf(
【3】
,"%s%s%s",str,str1,str2);
fclose(fp);
a1=atoi(str1);
f1=atof(str2);
printf("\nThe result:\n\n%s%d%f\n",str,a1,f1);
}
main()
{char a[10]="Hello!";
int b=12345;
double c=98.76;
fun(a,b,c);
}
问答题请编写函数fun,函数的功能是:将大于形参m且紧靠m的k个素数存入XX所指的数组中。例如,若输入17,5,则应输出:19,23,29,31,37。 注意:部分源程序在文件PROG1.C文件中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。1 #include<stdio.h>2 void fun(int m, int k, int xx[])3 {4 }5 Nain()6 {7 int m,n,zz[1000];void NONO();8 pritf(''\nPlease enter two integers:'');9 scanf(''%d%d'', &m, &n);10 fun(m,n,zz);11 for(m=0 ; m<n;m++)12 printf(''%d'',zz[m]);13 printf(''\n'');14 NONO();15 }16 Void NONO()17 {/*本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/18 int m,n,zz[1000],i;19 FILE *rf,*wf;20 rf=fopen(''in.dat'',''r'');21 wf=fopen(''out.dat'',''w'');22 for(i=0;i<10;i++) {23 fscanf(rf, '%d%d'', &m, m++)fprintf(wf,''%d'',zz[m]);26 fprintf(wf,''\n'');27 }28 fclose(rf);29 fclose(wf);}
