问答题给定程序中,函数fun的功能是:将NxN矩阵主对角线元素中的值与反向对角线对应位置上元素中的值进行交换。例如,若N=3,有下列矩阵:
1 2 3
4 5 6
7 8 9
交换后为:
3 2 1
4 5 6
9 8 7
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include
#define N 4
/********** found**********/
void fun (int【1】, int n)
{ int i,s;
/********** found**********/
for(【2】; i++)
{ s=t[i][i];
t[i] [i]=t[i] [n-i-1];
/*******found**********/
t[i] [n-l-i]=【3】;
}
}
main ()
{int t[][N]={21,12,13,24,25,
16,47,38,29,11,32,54,42,
21,33,10},i,j;
printf("/nThe original
array:/n");
for(i=0; i
问答题下列给定程序中函数fun的功能是:将m(1≤m≤10)个字符串连接起来,组成一个新串,放入pt所指存储区中。例如:把三个串“abc”、“CD”、“EF”连接起来,结果是“abcCDEF”。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include <stdio.h>
#include <string.h>
void fun( char str[][10],int m, char *pt)
{
/************found************/
Int k, q, i;
for( k=0; k<m; k++)
{q = strlen ( str[k] );
for (i=0; i<q; i++)
/************found************/
pt[i] = str[k,i];
pt += q;
pt[0] = 0;
}
}
main( )
{ int m,h;
char s[10][10], p[120];
printf(“Please enter m:”);
scanf(“%d”, gets(s[0]);
printf(“Please enter%d string:”, m);
for( h = 0; h < m; h++ ) gets( s[h]);
fun(s, m, p);
printf(“The result is: %S”,p);
}
问答题请编写函数fun,其功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入的字符串为“-1234”,则函数把它转换为整数值-1234。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若千语句。
试题程序:
#include<stdio.h>
#include<string.h>
long fun(char*p)
{
}
void main()
{
char s[6];
long n;
printf("Enter a string:/n");
gets(s);
n=fun(s);
printf("%ld/n",n);
}
问答题给定程序中,函数fun的功能是:将形参s所指字符串中所有ASCII码值小于97的字符存入形参t所指字符数组中,形成一个新串,并统计出符合条件的字符个数作为函数值返回。
例如,形参s所指的字符串为:Abc@1x56*,程序执行后t所指字符数组中的字符串应为:A@156*。
请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
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("/nThere are %d letter which ASCII code is less than 97: %s/n",n,t);
}
问答题请编写函数fun,函数的功能是:将大于形参m且紧靠m的k个素数存入xx所指的数组中。例如,若输入17,5,则应输出:19,23,29,31,37。
注意:部分源程序在文件PROG1. C文件中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include <stdio. h>
void fun(int m, int k, int xx[ ])
{
}
Main( )
{
int m, n, zz[1000], void NONO( );
printf("/nplease enter two integers:");
scanf("%d%d",
fun(m, n, zz);
for(m=0; m<n; m++)
printf("%d", zz[m]);
printf("/n");
NONO( );
}
Void NONO( )
{/* 本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/
int m, n, zz[1000], i;
FILE *rf, *wf;
rf=fopen("in. dat", "r");
wf=fopen("out. dat", "w");
for(i=0, i<10; i++) {
fscanf(rf, "%d%d",
fun(m, n, zz);
for(m=0; m<N; m++) fprintf
(wf, "%d", zz [m]);
fprint(wf, "/n");
}
fclose(rf);
fclose(wf);
}
问答题N名学生的成绩已在主函数中放入一个带有头结点的链表结构中,h指向链表的头结点。请编写函数fun,其功能是:找出学生的最高分,并由函数值返回。 注意:部分源程序已给出。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include<stdio.h> #include<stdlib.h> #define N 8 struet slist double s; struct slist*next; ; typedef struct slist STREC; double fun(STREC*h) STREC*creat(double*s) STREC*h,*p,*q; int i=0; h=p=(STREC*)malloc(sizeof(STREC)); p->s=0; while(i<N) /*产生8个结点的链表,各分数存入链表中*/ q=(STREC*)malloc(sizeof(STREC)); p->s=s[i];i++;p->next=q; p=q; p->next=NULL; return h;/*返回链表的首地址*/ void outlist(STREC*h) STREC *p; p=h; printf("head"); do printf("->%2.0f",p->s); p=p->next; /*输出各分数*/ while(p->next!=NULL); printf("/n/n"); void main() double s[N]=85,100,99,85,91,72,64,87,max; STREC*h; h=creat(s); outlist(h); max=fun(h); printf("max=%6.1f/n",max);
问答题函数fun的功能是:将s所指字符串中下标为偶数同时ASCII值为奇数的字符删除,S所指串中剩余的字符形成的新串放在t所指的数组中。 例如,若s所指字符串中的内容为"ABCDEFGl2345",其中字符C的ASCII码值为奇数,在数组中的下标为偶数,因此必须删除;而字符1的ASCII码值为奇数,在数组中的下标为奇数,因此不应当删除,其他依此类推。最后t所指的数组中的内容应是”BDFl2345”。 注意:部分源程序在文件PROG1.C中。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序:#include < stdio.h >#include < string.h >void fun(char*s,char t[]){ }main(){ char s[100],t[100];void NONO(); printf("InPlease enter string s:"); scanf("%s",s); fun(s,t); printf("knThe result is:%s/n",t); NONO();}void NONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/ char s[100],t[100]; FILE * rf,* wf; int i; rf=fopen("in.dat","r"); wf=fopen("out.dat","w"); for(i=0;i < 10;i++){ fscanf(rf,"%s",s); fun(s,t); fprintf(wf,"%s/n",t); } fclose(rf); fclose(wf); }
问答题某学生的记录由学号、8门课成绩和平均分组成,学号和 8门课的成绩已在主函数中给出。请编写fun()函数,它的功能是:求出该学生的平均分放在记录的ave成员中。请自己定义正确的形参。 例如,若学生的成绩是85.5,76,69.5,85,91,72,64.5, 87.5,则他的平均分应当是78.875。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include<stdio.h> #define N 8 typedef struct char num [10]; double s[N]; double ave; STREC; void fun() main() STREC s="GA005",85.5,76,69.5,85,91, 72,64.5,87.5); int i; fun ( i++) printf("%4.1f/n", s.s[i]); /*输出各科成绩*/ printf("/nave=%7.3f/n",s.ave); /*输出平均分*/
问答题给定程序MODI1.C中函数fun的功能是:用递归算法计算斐波拉契数列中第n项的值。从第1项起,斐波拉契数列为:1、1、2、3、5、8、13、21、……
例如,若给n输入7,该项的斐波拉契数值为:13。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
给定源程序:
#include
long fun(int g)
{
/**********found**********/
switch(g);
{ case 0: return 0;
/**********found**********/
case 1 ;case 2 : return 1 ;
}
return( fun(g-1)+fun(g-2) );
}
main()
{ long fib; int n;
printf("Input n: "); scanf("%d", printf("n = %d/n",n);
fib=fun(n);
printf("fib = %d/n/n",fib);
}
问答题下列给定程序中,函数fun的功能是:实现两个整数的交换。例如,给a和b分别输入60和65,输出为:a=65b=60。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:
问答题N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun(),它的功能是:找出学生的最高分,由函数值返回。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include <stdio.h> #include <stdlib.h> #define N 8 struct slist double s; struct slist *next; ; typedef struct slist STREC; double fun(STREC *h) STREC * creat (double *s) STREC *h, *p, *q; int i=0; h=p=(STREC*)malloc(sizeof(STREC)); p->s=0; while(i<N) /*产生8个节点的链表,各分数存入链表中*/ q=(STREC*) malloc(sizeof(STREC)); p->s=s[i]; i++; p->next=q; p=q; p->next=0; return h; /*返回链表的首地址* / outlist (STREC *h) STREC *p; p=h->next; printf("head"); do printf("->%2.0f ",p->s);p=p->next; /*输出各分数* / while (p!=0); printf("/n/n "); main() double s[N]=85,76,69,85,91,72,64,87, max; STREC *h; h=creat(s); outlist(h); max=fun (h); printf("max=%6.1f/n ",max);
问答题编写函数fun,其功能是:根据以下公式求P的值,结果由函数值带回。m与n为两个正整数且要求m>n。例如,m=12,n=8时,运行结果为495.000000。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:#include<stdio.h>floatfun(intm,intn){}main()/*主函数*/{printf("P=%f/n",fun(12,8));}
问答题给定程序MODI1.C中函数fun的功能是:根据整型形参n,计算如下公式的值。
例如,若 n=10,则应输出: 0.617977。
请改正程序中的语法错误,使它能得出正确的结果。
注意:不要改动 main 函数,不得增行或删行,也不得更改程
序的结构!
给定源程序:
#include
/************found************/
int fun ( int n )
{ float A=1; int i;
/************found************/
for (i=2; i
A = 1.0/(1+A);
return A ;
}
main( )
{ int n ;
printf("/nPlease enter n: ") ;
scanf("%d",
printf("A%d=%f/n", n, fun(n) ) ;
}
问答题
给定程序MODI1.C中函数fun的功能是:将tt所指字符串中的小写字母都改为对应的大写字母,其他字符不变。
例如,若输入”Ab,cD”,则输出”AB,CD”。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include <stdio .h>
#include <string.h>
char* fun(char tt[])
{
int i;
for(i=0; tt[i]; i++)
/**********found***********/
if(("a"<=tt[i])||(tt[i]<="z"))
/**********found***********/
tt [i] += 32;
return (tt);
}
main()
{
char tt[81];
printf("/nPlease enter a string:");
gets (tt);
printf("/nThe result string is:/n%s", fun(tt));
}
问答题下列给定的程序中,函数fun的功能是:计算并输出k以内最大的10个能被13或17整除的自然数之和。k的值由主函数传人,若k的值为500,则函数的值为4622。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MOD11.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序:#include < stdio.h >#include < conio.h >#include < atdlib.h >int fun(int k){int m=0,mc=0,j; while((k >=2)&&(mc < 1 0)) {/*********found*********/ if((k%13=0)||(k%17=0)) {ra=m+k;mc++;) k一一j/*********found*********/ return m;}void main(){system("CLS"); printf("%ct/n",fun(5 00));}
问答题假定输入的字符串中只包含字母和*号。请编写函数proc(),它的功能是:删除字符串中所有的*号。在编写函数时,不得使用C语言中提供的字符串函数。
例如,若字符串中的内容为****a*bc*def*g****,删除后,字符串中的内容则应当是abcdefg。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
试题程序:
#include<conio.h>
#include<stdio.h>
void proc(char*a)
{
}
void main()
{
char str[81];
printf("Enter a string: /n");
gets(str);
proc(str);
printf("The string after deleted:/n");
puts(str);
}
问答题某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出。请编写函数fun,它的功能是:求出该学生的平均分放在记录的ave成员中。
例如,学生的成绩是:85.5,76,69.5,85,91,72,64.5,87.5,他的平均分应当是:78.875。
注意: 部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun部位中填入你编写的若干语句。
给定源程序:
#include
#define N 8
typedef struct
{ char num[10];
double s[N];
double ave;
} STREC;
void fun(STREC *a)
{
}
main()
{ STREC s={"GA005",85.5,76,69.5,85,91,72,64.5,87.5};
int i;
fun(
printf("The %s's student data:/n", s.num);
for(i=0;i
printf("%4.1f/n",s.s[i]);
printf("/nave=%7.3f/n",s.ave);
NONO();
}
问答题给定程序MODI1.C中fun函数的功能是: 根据整型形参m,计算如下公式的值。
1 1 1
t = 1 - ----- - ----- - …… - -----
2 3 m
例如,若主函数中输入5,则应输出 -0.283333。
请改正函数fun中的错误或在横线处填上适当的内容并把横线删除, 使它能计算出正确的结果。
注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
double fun( int m )
{
double t = 1.0;
int i;
for( i = 2; i <= m; i++ )
t = 1.0-1 /i;
_______;
}
main()
{
int m ;
printf( "\nPlease enter 1 integer numbers:\n" );
scanf( "%d",
printf( "\n\nThe result is %lf\n", fun( m ) );
}
问答题请编函数fun,其功能是将一个数字字符串转换成与其面值相同的长整型整数。可调用strlen函数求字符串的长度。例如:在键盘输入字符串2345210,函数返回长整型数2345210。
注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun指定的部位填入所编写的若干语句。
试题程序:
#include<stdio.h>
#include<string.h>
void NONO();
long fun(char$s)
{
}
main()
{char s[10];long r;
printf("请输入一个长度不超过9个字符的数字字符串:");
gets(s);
r=fun(s);
printf("r=%ld/n",r);
NONO();
}
void NONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
FTLE*fp,*wf;
int i;long r;
char s[10],*p;
fp=fopen("in.dat","r");
wf=fopen("out.dat","w");
for(i=0;i<10;i++){
fgets(s,10,fp);
p=strchr(s,"/n");
if(p)*p=0;
r=fun(s);
fprintf(wf,"%ld/n",r);
}
fclose(fp);
fclose(wf);
问答题给定程序MODI1.C中函数fun的功能是:将长整型数s中每一位上为偶数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。
例如,当S中的数为87653142时,t中的数为8642。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
#include<stdio.h>
void fun(long s,long *t)
{int d;
long s1=1;
*t=0;
while(s>0)
{d=s%10;
/**********found**********/
if(d%2=0)
{*t=d*s1+*t;
s1*=10;
}
/**********found**********/
s/=10;
}
}
main()
{long s,t;
printf("/nPlease enter s:");scanf("%1d",
fun(s,
printf("The result is:0/1d/n",t);
}