问答题下列程序定义了N×N的二维数组,并在主函数中赋值。请编写函数fun(),函数的功能是:求出数组周边元素的平均值并作为函数值返回给主函数中的s。例如:若a数组中的值为
a= 0 1 2 7 9
1 9 7 4 5
2 3 8 3 1
4 5 6 8 2
5 9 1 4 1
则返回土程序后s的值应为3.375。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的仟何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include <stdio.h>
#include<conio.h>
#include<stdlib.h>
#define N 5
double fun (int w[] [N])
{
}
main()
{
int a[N] [N]={0,1,2,7,9,1,9,7,4,5,2,
3,8,3,1,4,5,6,8,2,5,9,1,4,1};
int i, j;
double s;
clrscr();
printf("*****The array*****/n ");
for (i=0; i<N; i++)
{ for (j=0;j<N;i++)
{printf("%4d ",a[i] [j]);}
printf("/n ");
}
s=fun(a);
printf("*****THE RESULT*****/n ");
printf("The sum is : %lf/n ",s);
}
问答题请编写一个函数fun,它的功能是:计算并输出给定整数n的所有因子(不包括1与自身)之和。规定n的值不大于1000。
例如,若主函数从键盘给n输入的值为856,则输出为sum=763。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include<stdio.h>
int fun(int n)
{
}
main()
{
int n,sum;
printf("Input n:");
scanf("%d",
sum=fun(n);
printf("sum=%d/n",sum);
}
问答题编写函数fun,其功能是:根据以下公式求π的值(要求精度0.0005,即某项小于0.0005时停止迭代)。程序运行后,若输入精度0.0005,则程序应输出为3.14…。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:#include<stdio.h>#include<conio.h>#include<math.h>doublefun(doubleeps){}voidmain(){doublex;printf(Inputeps:);Scanf(%lf,x);printf(/neps=%lf,PI=%lf/n,x,fun(x));}
问答题已知学生的记录由学号和学习成绩构成,N名学生的数据已存入结构体数组a中。请编写函数 fun,函数的功能是:找出成绩最高的学生记录,通过形参指针传回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数。
注意: 部分源程序存在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include
#include
#define N 10
typedef struct ss
{ char num[10]; int s; } STU;
fun( STU a[], STU *s )
{
}
main ( )
{ STU a[N]={ {"A01",81},{"A02",89},{"A03",66},{"A04",87},{"A05",77},
{"A06",90},{"A07",79},{"A08",61},{"A09",80},{"A10",71} }, m ;
int i;
printf("***** The original data *****/n");
for ( i=0; i< N; i++ )printf("No = %s Mark = %d/n", a[i].num,a[i].s);
fun ( a,
printf ("***** THE RESULT *****/n");
printf ("The top : %s , %d/n",m.num, m.s);
NONO( );
}
问答题请编写函数fun,其功能是将形参s所指字符串放入形参a所指的字符数组中,使a中存放同样的字符串。说明:不得使用系统提供的字符串函数。 注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun指定的部位填入所编写的若干语句。 试题程序:#include < stdio.h >#define N 2 0void NONO();void fun(char,* a,char,*s){}main(){char s1[N],*s2="abcdefghijk"; fun(s1,s2); printf("%s/n",s1); printf("%s/n",s2); NONO();}void NONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/ FILE,* fp,*wf; int i; char s1[2 5 6],s2[2 5 6]; fp=fopen("in.dat","r"); wf=fopen("out.dat","w")j for(i=0;i < 1 0;i++){ fgets(s2,2 55,fp); fun(s1,s2); fprintf(wf,"%s",s1); } fclose(fp); fclose(wf);}
问答题请编写函数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。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include
#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
问答题假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导的*号之外,将串中其它*号全部删除。在编写函数时,不得使用C语言提供的字符串函数。函数fun中给出的语句仅供参考。
例如,字符串中的内容为:****A*BC*DEF*G*******,删除后字符串中的内容应当是:****ABCDEFG。
注意:部分源程序在文件PROG1. C文件中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include <stdio. h>
void fun(char *a)
{
/*以下代码仅供参考*/
int i=0, k;
while(a[i]=="*") i++;
k=i;
while(a[i]!="/0")/*以下程序段实现非*字符前移*/
{
}
a[k]="/0";
}
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
("C: //WEXAM//24990001//in. dat", "r");
out=fopen
("C://WEXAM//24990001//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(),它的功能是:求出1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数并将它们放在 a所指的数组中,通过n返回这些数的个数。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include <conio.h>
#include <stdio.h>
void fun (int *a,int *n)
{
}
main()
{
int aa[1000], n, k;
clrscr();
fun(aa,
for(k=0;k
问答题给定程序MODI1.C中fun函数的功能是:求 s=aa…aa-…-aaa-aa-a (此处aa…aa表示n个a,a和n的值在1至9之间) 例如a=3,n=6,则以上表达式为: s=333333-33333-3333.333-33-3 其值是:296298 a和n是fun函数的形参,表达式的值作为函数值传回main函数。 请改正程序中的错误,使它能计算出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 long fun(int a,int n)3 { int j;4 /**********found**********/5 long s=0,t=1;6 for(j=0;j<n;j++)7 t=t *10+a;8 s=t;9 for(j=1;j<n;j++){10 /**********found**********/11 t=t%10;12 s=s-t;13 }14 return(s);15 }16 main()17 { int a,n ;18 printf(''\nPlease enter a and n:'');19 scanf(''%d%d'',&a,&n);20 printf(''The value of function is:%id\n'',fun(a,n));21 }
问答题下列给定程序中函数fun的功能是:将P所指字符串中的所有字符复制到b中,要求每复制三个字符之后插入一个空格。
例如,若给a输入字串:ABCDEFGHIJK,调用函数后,字符数组b中的内容为:ABC DEF GHI JK。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
void fun(char *p,char *b)
{int i,k=0;
while(*p)
{i=1;
while(i<=3
k++;p++;i++;
}
if(*p)
{
/**********found**********/
b[k++]=" ";
}
}
b[k]="/0";
}
main()
{char a[80],b[80];
printf("Enter a string:");gets(a);
printf("The original string:");puts(a);
fun(a,b);
printf("/nThe string after insert space:");puts(b);printf("/n/n");
}
问答题
请编写一个函数fun,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。例如,若传送给m的值为50,则程序输出:
7 11 14 21 22 28 33 35 42 44 49
注意:部分源程序存在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include<stdio.h>
#define M 100
void fun(int m, int *a, int *n)
{
}
main()
{ int aa[M], n, k;
void NONO();
fun(50, aa,
for(k=0; k<n; k++)
if((k+1)%20==0)printf("/n");
else printf("%4d", aa[k]);
printf("/n");
NONO();
}
void NONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *fp, *wf;
int i, n, j, k, aa[M], sum;
fp=fopen("in.dat", "r");
wf=fopen("out.dat", "w");
for(i=0; i<10; i++) {
fscanf(fp, "%d,",
fun(j, aa,
sum=0;
for(k=0; k<n; k++) sum+=aa[k];
fprintf(wf, "%d/n", sum);
}
fclose(fp);
fclose(wf);
}
问答题请编写函数fun,其功能是分别统计形参t所指二维数组中字母A和C的个数。
注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#include
#include
#define M 14
void NONO () ;
void fun (char (*t) [M] ,int*a,int*c)
{
}
void get (char (*s) [M] )
{int i,j ;
{s[i] [j]=65+rand() %12;
printf ("/n") ;
}
main ()
{ char a[M] [M];
int x,y;
get (a) ;
printf("A=%d C=%d/n",x,y);
NONO();
}
void NONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *fp,*wf;
int i,j,x,y;
char a[M][M];
fp=fopen("in.dat","r") ;
wf=fopen ("out.dat","w") ;
for( i=0; i
问答题
请编写函数fun,函数的功能是:判断字符串是否为回文?若是,函数返回1,主函数中输出:YES;否则返回0,主函数中输出NO。回文是指顺读和倒读都一样的字符串。
例如,字符串LEVEL是回文,而字符串123312就不是回文。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include <stdio.h>
#include <string.h>
#define N 80
int fun(char *str)
{
}
main()
{ char s[N];void NONO();
printf("Enter a string:");gets (s);
printf("/n/n");puts(s);
if(fun(s)) printf("YES/n");
else printf("NO/n");
NONO();
}
void NONO()
{/* 请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。 */
FILE *rf,*wf;
int i;char s[N];
rf=fopen("in.dat","r");
wf=fopen("out.dat","w");
for(i=0;i<10;i++) {
fscanf(rf,"%s",s);
if(fun(s)) fprintf(wf,"%s YES/n",s);
else fprintf(wf,"%s NO/n",s);
}
fclose(rf);fclose(wf);
}
问答题请编写函数fun,其功能是:计算并输出下列多项式的值, S=(1—1/2)+(1/3—1/4)+…+(1/(2n一1)一1/2n) 例如,若主函数从键盘给n输入8后,则输出为S=0.662872。 注意:要求n的值大于1但不大于100。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include<stdio.h> double fun(int n) { } main() { int n;double s; void NONO(); printf("Input n:"); scanf("%d",&n); s=fun(n): printf("\ns=%f\n",s); NONO();}void NONO(){ int n,i;double s; for(i=0;i<10;i++) { s=fun(n); }}
问答题请编写函数fun,其功能是:将M行N列的二维数组中的数据,按列的顺序依次放到一维数组中。一维数组中数据的个数存放在形参n所指的存储单元中。例如,若二维数组中的数据为则一维数组中的内容应是:334455334455334455334455注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:#include<stdio.h>voidfun(int(*s)[10],int*b,int*n,intmm,intnn){}main(){intw[10][10]={{33,33,33,33},{44,44,44,44},{55,55,55,55}},i,j;inta[100]={0},n=0;printf("Thematrix:/n");for(i=0;i<3;i++){for(j=0;j<4;j++)printf("%3d",w[i][j]);printf("/n");}fun(w,a,printf("TheAarray:/n");for(i=0;i<n;i++)printf("%3d",a[i]);}
问答题给定程序MODI1.C中,函数fun的功能是判断整数n是否是“完数”。当一个数的因子之和恰好等于这个数本身时,就称这个数为“完数”。例如:6的因子包括1、2、3,而6=1+2+3,所以6是完数。如果是完数,函数返回值为1,否则函数返回值为0。数组a中存放的是找到的因子,变量k中存放的是因子的个数。 请改正函数fun中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。1 #include<stdio.h>2 int fun(int n,int a[],int *k)3 int m=0,i,t;4 t=n;5 /**********found**********/6 for(i=0;i<n;i++)7 if(n%i==0)8 {a[m]=i;m++;t=t-i;)9 /**********found**********/10 k=m;11 /**********found**********/12 if(t=0)return 1;13 else return 0;}14 main()15 { int n,a[10],flag,i,k;16 printf(''请输入一个整数: '');scanf(''%d'',&n);17 flag=fun(n,a,&k);18 if(flag)19 {printf(''%d是完数,其因子是:'',n);20 for(i=0;i<k;i++) printf(''%d'',a[i]);21 printf(''\n'');}22 else printf(''%d不是完数.\n'',n);23 }
问答题编写函数fun(),其功能是:实现两个字符串的连接(不要使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串的后面。
例如,分别输入下面两个字符串:
"FirstString--"
"SecondString"
程序输出:
"FirstString--SecondString"
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数fun()的花括号中填入你编写的若干语句。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
void fun(char p1[],char p2[])
{
}
void main()
{
char s1[80],s2[40];
system("CLS");
printf("Enter s1 and s2:/n");
scanf("%s%s",s1,s2);
printf("s1=%s/n",s1);
printf("s2=%s/n",s2);
printf("Invoke fun(s1,s2):n");
fun(s1,s2);
printf("After invoking:/n");
printf("%s/n",s1);
}
问答题已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数fun,函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include<stdio.h>
#include<string.h>
#define N 10
typedef struct ss
{ char num[10]; int s;}STU;
void fun(STU a[], STU *s)
{
}
main()
{ STU a[N]={{"A01", 81}, {"A02", 89}, {"A03", 66},
{"A04", 87}, {"A05", 77}, {"A06", 90}, {"A07", 79},
{"A08", 61}, {"A09", 80}, {"A10", 71}}, m;
int i;
printf("*****The original data*****/n");
for(i=0; i<N; i++)
printf("No=%s Mark=%d/n", a[i].num, a[i].s);
fun(a,
printf("*****THE RESULT*****/n");
printf("The lowest:%s, %d/n", m.num, m.s);
}
问答题m个人的成绩存放在$eore数组中,请编写函数fun,它的功能是:将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指的数组中。 例如,当score数组中的数据为10、20、30、40、50、60、70、80、90时,函数返回的人数应该是4,below中的数据应为10、20、30、40。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序:#include < conio.h >#include < stdio.h >#include < string.h >#include < stdlib.h >int fun(int score[],int m,int below[]){}void main(){ FILE*wf; int i,n,below[9]; 2nt score[9]={10,20,30,40,50,60,70,80,90); system("CLS"); n=fun(score,9,below); print;f("/nBelow the averageSCOEe are:"); for(i=0;i < n;i++) printf("%d",below[i]);/******************/ wf=fopen("out.dat","w"); for(i=0;i < n;i++) fprint:f(wf,"%d",below[i]); fclose(wf);/******************/}
问答题编写fun()函数,它的功能是:利用以下所示的简单迭代方法求方程cos(y)-y=0的一个实根。
yn+1=cos(yn)
迭代步骤如下:
(1)取y1初值为0.0;
(2)y0=y1,把y1的值赋给y0;
(3)y1=cos(y0),求出一个新的y1;
(4)若y0-y1的绝对值小于0.000001,则执行步骤(5),否则执行步骤(2);
(5)所求y1就是方程cos(y)-y=0的一个实根,作为函数值返回。
程序将输出结果Result=0.739085。
请勿改动main()函数与其他函数中的任何内容,仅在函数fun()的花括号中填入所编写的若干语句。
部分源程序给出如下。
试题程序:
#include<conio.h>
#include<math.h>
#include<stdio.h>
float fun()
{
}
void main()
{
FILE *out;
float cos=fun();
printf("Result=%f/n", cos);
out=fopen("outfile.dat", "w");
fprintf(out, "%f", cos);
fclose(out);
}
