问答题编写函数fun,它的功能是计算下列级数和,和值由函数值返回。例如,当n=10,x=0.3时,函数值为1.349859。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。给定源程序:#include<stdio.h>#include<math.h>doublefun(doublex,intn){}main(){pfintf("%f/n",fun(0.3,10));}
问答题调用随机函数为5×5的矩阵置100以内的整数,输出该矩阵,然后逆置该矩阵,即将第一列的元素放在第一行上,第二列的元素放在第二行上,其他以此类推。
问答题规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:使字符串中尾部的*号不多于n个,若多于n个,则删除多余的*号;若少于或等于n个,则不做任何操作,字符串中间和前面的*号不删除。 例如,字符串中的内容为“****A*BC*DEF*G*******”,若n的值为4,删除后,字符串中的内容应为“****A*BC*DEF*G****”;若n的值为7,则字符串中的内容仍为“****A*BE*DEF*G*******”。n的值在主函数中输入。编写函数时,不得使用C语言提供的字符串函数。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序: #include<stdio.h> void fun(char*a,int n) main() (char s[81];int n; printf("Enfer a spring:/n"); gets(s); printf("Encer n:"); scanf("%d", fun(s,n); printf("The string after deleted:/n"); puts(s);
问答题给定程序MODI1.C中函数fun的功能是:将p所指字符串中的所有字符复制到b中,要求每复制三个字符之后插入一个空格。
例如,在调用fun函数之前给a输入字符串:
ABCDEFGHIJK,调用函数之后,字符数组b中的内容则为:ABC DEF GHI JK。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
#include
void fun(char *p,char *b)
{ int i,k=0;
while ( *p)
b [ k] =p;
k++;p++;i++;
}
if(*p)
{
/**********found**********/
b[k++]=" ";
}
}
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") ;
}
问答题printf("/n");
问答题请编写一个函数void fun(cbara [], charb [], int n),其功能是:删除一个字符申中指定下标的字符。其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n中存放指定的下标。
例如,输入一个字符串world,然后输入3,则调用该函数后的结果为word。
注意:部分源程序给出如下。
请勿改动主函数main 和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
# include <stdio.h>
# include <conio.h>
# define LEN 20
void fun (char a[], char b [], int n)
{
}
main ()
{
char str1 [LEN], str2 [LEN];
int n ;
clrscr ();
printf ("Enter the string : /n") ;
gets (str1) ;
printf ("Enter the position of the string
deleted: ");
scanf ("%d",
fun (str1, str2, n) ;
printf ("The new string is : %s /n",
str2) ;
}
问答题编写函数fun,其功能是:比较字符串的长度,不得使用C语言提供的求字符串长度的函数,函数返回较长的字符串。若两个字符长度相同,则返回第一个字符串。
例如,输入“beijing”<CR>“shanghai”<CR>(<CR>为Enter键),函数将返回“shanghai”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
char *fun(char *s, char *t)
{
}
void main()
{
char a[20], b[10], *p, *q;
printf("Input 1th string:");
gets(a);
printf("Input 2th string:");
gets(b);
printf("%s", fun(a, b));
}
问答题编写—个函数,其功能是:从传入的num个字符中找出最长的一个字符串,并通过形参指针max传回该串地址(用****作为结束输入的标识)。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:1 #include<conio.h>2 #include<stdio.h>3 #include<string.h>4 #include<stdlib.h>5 char*fun(char(*a)[81],int num,char * max)6 {78 }9 void main()10 {11 FILE*wf;12 char ss[10][81],*ps=NULL;13 char s[3][81]={"abcd","deg","diegns"),*P=NULL;14 int i=0,n;15 system("CLS");16 printf("输入若干个字符串:");17 gets(ss[i]);18 puts(ss[i]);19 while(!strcmp(ss[i],"****")==0)/*用4个星号作为结束输入的标志*/20 {21 i++;22 gets(SS[i]);23 puts(SS[i]);24 }25 n=i;26 ps=fun(ss,n,ps);27 printf("\nmax=%s\n",ps);28 /*****************/29 wf=fopen("out.dat","w“);30 P=fun(s,3,p);31 fprintf(wf,"%s",P);32 fclose(wf);33 /******************/34 }
问答题下列给定程序中,函数fun的功能是:根据整型参数m,计算如下公式的值。例如,若m=2000,则应输出0.000160。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:1#include<stcllib.h>2#inclucle<conio.h>3#include<stdio.h>4/*********found*********/5fun(intm)6{doubley=0,d;7inti;8/*********found*********/9for(i=100,i<=m,i+=100)10{d=(double)i*(double)i;11y+=1.0/d;12}13return(y);14}15voidmain()16{intn=2000;17system("CLS");18printf("\nTheresultis%1f\n",fun(n));19}
问答题函数proc()的功能是:求输入的两个整数中较小的数。
例如,若输入:“20,10”,则输出结果为“min is 10”。
请修改proc()程序中的错误,使它能得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<stdio.h>
#include<conio.h>
//****found****
int proc(int x, y)
{
int z;
z=x<y?x:y;
return(z);
}
void main()
{
int a, b, c;
printf("please input two integer:/n");
scanf("%d, %d",
c=proc(a, b);
printf("min is%d/n", c);
}
问答题请编写函数fun,其功能是:计算并输出下列多项式的值。例如,在主函数中从键盘给n输入50后,输出为S=1.718282。注意:要求n的值在大于1但不大于100之间。部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:#include<stdio.h>doublefun(intn){}main(){intn;doubles;printf("Inputn:");scanf("%d",s=fun(n);printf("S=%f",s);}
问答题编写一个函数fun(),其功能是求出1到~之间(含m)能被7或11整除的所有整数,放在数组a中,然后通过n返回这些数的个数。例如,若传送给m的值为50,则程序输出: 7 11 14 21 22 28 33 35 42 44 49 #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==O)printf("/n"); else printf("%4d",aa[k]); printf("/n"); NONO();
问答题已知一个数列从第0项开始的前三项分别为0,0,1,以后的各项都是其相邻的前三项之和。给定程序MODI1.C中函数fun的功能是:计算并输出该数列前n项的平方根之和。n的值通过形参传入。
例如,当n=10时,程序的输出结果应为:23.197745。
请改正程序中的错误,使程序能输出正确的结果。
注意:不要改动mam函数,不得增行或删行,也不得更改程序的结构!
#include
#include
fun (int n)
{ double sum. s0,s1,s2,s; int k;
sum = 1.0;
if (n <= 2) sum = 0.0;
s0= 0.0; sl= 0.0; s2 =1.0;
{s = s0 + s1 + s2;
sum += sqrt (s);
s0 = s1; s1 = s2; s2 = s;
}
/************found************/
return sum
}
main ()
{ int n;
printf ("Input N=") ;
scanf ( " %d", &n) ;
printf ("%f/n", fun (n))
}
问答题下列给定程序中,函数fun的功能是计算如下公式:直到,并且把计算结果作为函数值返回。请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。注意:部分源程序给出如下。不得增行或删行,也不得更改程序的结构!试题程序:#include<stdio.h>doublefun(doublee)inti,k;doubles,t,x;s=0;k=1;i=2;/**********found**********/x=(1)/4;/**********found**********/while(x(2)e)s=s+k*x;k=k*(-1);t=2*i;/**********found**********/x=(3)/(t*t);i++;returns;main()doublee=1e-3;printf("/nTheresultis:%f/n",fun(e));
问答题学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,其功能是:把低于平均分的学生数 据放入b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序:#include < stdio.h >#define N 8typedef struct{ char FILIm[10]; double s;}STREC;double fun(STREC *a,STREC *b,int*n){}void main(){ STREC s[N]={{"GA05",85),{"GA03",76},{"GA02",69},{"GA04",85},{"GA01",91),{"GA07",72),{"GA08",64},{"GA06",87}}; STREC h[N]; int i,n; double ave; ave=fun(s,h,&n); printf("The%d student datawhich is lower than%7.3f:/n",n,ave); for(i=0;i < n;i++) /*输出成绩低于平均值的学生记录*/ printf("%s%4.1f/n",h[i].num,h[i].s); printf("/n");}
问答题给定程序中,函数fun的功能是建立一个N×N的矩阵。矩阵元素的构成规律是:最外层元素的值全部为1;从外向内第2层元素的值全部为2:第3层元素的值全部为3,…依次类推。例如,若N=5,生成的矩阵为:
1 1 1 1 1
1 2 2 2 1
1 2 3 2 1
1 2 2 2 1
1 1 1 1 1
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在
下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include <stdio.h>
#define N 7
/**********found**********/
void fun(int(*a)______)
{int i, j, k, m;
if(N%2==0) m=N/2;
else m=N/2+1;
for(i=0; i<m; i++) {
/**********found**********/
for(j=______; j<N-i; j++)
a[i][j]=a[N-i-1][j]=i+1;
for(k=i+1; k<N-i; k++)
/**********found**********/
a[k][i]=a[k][N-i-1]=______;
}
}
main()
{int x [N][N]={0}, i, j;
fun(x);
printf("/nThe result is:/n");
for(i=0; i<N; i++)
{ for(j=0; j<N; j++) printf("%3d", x[i][j]);
printf("/n");
}
}
问答题下列给定程序中函数fun的功能 是:计算正整数num各位上的数字之积。 例如,若输入252,则输出应该是20。若输入202,则输出应该是0。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序:#2nclude < stdio.h >#include < conio.h >long fun(long num){/*********found*********/ long k; do { k*=num%10;/*********found*********/ num/=10; }while(num); return(k);}main(){ long n; printf("/n please enter anumber:"); scanf("%ld",&n); printf("/n%id/n",fun(n));}
问答题请编写fun()函数,其功能是:计算并输出3~m所有素数的平方根之和。
例如,若主函数从键盘给m输入50后,则输出为s=63.665791。
注意:m的值要大于2但不大于100。部分源程序给出如下。
请勿改动main()函数与其他函数中的任何内容,仅在函数fun()的花括号中填入所编写的若干语句。
试题程序:
#include<math.h>
#include<stdio.h>
double fun(int m)
{
}
void main()
{
int m;
double s;
FILE*out;
printf("/n/nInput m: ");
scanf("%d",
s=fun(m);
printf("/n/ns=%f/n/n", s);
out=fopen("outfile.dat", "w");
for(m=0; m<10; m++)
fprintf(out, "%f/n", fun(m+80));
fclose(out);
}
问答题编写函数fun,其功能是:实现B=A+A',即将矩阵A加上A的转置,存放在矩阵B中。计算结果在main函数中输出。例如,输入下面的矩阵:1 2 3 4 5 67 8 9其转置矩阵为:1 4 72 5 83 6 9程序输出:2 6 106 10 1410 14 18注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:#include<stdio.h>#include<conio.h>#include<stdlib.h>void fun(int a[3][3],int b[3][3]){}void main(){ int a[3][3]=({1,2,3},{4,5,6},{7,8,9)),t[3][3]; int i,j; system("CLS"); fun(a,t); for(i=0;i<3;i++) { for(j=0,j<3;j++) printf("%7d",t[i][j]); printf("\n"); }}
问答题下列给定程序中,函数proc()的功能是:计算S=f(-n)+f(-n+1)+…+f(0)+f(1)+f(2)+…+f(n)的值。例如,当n为10时,函数值应为22.550361。f(x)函数定义如下:请修改程序中的错误,使它能得出正确的结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:#include<stdlib.h>#include<conio.h>#include<stdio.h>#include<math.h>//****found****f(doublex){if(x==0.0||x==2.0)retHrn0.0;elseif(x<0.0)return(x-1)/(x-2);elsereturn(x+1)/(x-2);}doubleproc(intn){inti,j;doubles=0.0,y;if(n<0){i=n;j=-n;}else{i=-n;j=n;}for(;i<=j;i++){y=f(1.0*i);s+=y;}//****found****returns}voidmain(){system("CLS");printf("%f/n",proc(10));}
