问答题编写函数fun(),其功能是计算:s作为函数值返回。在C语言中可调用log(n)函数求ln(n)。log函数的引用说明为:doublelog(doublex)。例如,若m的值为20,则fun()函数值为6.506583。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数fun()的花括号中填入你编写的若干语句。试题程序:#include<stdlib.h>#include<conio.h>#include<stdio.h>#include<math.h>doublefun(intm){}voidmain(){system("CLS");printf("%f/n",fun(20));}
问答题给定程序MODI1.C中函数fun的功能是:求三个数的最小公倍数。
例如,给主函数中的变量x1、x2、x3分别输入15 11 2,则输出结果应当是:330。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
给定源程序:
#include
/************found************/
fun(int x, y, z )
{ int j,t ,n ,m;
j = 1 ;
t=j%x;
m=j%y ;
n=j%z;
while(t!=0||m!=0||n!=0)
{ j = j+1;
t=j%x;
m=j%y;
n=j%z;
}
/************found************/
return i;
}
main( )
{ int x1,x2,x3,j ;
printf("Input x1 x2 x3: "); scanf("%d%d%d",
printf("x1=%d, x2=%d, x3=%d /n",x1,x2,x3);
j=fun(x1,x2,x3);
printf("The minimal common multiple is : %d/n",j);
}
问答题学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数proc(),它的功能是:把指定分数范围之外的学生数据放在b所指的数组中,分数范围之外的学生人数由函数值返回。
例如,输入的分数是70和79,则应当把分数低于70和高于79的学生数据输出,不包含70分和79分的学生数据。主函数中把70放在low中,把79放在heigh中。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
试题程序:
#include<stdio.h>
#define M 16
typedef struct
{
char num[10];
int s;
}
STREC;
int proc(STREC*a, STREC*b, int 1, int h)
{
}
void main()
{
STREC stu[M]={{"GA005", 55}, {"GA003", 96},
{"GA002", 80}, {"GA004", 68},
{"GA001", 88}, {"GA007", 74},
{"GA008", 85}, {"GA006", 89},
{"GA015", 90}, {"GA013", 53},
{"GA012", 66}, {"GA014", 82},
{"GA011", 73}, {"GA017", 69},
{"GA018", 64}, {"GA016", 86}};
STREC h[M];
int i, n, low, heigh, t;
printf("Enter 2 integer number low
scanf("%d%d",
if(heigh<low)
{
t=heigh;
heigh=low;
low=t;
}
n=proc(stu, h, low, heigh);
printf("The student"s data out %d--%d:/n", low, heigh);
for(i=0; i<n; i++)
printf("%s %4d/n", h[i].num, h[i].s);
//输出指定分数范围内的学生记录
printf("n");
}
问答题
给定程序MODI1.C中函数fun的功能是:计算s所指字符串中含有t所指字符串的数目,并作为函数值返回。
请改正函数fun中指定部位的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
#include<string.h>
#define N 80
int fun(char *s, char *t)
{ int n;
char *p, *r;
n=0;
while(*s)
{ p=s;
/**********found**********/
r=p;
while(*r)
if(*r==*p) {r++; p++;}
else break;
/**********found**********/
if(*r=0)
n++;
s++;
}
return n;
}
main()
{char a [N], b [N]; int m;
printf("/nPlease enter string a:"); gets(a);
printf("/nPlease enter substring b:"); gets(b);
m=fun(a, b);
printf("/nThe result is : m=%d/n", m);
}
问答题下列给定程序中,函数proc()的功能是:依次取出字符串中所有的字母字符,形成新的字符串,并取代原字符串。
例如,若输入的字符串是:“ab232bd34bkw”,则输出结果是:“abbdbkw”。
请修改程序中的错误,使它能得到正确结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
void proc(char*str)
{
int i, j;
for(i=0, j=0; str[i]!="/0"; i++)
//****found****
if((str[i]>="A"
//****found****
str[j]="/0";
}
void main()
{
char item[80];
system("CLS");
printf("/nEnter a string: ");
gets(item);
printf("/n/nThe string is: %s/n", item);
proc(item);
printf("/n/nThe string of changing is: %s/n", item);
}
问答题请编写函数fun,函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。
例如,一维数组中的数据是:2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10。删除后,数组中的内容应该是:2 3 4 5 6 7 8 9 10。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include<stdio.h>
#define N 80
int fun(int a[],int n)
{
}
main()
{int a[N]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10,10},i,n=20;
printf("The original data:/n");
for(i=0;i<0;i++)printf("%3d",a[i]);
n=fun(a,n);
printf("/n/nThe data after deleted:/a");
for(i=0;i<n;i++)print("%3d",a[i]);
printf("/n/n");
}
问答题程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun,函数的功能是:使数组右上三角元素中的值乘以m。例如:若m的值为2,a数组中的值为|197||21814|a=|238|则返回主程序后a数组中的值应为|2616||456||4512|注意:部分源程序存在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。给定源程序:
问答题函数fun的功能是:计算直到若x=2.5,函数值为:1.917915。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>#include<math.h>doublefun(doublex){doublef,t;intn;f=1.0+x;/**********found**********/t=1;n=i;do{n++;/**********found**********/t*=(-1.0)*x/______;f+=t;}/**********found**********/while(______>=1e-6);returnf;}main(){doublex,y;x=2.5;y=fun(x);printf("/nTheresultis:/n");printf("x=%-12.6fy=%-12.6f/n",x,y);}
问答题给定程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的学号、姓名和3门课的成绩。函数fun的功能是将该学生的各科成绩都乘以一个系数a。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
typedef struct
{ int num;
char name[9];
float score[3];
}STU;
void show(STU tt)
{ int i ;
printf("%d%s:",tt.num,tt.name);
for(i=0;i<3;i++)
printf("%5.lf",tt.score[i]);
printf("\n");
}
/*********found*********/
void modify(
【1】
*ss,float a)
{ int i;
for(i=0;i<3;i++)
/*********found*********/
ss->
【2】
*=a;
}
main()
{ STU std=(1,"Zhanghua",76.5,78.0,82.0};
float a;
printf("\nThe original numbet and name and scores:\n");
show(std);
printf("\nTnput a number:");
scanf("%f",&a);
/*********found*********/
modify(
【3】
,a);
printf("\nA result of modifying:\n");
show(std);
}
问答题函数fun的功能是:从三个形参a,b,c中找出中间的那个数,作为函数值返回。
例如,当a=3,b=5,c=4时,中数为4。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include
int fun(int a,int b,int c) .
{
int t;
/*********found**********/
t = (a>b) ? (b>c? b :(a>c?c:
____1____ )) : ((a>c)? ____2 ____ : ((b>c)?
c:____3____));
return t;
}
main ()
{ int a1=3,a2=5,a3=4,r;
r =fun (a1, a2, a3) ;
printf("/nThe middle number
is : %d/n",r);
}
问答题输出1900~2000年中所有的闰年。每输出3个年号换一行。(判断闰年的条件为下面二者之一:能被4整除,但不能被100整除。或者能被400整除。)
问答题下列给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位的顺序组成一个新数,作为函数值返回。
例如,从主函数输入一个整数27638496,则函数返回值为26846。
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
unsigned long fun(unsigned long n)
{ unsigned long x=0,s,i;int t;
s=n;
/*********found*********/
i=
【1】
;
/*********found*********/
while(
【2】
){t=s%10;
if(t%2==0){
/*********found*********/
x=x+t*i;i=
【3】
;
}
s=s/10;
}
return x;
}
main()
{ unsigned long n=-1;
while(n>99999999‖n<0)
{ printf("Please input(0<n<100000000):");
scanf("%ld",&n);}
printf("\nThe result is:%ld\n",fun(n));
}
问答题给定程序MODI1.C中函数fun的功能是:按顺序给s所指数组中的元素赋予从2开始的偶数,然后再按顺序对每五个元素求一个平均值,并将这些值依次存放在w所指的数组中。若s所指数组中元素的个数不是5的倍数,多余部分忽略不计。 例如,s所指数组有14个元素,则只对前10个元素进行处理,不对最后的4个元素求平均值。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。1 #include<stdio.h>2 #define SIZE 203 fun(double *s,clouble *w)4 { int k,i;double sum;5 for(k=2,i=0;i<SIZE;i++)6 { s[i]=k;k+=2;}7 /**********found**********/8 sun=0.0;9 for(k=0,2=0;i<SIZE;i++)10 { sum+=s[i];11 /**********found**********/12 if(i+1%5==0)13 { w[k]=sum/5;sum=0;k++;)14 }15 return k;16 }17 main()18 {double a[SIZE],b[SIZE/5];19 int i,k;20 k=fun(a,b);21 printf(''The original data:\n'');22 for(2=0;i<SIZE;i++)23 { if(i%5==0)printf(''\n'');24 printf(''%4.0f'',a[i]);25 }26 printf(''\n\nThe result:\n'');27 for(i=0;i<k;i++)printf(''%6.2f'',b[i]);28 printf(''\n\n'');29 }
问答题请编写函数fun(),该函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。
例如,若二维数组中的数据为:
W WWW
S S S S
H H H H
则字符串中的内容应是WSHWSHWSHWSH。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include<stdio.h>
#define M 3
#define N 4
void fun(char (*s)[N],char *b)
{
}
main()
{
char a[100],w[M][N]={{ 'W', 'W', 'W', 'W'},
{'S', 'S', 'S', 'S'},{'H', 'H', 'H', 'H'}};
int i,j;
printf("The matrix:/n");
for(i=0;i<M;i++)
{ for(j=0;j<N;j++)
printf("%3c",w[i][j]);
printf("/n");
}
fun(w,a);
printf("The A string:In");
puts(a);
printf("/n/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、260
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
试题程序:
1 #include<Stdlib.h>
2 #include<stdio.h>
3 #define N 10
4 double fun(double*x)
5 { int i,j;double s,av,y[N];
6 s=0;
7 for(i=0;i<N;i++)s=s+x[i];
8 /*********found*********/
9 av=
【1】
;
10 for(i=j=0;i<N;i++)
11 if(x[i]>av){
12 /*********found*********/
13 y[
【2】
]=x[i];
14 x[i]=-1;}
15 for(i=0;i<N;i++)
16 /*********found*********/
17 if(x[i]!=
【3】
)y[j++]=x[i];
18 for(i=0;i<N;i++)x[i]=y[i];
19 return av;
20 }
21 main()
22 { int i;double x[N];
23 for(i=0;i<N;i++)
24 { x[i]=rand()%50;
25 printf("%4.0 f",x[i]);)
26 printf("\n");
27 printf("\nThe average is:%f\n",fun(x));
28 printf("\nThe result:\n",fun(x));
29 for(i=0;i<N;i++)
30 printf("%5.0 f",x[i]);
31 printf("\n");
32 }
问答题请编写函数fun(),该函数的功能是:移动一维数组中的内容,若数组中有n个整数,要求把下标从p到n-1(p≤n-1)的数组元素平移到数组的前面。
例如,一维数组中的原始内容为1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,p的值为6。移动后,一维数组中的内容应为7,8,9,10,11,12,13,14,15,1,2,3,4,5,6。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include<stdio.h>
#define N 80
void fun(int *w,int p,int n)
{
}
main()
{
int a[N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
int i,p,n=15;
printf("The original data:/n");
for(i=0;i<n;i++)
printf("%3d",a[i]);
printf("/n/nEnter p:");
scanf("%d",&p);
fun(a,p,n);
printf("/nThe data after moving:/n");
for(i=0;i<n;i++)
printf("%3d",a[i]);
printf("/n/n");
}
问答题下列给定程序中,函数fun的功能是:依次取出字符串中所有的数字字符,形成新的字符串,并取代原字符串。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include < stdlib.h >#include < stdio.h >#include < conio.h >void fun(char *s){ int i,j; for(i=0,j=0;s[i]!='/0';i++) if(s[i] >='0'&&s[i] < ='9')/*********found*********/ s[j]=s[i];/*********found*********/ s[j]="/0";}void main(){ char item[80]; system("CLS"); printf("/nEnter a string:"); gets(item); printf f"/n/nThe stringis:%s/n",item); fun(item); printf("|n l nThe string ofchanging is:%s/n",item);}
问答题请编写函数fun,函数的功能是查找x在s所指数组中下标的位置,并作为函数值返回,若x不存在,则返回-1。
注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
#include<stdlib.h>
#define N 15
void NONO();
int fun (int*s,int x)
{
}
main()
{int a[N]={29,13,5,22,10,9,3,18,22,25,14,15,2,7,27},i,x,
index;
printf("a数组中的数据:/n");
for(i=0;i<N;i++)
printf("%4d",a[i]);
printf("/n");
printf("给x输入待查找的数:");
scanf("%d",
index=fun(a,x);
printf("index=%d/n",index);
NONO();
}
void NONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
FILE*fp,*wf;
int i,j,a[10],x,index;
fp=fopen("in.dat","r");
wf=fopen("out.dat","w");
for(i=0;i<10;i++){
for(j=0;j<10;j++){
fscanf(fp,"%d",
}
fscanf(fp,"%d",
index=fun(a,x);
fprintf(wf,"%d/n",index);
}
fclose(fp);
fclose(wf);
}
问答题编写函数fun,它的功能是计算下列级数和,和值由函数值返回。
例如,当n = 10,x=0.3时,函数值为1.349859。
注意: 部分源程序在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include
#include
double fun(double x , int n)
{
}
main()
{
printf("%f/n", fun(0.3,10));
NONO();
}
问答题下列给定程序中,函数fun的功能是:将s所指字符串的正序和反序进行连接,形成的新串放在t所指的数组中。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动mam函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include<stdio.h> #include<string.h> /******************found*******************/ void fun(char s, char t) int i, d; d=strlen(s); for(i=0; i<d; i++) t[i]=s[i]; for(i=0; i<d; i++) t[d+i]=s[d-1-i]; /******************found*******************/ t[2*d-1]='/0'; main() char s[100], t[100]; printf("nPlease enter string S:"); scanf("%s", s); fun(s, t); printf("/nThe result is: %s/n", t);
