问答题编写函数fun,其功能是:从字符串中删除指定的字符。同字母的大、小写按不同字符处理。 例如,若程序执行时输入字符串为: "turbo C and borland c++" 从键盘上输入字符n,则输出为: "turbo c ad borlad c++" 如果输入的字符在字符串中不存在,则字符串照原样输出。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序: #include<stdio.h> void fun(char s[],int c) main() static char str[]="turbo c and borland c++"; char oh; printf("原始字符串:%s/n",str); printf("输入一个字符:/n"); scanf("%c",&ch); fun(str,ch); printf("str[]=%sin",str); strcpy(str,"turbo c and borland c++"); fun(str,'a');
问答题给定程序MODI1.C中函数fun的功能是:从N个字符串中找出最长的那个串,并将其地址作为函数值返回。各字符串在主函数中输入,并放入一个字符串数组中。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
给定源程序:
#include
#include
#define N 5
#define M 81
/**********found**********/
fun(char (*sq)[M])
{ int i; char *sp;
sp=sq[0];
for(i=0;i
if(strlen( sp)
sp=sq[i] ;
/**********found**********/
return sq;
}
main()
{ char str[N][M], *longest; int i;
printf("Enter %d lines :/n",N);
for(i=0; i
printf("/nThe N string :/n",N);
for(i=0; i
longest=fun(str);
printf("/nThe longest string :/n"); puts(longest);
}
问答题
给定程序MODI1.C中函数fun的功能是:计算并输出high以内最大的10个素数之和。high的值由主函数传给fun函数。
若high的值为:100,则函数的值为:732。
请改正程序中的错误,使程序能输出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得覃改程序的结构!
#include<stdio.h>
#include<math.h>
int fun(int high)
{int sum=0, n=0, j, yes;
/**********found**********/
while((high>=2)
for(j=2; j<=high/2; j++)
if(high%j==0){
/**********found**********/
yes=0; break
}
if(yes){sum+=high; n++;}
high--;
}
return sum;
}
main()
{
printf("%d/n", fun(100));
}
问答题请编一个函数void fun(int tt[M][N ], int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。二维数组中的数已在主函数中赋予。
注意: 部分源程序存在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include
#define M 3
#define N 4
void fun ( int tt[M][N], int pp[N] )
{
}
main( )
{ int t [ M ][ N ]={{22,45, 56,30},
{19,33, 45,38},
{20,22, 66,40}};
int p [ N ], i, j, k;
printf ( "The original data is : /n" );
for( i=0; i
for( j=0; j
printf ( "m", t[i][j] );
printf("/n");
}
fun ( t, p );
printf( "/nThe result is:/n" );
for ( k = 0; k < N; k++ ) printf ( " M ", p[ k ] );
printf("/n");
NONO( );
}
问答题请编一个函数fun(char*str),该函数的功能是把字符串中的内容逆置。 例如,字符串中原有的字符串为asdfg,则调用该函数后,串中的内容为gfdsa。 请勿改动主函数rllain和其他函数中的任何内容,仅在函数proc的花括号中填入所编写的若干语句。 试题程序: #include<string.h> #include<conio.h> #include<stdio.h> #define N 100 void fun(char*str) char a[N]; FILE*out; printf("Enter a string:"); gets(a); printf("The original string is:"); puts(a); fun(a); main() printf("The string after modified:"); puts(a); strcpy(a,"Welcome!"); fun(a); out=fopen("outfile.dat","w"); fprintf(out,"%s",a); fclose(out);
问答题请编写函数fun(),对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按ASCII码值升序排列。
例如:原来的字符串为BdsihAd,则排序后输出为 BAdhisd。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include <stdio.h>
#include <ctype.h>
#include <conio.h>
int fun(char*s,int num)
{
}
main()
{
char s[10];
clrscr();
printf("输入7个字符的字符串:");
gets(s);
fun(s,7);
printf("/n%s",s);
}
问答题请编写一个函数proc(),它的功能是:根据以下公式求π的值(要求满足精度0.0005,即某项小于0.005时停止迭代)。
π/2=1+1/3+1*2/(3*5)+1*2*3/(3*5*7)+1*2*3*4/(3*5*7*9)+…+1*2*3*…*n/(3*5*7*…*(2n+1))
程序运行后,如果输入精度0.0005,则程序输出3.140578。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
试题程序:
#include<conio.h>
#include<stdio.h>
#include<math.h>
double proc(double eps)
{
}
void main()
{
double s;
printf("/nPlease enter a precision:");
scanf("%1f",
printf("/nPi=%1f/n",proc(s));
}
问答题函数fun的功能是:计算
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
#include
double fun(double x)
{ double f, t; int n;
f = 1.0 + x;
/**********found**********/
t = ___1___;
n = 1;
do {
n++;
/**********found**********/
t *= (-1.0)*x/___2___;
f += t;
}
/**********found**********/
while (___3___ >= 1e-6);
return f;
}
main()
{ double x, y;
x=2.5;
y = fun(x);
printf("/nThe result is :/n");
printf("x=%-12.6f y=%-12.6f/n", x, y);
}
问答题下列给定程序中,函数fun的功能是:把形参a所指数组中的奇数按原顺序依次存放到a[0]、a[1]、a[2]…中,把偶数从数组中删除,奇数个数通过函数值返回。
例如,若a所指数组中的数据最初排列为:9,1, 4,2,3,6,5,8,7,删除偶数后,a所指数组中的数据为:9,1,3,5,7,返回值为5。
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include < stdio.h >
#define N 9
int fun(int a[],int n)
{ int i,j;
j=0;
for(i=0;i < n;i++)
/*********found*********/
if(a[i]%2==
【1】
)
{
/*********found*********/
a[j]=a[i];
【2】
;
}
/*********found*********/
return
【3】
;
}
main()
{int b[N]={9,1,4,2,3,6,5,8,7},i,n;
print f("/nThe original data:/n");
for(i=0;i < N;i++)
printf("%4 d",b[i]);
printf("/n");
n=fun(b,N);
printf("/nThe number of odd:%
d/n",n);
printf("/nThe odd number:n");
for(i=0;i < n;i++)
printf("%4 d",b[i]);
printf("/n");
}
问答题已知一个数列从第0项开始的前三项分别为0,0,1,以后的各项都是其相邻的前三项之和。给定程序MODI1.C中函数fun的功能是:计算并输出该数列前n项的平方根之和。n的值通过形参传入。
例如,当n=10时,程序的输出结果应为:23.197745。
请改正程序中的错误,使程序能输出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
#include
/************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
}
main ( )
{ int n;
printf("Input N=");
scanf("%d",
printf("%f/n", fun(n) );
}
问答题请编写一个函数fun,它的功能是:求出一个2×M整型二维数组中最大元素的值,并将此值返回到调用函数。
注意:部分源程序保存在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入编写的若干语句。
给定源程序:
#include <stdio.h>
#define M 4
int fun(int a[][M])
{
}
main()
{ int arr[2][M]={5,8,3,45,76,-4,12,82);
printf("max=%d/n",fun(arr));
}
问答题请编写函数fun,函数的功能是求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。
例如:二维数组中的值为:
1 3 5 7 9
2 9 9 9 4
6 9 9 9 8
1 3 5 7 0
则函数值为61。
注意:部分源程序存在文件PROG1.C文件中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#define M 4
#define N 5
int fun (int a[M] [N])
{
}
main()
{ int aa[M][N]={{1,3,5,7,9},{2,9,
9,9,4),{6,9,9,9,8},{1,3,5,7,0}};
int i,j,y;void NONO ();
printf ("The original data is :
/n");
for (i=0; i
问答题
给定程序MODI1.C中函数fun的功能是:将p所指字符串中的所有字符复制到b中,要求每复制三个字符之后插入一个空格。
例如,在调用fun函数之前给a输入字符串:ABCDEFGHIJK,调用函数之后,字符数组b中的内容则为:ABCDEFGHIJK。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
#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");
}
问答题
问答题编写一个函数,从传入的M个字符中找出最长的一个字符串,并通过形参指针max传回该串地址(用****作为结束输入的标志)。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
试题程序:
#include<stdio.h>
#include<string.h>
#include<conio.h>
char*proc(char(*a)[81],int num)
{
}
void main()
{
char ss[10][81],*max;
int n,i=0;
printf("输入若干个字符串:");
gets(ss[i]);
puts(ss[i]);
while(!strcmp(ss[i],"****")==0)
{
i++;
gets(ss[i]);
puts(ss[i]);
n=i;
max=proc(ss,n);
printf("/nmax=%s/n",max);
}
问答题某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出,请编写函数fun,其功能是:求出该学生的平均分,并放入记录的ave成员中。 例如,学生的成绩是:85.5,76,69.5,85,91,72,64.5,87.5,则他的平均分应为78.875。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun部位中填入你编写的若干语句。 试题程序:#incl ude < stdio.h >#define N 8typectef struct{ char num[1 ]; double s[N]; double ave; } STREC, void fun(STREC*a) { } void main() { STREC S={"GA005",85.5,7 6,69.5,85 ,91, 72 ,64.5 r 87.5}; int i; fun(&s); printf("The%s's student data:/n",s.num); for(i=0;i < N;i++) printf("%4.1 f/n",s.s[i]); printf("knave=%7.3f/n",s.ave);}
问答题请编写函数fun,函数的功能是:判断字符串是否为回文?若是,函数返回1,主函数中输出:YES;否则返回0,主函数中输出NO。回文是指顺读和倒读都一样的字符串。 例如,字符串LEVEL是回文,而字符串123312就不是回文。 注意:部分源程序在文件PROGl.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。1 #include<stdio.h>2 #include<string.h>3 #define N 804 int fun(char *str)5 {6 }7 main()8 { char s [N];void NONO();9 printf(''Enter a string:'');gets(s);10 printf(''\n\n'');puts(s);11 if(fun(s))printf(''YES\n'');12 else printf(''NO\n'');13 NONO();}14 void NONO()15 {/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。 */16 FILE *rf,*wf ;17 int i;char s [N];18 rf=fopen(''in.dat'',''r'');19 wf=fopen(''out.dat'','w'');20 for(i=0;i<10;i++) {21 fscanf(rf,''%s'',s);22 if(fun(s)) fprintf(wf,''%s YES\n'',s);23 else fprintf(wf,''%s NO\n'',s);24 }25 fclose(rf);fclose(wf);}
问答题规定输入的字符串中只包含字母和*号。编写函数fun,其功能是:删除字符串中所有的*号。编写函数时,不得使用C语言提供的字符串函数。 例如,字符串中的内容为“****A*BC*DEF*G*******”,删除后,字符串中的内容应当是 “ABCDEFG”。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:#include < conio.h >#include < stdio.h >void fun(char*a){}void main(){ char s[81]; print:f("Enter a string:n"); gets(s); fun(s); print:f("The string after deleted:/n"); puts(s);}
问答题下列给定程序中函数fun的功能是:用冒泡法对6个字符串进行升序排列。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!#include<stdio.h>#include<string.h>#define MAXLINE20fun(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;}}}}main(){int i;char*pstr[6],str[6][MAXLINE];for(i=0;i<6;i++)pstr[i]=str[i];printf("\nEnter6string(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,其功能是:计算n门课程的平均分,结果作为函数值返回。 例如,若有5门课程的成绩是:90.5,72,80,61.5,55,则函数的值为71.80。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序:#include < stdio.h >float fun(float*a,int n){}void main(){ float score[30]={90.5,72,8 0,61.5,55},aver; aVer=fun(score,5); printf("/nAverage scoeeis:%5.2 f/n",aver);}