问答题请编一个函数float fun (double h),函数的功能是对变量h中的值保留两位小数,并对第三位进行四舍五入(规定h中的值为正数)。
例如:若h值为8.32433,则函数返回8.32:若h值为 8.32533,则函数返回8.33。
注意:部分源程序给出如下。
请勿改动主函数main 和其他函数中的任何内容,仅在函数。fun 的花括号中填入所编写的若干语句。
试题程序:
#include <stdio. h>
#include <conio. h>
float fun (float h )
{
}
main()
{
float a;
clrscr ();
printf ("Enter a: ");
scanf ("%f",
printf("The original data is : ");
printf("%f/n/n", a) ;
printf("The result: %f/n", fun(a) );
}
问答题请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。
例如,输入beijing<CR>shanghai<CR>(<CR>为回车键),函数将返回shanghai。
注意:部分源程序存在文件PROG1. C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include <stdio. h>
char *fun (char *s, char *t)
{
}
main( )
{ char a[20], b[20];
void NONO( );
printf("Input 1th string: ");
gets(a);
printf("Input 2th string: ");
gets(b);
printf("%s/n", fun(a, b));
NONO( );
}
void NONO( )
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
FILE *fp, *wf;
int i;
char a[20], b[20];
fp=fopen("in. dat", "r");
wf=fopen("out. dat", "w");
for(i=0; i<10, i++) {
fscanf(fp, "%s%s", a, b);
fprintf(wf, "%s/n", fun(a, b));
}
fclose(fp);
fclose(wf);
}
问答题请在函数fun()的横线上填写若干表达式,使从键盘上输入一个整数n,输出n对应的斐波那契数列。斐波那契数列是一整数数列,该数列自第三项开始,每数等于前面两数之和,即0,1,1,2,3,5,8,13,21,34,55,…。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
int fun(int n);
main()
{
int i,n=0;
scanf("%d",
for(i=0;i<n; i++)
printf("%d",fun(i));
}
int fun(int n)
{
if({{U}} 【1】 {{/U}})
return 0;
else
if({{U}} 【2】 {{/U}})
return 1;
else
return {{U}}【3】 {{/U}};
}
问答题给定程序MODI1.C中函数fun的功能是:
将s所指字符串中位于奇数位置的字符或ASCII码为偶数的字符放入t所指数组中(规定第一个字符放在第0位中)。
例如,字符串中的数据为:AABBCCDDEEFF,则输出应当是:ABBCDDEFF。
请改正函数fun中指定部位的错误,使它能得出正确的结果。
注意:不要改动maln函数,不得增行或删行,也不得更改程序的结构!
#include
#include
#define N 80
void fun(char *'s,char t[])
{ int i,j=0;
for (i=0; 1< (int) strlen (s) ; i++)
if (i%2 && S [1] %2==0)
}
main ()
{ char s [N] , t [N] ;
printf ("/nPlease enter string
fun (s, t) ;
printf("/nThe result is : oos/n",t) ;
}
问答题编写函数fun,其功能是:将s所指字符串中ASCII码值为奇数的字符删除,剩余字符形成的新串放在t所指数组中。例如,若s所指字符串中的内容为“ABCDEFG12345”,其中字符A的ASCII码值为奇数,字符1的ASCII码值也为奇数,都应当删除,其他依此类推。最后t所指的数组中的内容应是“BDF24”。注意:部分源程序给出如下。请勿改动主函数nmin和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:#include<conio.h>#include<stdio.h>#include<string.h>void fun(char*s,char t[]){}main(){ char s[100],t[100],Msg[]="Please enter string s:"; printf(Msg); Scanf("%s",s); fun(s,t); printf("\nThe resuit is:%s\n",t);}
问答题给定程序中,函数fun的功能是:有N×N矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为0。例如,若N=3,有下列矩阵: 1 2 3 计算结果为 1 0 0 4 5 6 6 5 0 7 8 9 10 14 9 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构11 #include<stdio.h>2 #define N 43 /**********found**********/4 void fun(int(*t)__1__)5 { int i,j;6 for(i=1 ; i<N;i++)7 ( for(j=0;j<i;j++)8 {9 /**********found**********/10 __2___=t[i][j]+t[j][i];11 /**********found**********/12 __3__=0;13 }14 }15 }16 main()17 {int t[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10},i,j;18 printf(''\nThe originalarray:\n'');19 for(i=0;i<N;i++)20 {for(j=0;j<N;j++) printf(''%2d'',t[i][j]);21 printf(''\n'');22 }23 fun(t);24 printf(''\nThe result is:\n'');25 for(i=0; i<N;i++)26 { for(j=0 ; j<N;j++)printf(''%2d'',t[i][j]);27 printf(''\n'');28 }29 }
问答题给定程序中,函数fun的功能是:计算下式前n项的和作为函数值返回。 例如,当形参n的值为10时,函数返回:-0.204491。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构! #include<stdio.h> double fun(int n) {int i,k;double s,t; s=0; /**********found**********/ k=__1__; for(i=1;i<=n;i++){ /**********found**********/ t=__2__; s=s+k*(2*i—1)*(2*i+1)/(t*t); /**********found**********/ k=k*__3__:} return s;} main() { int n=-1; while(n<0) {printf("Please input(n>0):"); scanf("%d",&n);} printf("\n The result is:%f\n",fhn(n));}
问答题给定程序MODI1.C中函数fun的功能是: 先从键盘上输入一个3行3列矩阵的各个元素的值, 然后输出主对角线元素之和。
请改正函数fun中的错误或在横线处填上适当的内容并把横线删除,使它能得出正确的结果。
注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
int fun()
{
int a[3][3],sum;
int i,j;
/*********found**********/
______;
for (i=0;i<3;i++)
{ for (j=0;j<3;j++)
/*********found**********/
scanf("%d",a[i][j]);
}
for (i=0;i<3;i++)
sum=sum+a[i][i];
printf("Sum=%d/n",sum);
}
main()
{
fun();
}
问答题给定程序中,函数fun的功能是:将形参s所指字符串中所有ASCII码值小于97的字符存入形参t所指字符数组中,形成一个新串,并统计出符合条件的字符个数作为函数值返回。
例如,形参s所指的字符串为:Abe@1x56*,程序执行后t所指字符数组中的字符串应为:A@156*。
注意:部分源程序在文件BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
int fun(char*S,char*t)
{int n=0;
while(*s)
{ if(*s<97){
/*********found*********/
*(t+n)=
【1】
;n++;}
/*********found*********/
【2】
;
}
*(t+n)=0;
/*********found*********/
return
【3】
;
}
main()
{char s[81],t[81];int n ;
printf("\nEnter a string:\n");
gets(s);
n=fun(s,t);
printf("\nTher are% d letter which ASCII code is less than 97:%s\n",n,t);
}
问答题下列给定程序中函数fun的功能是:用冒泡法对6个字符串进行升序排列。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODII.C中,不得增行或删行,也不得更改程序的结构! #include<stdio.h> #include<string.h> #define MAXLINE 20 fun(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(“\nEnter 6 string(1 string 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*BC*DEF*G*******,删除后,字符串中的内容则应当是A*BC*DEF*G*******。 注意:部分源程序给出如下。 请勿改动主函数main 和其他函数中的任何内容,仅在函数fun 的花括号中填入所编写的若干语句。 试题程序; #include <stdio. h> #include <conio. h> void fun (char *a) main() char s[81]; printf("Enter a string :/n"); gets (s); fun (s); printf ("The string after deleted: /n"); puts (s);
问答题给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用-1作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和WriteText实现。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 #include<string.h>3 #include<stdlib.h>4 void WriteText(FILE *);5 void ReadText(FTLE *);6 main()7 { FILE *fp;8 if((fp=fopen(''myfile4.txt'',''w''))==NULL)9 {printf(''open fail!!\n'');exit(0);}10 WriteText(fp);11 fclose(fp);12 if((fp=fopen(''myfile4.txt'',''r''))==NULL)13 {printf(''open fail!!\n'');exit(0);}14 ReadText(fp);15 fclose(fp);16 }17 /**********found**********/18 void WriteText(FTLE __1__ )19 { char str[81];20 printf(''\nEnter string with-1 to end:\n'');21 gets(sir);22 while(strcmp(str,''-1'')!=0){23 /**********found**********/24 fputs(__2__,fw);fputs(''\n'',fw);25 gets(str);26 }27 }28 void ReadText(FILE *fr)29 { char str[81];30 printf(''\nRead file and output to screen:\n'');31 fgets(str,81,fr);32 while(!feof(fr)) {33 /**********found**********/34 printf(''%s'',__3__);35 fgets(str,81,fr);36 }37 }
问答题请编写函数fun,其功能是:移动字符串中的内容,移动的规则是把第1~m个字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的前部。
例如,字符串中原有的内容为“ABCDEFGHIJK”,m的值为3,移动后,字符串中的内容应该是“DEFGHIJKABC”。
注意
:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
#include<string.h>
#define N 80
void fun(char *w,int m)
{
}
void main()
{
char a[N]="ABCDEFGHIJK";
int m;
printf("The origina string:/n");
puts(a);
printf("/n/nEnter m:");
scanf("%d",
fun(a,m);
printf("/nThe string after moving:/n");
puts(a);
printf("/n/n");
}
问答题下列程序定义了M×M的二维数组,并在主函数中自动赋值。请编写函数proc(int arr[][M]),该函数的功能是使数组右上半三角元素中的值全部置成0。例如a数组中的值为:
arr=1 2 3
4 5 6
7 8 9,
则返回主程序后a数组中的值应为:
arr=0 0 0
4 0 0
7 8 0
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
试题程序:
#include<conio.h>
#include<stdio.h>
#inciude<stdlib.h>
#include<time.h>
#define M 5
void proc(int arr[][M])
{
}
void main()
{
int arr[M][M], i, j;
srand((unsigned)time(NULL));
system("CLS");
printf("****The array****/n");
for(i=0; i<M; i++)
//产生一个随机的5*5矩阵
{
for(j=0; j<M; j++)
{
arr[i][j]=rand()%10;
printf("%4d", arr[i][j]);
}
printf("n");
}
proc(arr);
printf("THE RESULT/n");
for(i=0; i<M; i++)
{
for(j=0; j<M; j++)
printf("%4d", arr[i][j]);
printf("/n");
}
}
问答题下列给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指的变量中。ss所指字符串数组中共有M个字符串,且串长小于N。 请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #include <stdio.h> #include < string.h > #define M 5 #define N 20 int fun(char (* ss)[N], int * n) int i, k=0, len=N; /********** found********** / for(i=0; i< (1) ; i++) len=strlen (ss[ i]); if(i==0) * n=fen; /********** found*********** / iffen (2) * n) * n=len; k=i; /********** found********** / return ( (3) ); main () char ss[M] [N]="shanghai", "guangzhou", "beijing", "tianjing", "chongqing" ; int n, k, i; printf (" /nThe original strings are :/n"); for (i=0; i<M; i++)puts (ss[i]); k=fun (ss, printf ("/nThe length of shortest string is : % d/n", n); printf ("/nThe shortest string is : % s/n", ss[k]);
问答题下列给定程序中,函数fun()的作用是,将字符串tt中的大写字母都改为对应的小写字母,其他字符不变。例如,若输入"Ab,cD",则输出"ab, cd"。 请改正函数fun()中的错误,使它能得出正确的结果。 注童:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include <stdio.h> #include <string.h> #include <conio.h> char *fun (char tt[]) int i; for(i=0; tt[i]; i++) /**************found**************/ if(('A' <=tt[i]||(tt[i]<='z' )) tt[i]+=32; return(tt); main() int i; char tt[81]; clrscr(); printf("/nPlease enter a string:"); gets(tt); printf("/nThe result string is:/n %s", fun(tt));
问答题给定程序MODI1.C中函数fun的功能是:计算并输出high以内最大的10个素数之和。high的值由主函数传给fun函数。
若high的值为:100,则函数的值为:732。
请改正程序中的错误,使程序能输出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
#include
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));
}
问答题请编写函数fun,函数的功能是查找x在s所指数组中下标的位置,并作为函数值返回,若x不存在,则返回-1。注意:部分源程序在文件PROG1.C文件中,请勿改动主函数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("%4 d",a[i]);printf("\n"); printf("给x输入待查找的数:"); scanf("%d",&x); 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",&a[j]); } fscanf(fp,"%d",&x); index=fun(a,x); fprintf(wf,"%d\n",index); } fclose(fp); fclose(wf); }
问答题下列给定程序中,函数fun的功能是:将s所指字符串中的字母转换为按字母序列的后续字母(如“Z”转化为“A”,“z”转化为“a”),其他字符不变。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序:{}include < stcllib.h >#include < stctio.h >#include < ctype.h >#include < conio.h >void fun(char*s){/*********found*********/ while(=*s!='@') { if(*s >='A'&&*s < ='Z'||*s >='a'&&*s < ='z') { if(*s=='z')*s='A'; else if(*s='z')*s='a'; else *s+=1; }/*********found*********/ (*s)++; }}void main(){ char s[80]; system("CLS"); printf("/n Enter a string withlength < 80:/n/n"); gets(s); printf("/n The string:/n/n"); putS(s); fun(s); printf("/n/n The Cords:/n/n"); puts(s);}
问答题请编写函数fun,其功能是:计算并输出下列多项式的值。例如,当n=10时,函数值为0.909091。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:#include<conio.h>#include<stdio.h>#include<stdlib.h>doublefun(intn){}voidmain(){FILE*wf;system("CLS");printf("%f\n",fun(10));/******************/wf=fopen("out.dat","w");fprintf(wf,"%f",fun(10));fclose(wf);/******************/}
