问答题请编写函数,其功能是对传送过来的两个浮点数求出和值与差值,并通过形参传送回调用函数。
问答题规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:除了字符串前导的*号之外,将串中其他*号全部删除。在编写函数时,不得使用C语言提供的字符串函数。
例如,字符串中的内容为:“****A*BC*DEF*G*******”,删除后,字符串中的内容应当是:“****ABCDEFG”。
注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include<stdio.h>
void fun(char*a)
{
}
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("in.dat","r");
out=fopen("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,其功能是:根据以下公式求P的值,结果由函数值带回。m与n为两个正整数且要求m > n。
m!
P = ───
n!(m-n)!
例如:m=12,n=8时,运行结果为495.000000。
注意: 部分源程序在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include
float fun(int m, int n)
{
}
main() /* 主函数 */
{
printf("P=%f/n", fun (12,8));
NONO();
}
问答题
N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。
例如,若学生的成绩是:85,76,69,85,91,72,64,87,则平均分应当是:78.625。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数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)
{ q=(STREC*)malloc(sizeof(STREC));
q->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("->%4.1f",p->s);p=p->next;}
while(p!=0);
printf("/n/n");
}
main()
{ double s[N]={85,76,69,85,91,72,64,87},ave;
void NONO();
STREC *h;
h=creat(s); outlist(h);
ave=fun(h);
printf("ave=%6.3f/n",ave);
NONO();
}
void NONO()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *in,*out;
int i,j;double s[N],ave;
STREC *h;
in=fopen("in.dat","r");
out=fopen("out.dat","w");
for(i=0;i<10;i++) {
for(j=0;j<N;j++) fscanf(in,"%lf,",
h=creat(s);
ave=fun(h);
fprintf(out,"%6.3lf/n",ave);
}
fclose (in);
fclose (out);
}
问答题给定程序MODI1.C中函数fun的功能是:判断一个整数是否是素数,若是返回1,否则返回0。在main函数中,若fun返回1则输出“YES”,若fun返回0则输出“NO!”。
请改正程序中的错误,使该程序能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
给定源程序:
#include <stdio.h>
int fun(int m)
{ int k=2;
while(k<=m
else return 0:
}
main()
{ int n;
printf("/nPlease enter n;"); scanf("%d",
if(fun(n)) printf("YES/n");
else printf("NO!/n");
}
问答题请编写函数void proc (int x,int pp[],int*n),它的功能是:求出能整除x且不是偶数、不为的各整数,并按从大到小的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
例如,若x的值为30,则有3个数符合要求,它们是15,5,3。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
试题程序:
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
void proc(int x,int pp[],int*n)
{
}
void main()
{
int x,arr[1000],n,i;
system("CLS");
printf("/nPlease enter an integer number:/n");
scanf("%d",
proc(x,are,
for(i=n-1;i>=0;i--)
printf("%d",arr[i]);
printf("/n");
}
问答题编写函数fun,其功能是:根据以下公式求百的值(要求精度0.0005,即某项小于0.0005时停止迭代)。程序运行后,若输入精度0.0005,则程序应输出为3.140578。注意:部分源程序给出如下。请勿改动主函数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×N的二维数组,并在主函数中自动赋值。请编写函数fun(inta[][N],intn),函数的功能是:使数组左下三角元素中的值乘以n。例如:若n的值为3,a数组中的值为
问答题下列给定程序中,函数proc()的功能是:求出以下分数序列的前m项之和。
2/1,3/2,5/3,8/5,13/8,21/13,…
和值通过函数值返回main()函数。例如,若m=6,则应输出10.007051。
请修改程序中的错误,使它能得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
//****found****
proc(int n)
{
int a=2, b=1, c, k;
double s=0.0;
for(k=1; k<=n; k++)
{
s=s+1.0*a/b;
//****found****
c=a; a+=b; b+=c;
}
return(s);
}
void main()
{
int m=5;
system("CLS");
printf("/nThe value of function is: %1f/n", proc(m)); }}
问答题请编写函数proc(),其功能是:将str所指字符串中除下标为偶数、同时ASCII码值为奇数的字符外,其余的字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中。例如,若str所指字符串中的内容为ABCDEFG12345,其中字符B的ASCII码值为偶数,所在元素的下标为奇数,因此必须删除;而字符A的ASCII码值为奇数,所在数组中的下标为偶数,因此不应当删除。依次类推,最后t所指的数组中的内容应是ACEG。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的化括号中填入所写的若干语句。
试题程序:
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
void proc(char*str,char t[])
{
}
void main()
char str[100],t[100];
system("CLS");
printf("/nPlease enter string str:");
scanf("%s",str);
proc(str,t);
printf("/nThe result is:%s/n",t);
问答题请编写函数fun,其功能是:判断t所指字符串中的字母是否由连续递增字母序列组成(字符串长度大于等于2)。例如字符串:uvxyz满足要求;而字符串:uvxwyz不满足要求。注意:部分源程序存放在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun指定的部位填入所编写的若干语句。试题程序: #include<stdio.h> #include<string.h> void NONO(); int fun(char*t) { } main() { char s[26]; printf(“请输入一个字母组成的字符串:”);gets(s); if(fun(s))prinff(“%s是由连续字母组成的字符串.\n”,s); else prinff(“%s不是由连续字母组成的字符串!\n”,s); NONO(); } void NONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/ FILE* fp,*wf; int i; char s[26],*P; fp=fopen(“in.dat”,“r”); wf=fopen(“out.dat”,“w”); for(i=0;i<10;i++){ fgets(s,26,fp); P=strehr(8,‘\n’); if(P)*p=0; if(fun(s))frintf(wf,“%s\n”,s+2); e]se fprinff(wf,“%s\n”,strrey(s)); } felose(fp); fclose(wf); }
问答题给定程序MODI1.C中函数fun的功能是:按以下递归公式求函数值。例如,当给n输入5时,函数值为18;当给n输入3时,函数值为14。请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。1#include<stdio.h>2/**********found**********/3intfun(n)4{intc;5/**********found**********/6if(n=1)7c=10;8else9c=fun(n-1)+2;10return(c);11}12main()13{intn;14printf(''Entern:'');scanf(''%d'',&n);15printf(''Theresult:%d\n\n'',fun(n));16}
问答题函数fun的功能是:将形参a所指数组中的前半部分元素中的值和后半部分元素中的值对换。形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动。
例如:若a所指数组中的数据依次为:1、2、3、4、5、6、7、8、9,则调换后为:6、7、8、9、5、1、2、3、4。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在
下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include <stdio.h>
#define N 9
void fun(int a[],int n)
{ int i,t,p;
/**********found**********/
p=(n%2==0)?n/2:n/2+______;
for (i=0;i<n/2;i++)
{
t=a[i];
/**********found**********/
a[i]=a[p+______];
/**********found**********/
______=t;
}
}
main()
{ int b[N]={1,2,3,4,5,6,7,8,9},i;
printf("/nThe original data:/n");
for(i=0;i<N;i++) printf("%4d",b[i]);
printf("/n");
fun(b,N);
printf("/nThe data after moving:/n");
for(i=0;i<N;i++) printf("%4d",b[i]);
printf("/n");
}
问答题请编写函数fun,功能是:判断形参n中的正整数是几位数(输入数据的位数不超过4位),并将结果通过函数值返回。 例如:若输入的数据为123,则输出结果为:输入的数字是3位。 注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。1 #include<stdio.h>2 void NONO();3 int fun(int n)4 {5 }6 main()7 {int n,place;8 do{9 printf(''请输入一个4位以内的正整数:'');10 scanf(''%d'',&n);11 } while(n<0 || n>9999);12 place=fun(n);13 printf(''输入的数字是%d位\n'',place);14 NONO();15 }16 void NONO()17 {/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/18 FILE *fp,*wf;19 int i,n,place;20 fp=fopen(''in.dat'',''r'');21 wf=fopen(''out.dat'',''w'');22 for(i=0;i<10;i++)23 {fscanf(fp,''%d'',&n);24 place=fun(n);25 fprintf(wf,''%d\n'',place);26 }27 fclose(fp);28 fclose(wf);29 }
问答题请编写函数fun(),它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。 例如,若输入字符串123412132,输入字符1,则输出3。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include<coio.h> #include<stdio.h> #define M 81 int fun(char *ss,char c) main() char a[M],ch; clrscr(); printf("/nPlease enter a string:"); gets(a); printf("/nPlease enter a char:"); ch=getchar(); printf("/nThe number of the char is:%d /n",fun(a,ch));
问答题下列给定程序中,函数fun的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生的数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 请改正程序中的错误,使它能得出正确的结果。 注意:不得增行或删行,也不得更改程序的结构! 试题程序:#inelude<stdlib.h>#include<eonio.h>#include<string.h>#include<stdio.h>#include<malloe.h>#define N 10typedef struet s8{ char nunl[10]; int s;}STU;STU*fun(STU a[],int m){ STU b[N],*t; int i,j,k;/*******found*******/ *t=calloe(In,sizeof(STU)); for(i=0;i<N;i++) b[i]=a[i]; for(k=0;k<m;k++) { for(i=j=0;i<N;i++) if(b[i].s>b[j].s) j=i;/*******found*******/ t[k].num=b[j].hum; t[k].8=b[j].s; b[j].8=0; } return t;}outreult(STU 8[],FILE*pf){ int i; for(i=0;i<N;i++) fprintf(pf,“No=%8 Mark=%d\n”, a[i].hum,a[i].s);fprinff(pf,“\n\n”);}void main(){STU a[N]={{“A01”,81},{“A02”,89},{“A03”,66},{“A04”,87},{“A05”,77},{“A06”,90},{“A07”,79},{“A08”,61},{“A09”,80},{“AIO”,71}};STU*pOrder;int i,m;system(“CLS”);printf(“******THE RESULT******\n”); outresult(a,stdout); prinff(”\nGive the number of the studentswho have better score:”); scanf(“%d”,&m); while(m>10) { printf(“\nGive the number of the students who have better score”); scanf(“%d”,&m); } pOrder=fun(a,111); prinff(“******THE RESULT******\n”); prinff(“The top:\n”); for(i=0;i<m;i++) printf(“%s%d\n”,pOrder[i].RUm,pOrder[i].8); free(pOrder);}
问答题请编写函数fun,其功能是:判断形参n中的正整数是几位数(输入数据的位数不超过4位),并将结果通过函数值返回。
例如:若输入的数据为123,则输出结果为:输入的数字是3位。
注意:部分源程序存在PROG1. C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#include <stdio. h>
void NONO( );
int fun(int n)
{
}
main( )
{int n, place;
do{
printf("请输入一个4位以内的正整数:");
scanf("%d",
}while(n<0 ||n>9999);
place=fun(n);
printf(”输入的数字是%d位/n", place);
NONO( );
}
void NONO( )
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
FILE *p, *wf;
int i, n, place;
fp=fopen("C://WEXAM//24990001//in. dat". "r");
wf
fopen("C://WEXAM//24990001//out. dat", "w");
for(i=0; i<10; i++)
{
fscanf(fp, "%d",
place=fun(n);
fprintf(wf, "%d/n", place);
}
fclose(fp);
fclose(wf);
}
问答题请编函数fun,其功能是将一个数字字符串转换成与其面值相同的长整型整数。可调用strlen函数求字符串的长度。例如,在键盘输入字符串2345210,函数返回长整型数2345210。 注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun指定的部位填入所编写的若干语句。 试题程序:#inelude<stdio.h>#include<string.h>void NONO();long fun(char*s){}main(){char 8[10];long r;printf(“请输入一个长度不超过9个字符的数字字符串:”);gets(s);r=fun(s);prinff(“r=%ld\n”,r);NONO();}void NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/{FILE*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); fprinff(wf,“%Id\n”,r);}fclose(fp);felose(wf);}
问答题请编写函数fun,它的功能是:求出1~1000之间能被7或11整除,但不能同时被7和11整除的所有整数并将它们放在a所指的数组中,通过形参指针n返回这些数的个数。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 文件PROG1.C内容如下: #include<stdio.h> void fun(int *a,int *n) void main( ) int aa[1000],n,k; void NONO( ); fun(aa,&n); for(k=0;k<n;k++) it((k+1)%10==0)printf("/n"); else printf("%5d",aa[k]); NONO( ); void NONO( ) /*本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/ int aa[1000],n,k; FILE *fp; fp=fopen("out.dat","w"); fun(aa,&n); for(k=0;k<n;k++) if((k+1)%10==0)fprintf(fp,"/n"); else tprintf(fp,"%5d",aa[k]); fclose(fp);
问答题给定程序中,函数fun的功能是:计算出形参s所指字符串中包含的单词个数,作为函数值返回。为便于统计,规定各单词之间用空格隔开。 例如,形参s所指的字符串为:This is a C languageprogram,函数的返回值为6。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 int fun(char *s)3 { int n=0,flag=0;4 while(* s!='\0')5 { if(*s!=' '&&flag==0){6 /**********found**********/7 __1__;flag=1 ;}8 /**********found**********/9 if(*s==' ')flag=__2__;10 /**********found**********/11 __3__;12 }13 return n;14 }15 main()16 { char str[81];int n;17 printf(''\nEnter a line text:\n''); gets(str);18 n=fun(str);19 printf(''\nThere are %d words in this text.\n\n'',n);20 }
