问答题请编写函数fun(),它的功能是计算下列级数和,和值由函数值返回。 S=1-x+x2/2!-x3/3!+…+(-1*x)n/n! 例如,当n=15,x=0.5时,函数值为0.606531。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include<conio.h> #include<stdio.h> #include<math.h> double fun(double x, int n) main() clrscr(); printf("%f ",fun (0.5,15));
问答题给定程序MODI1.C是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。
请改正函数fun中指定部位的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
#include
typedef struct aa
{ int data;
struct aa *next;
} NODE;
int fun (NODE *h)
{ int max=—1;
NODE *p;
p=h ;
while (p)
{ if(p—>data>max)
max=p—>data;
p=h—>next ;
}
return max;
}
outresult(int s,FILE *pf)
{ fprintf(pf,"/nThe max in
NODE *creatlink(int n. int m)
int i;
h=p= (NODE *) malloc (sizeof (NODE)) ;
h—>data=9999;
for(i=l; idata=rand () %m; s—>next=p—>
next;
p—>next=s; p=p—>next;
p—>next=NULL;
return h;
}
outlink(NODE *h,FILE *pf)
{NODE *p;
p=h—>next;
fprintf (pf,"/nTHE LIST:/n/n HEAD ") ;
while (p)
{ fprintf (pf,"—>%d ",p—>data) ;
p=p—>next; }
fprintf (pf,"/n") ;
}
main ()
{NODE *head; int m;
head=creatlink (12, 100) ;
outlink (head , stdout) ;
m=fun (head) ;
printf("/nTHE RESULT :/n");
outresult (m, stdout) ;
}
问答题请编写函数proc(),该函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。
例如,若一维数组中的数据是:
1 1 2 2 2 3 4 4 5 6 6 6 6 7 7 8
9 9 10 10 10 10
删除后,数组中的内容应该是:
1 2 3 4 5 6 7 8 9 10
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
试题程序:
#include<stdio.h>
#define M 80
int proc(int a[],int n)
{
}
void main()
{
int arr[M]={1,1,2,2,2,3,4,4.5,6,6,6,6,7,7,8,9,9,10,10,10,10},i,n=22;
printf("The original data:/n");
for(i=0;i<n;i++)
printf("%3d",arr[i]);
n=proc(arr,n);
printf("/n/nYhe data after deleted
:/n");
for(i=0;i<n;i++)
printf("%3d",arr[i]);
printf("/n/n");
}
问答题编写一个函数fun,它的功能是:实现两个字符串的连接(不使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串后。
例如,分别输入下面两个字符串:
FirstString--
SecondString
程序输出:
FirstString--SecondString
注意:部分源程序存在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include <stdio.h>
void fun(char p1[],char p2[])
{
}
main()
{ char s1[80],s2[40];
printf("Enter s1 and s2:/n");
scanf("%s%s",s1,s2);
printf("s1=%s/n",s1);
printf("s2=%s/n",s2);
printf("Invoke fun(s1,s2):/n");
fun(s1,s2);
printf("After invoking:/n");
printf("%s/n",s1);
}
问答题函数fun的功能是将a、b中的两个两位正整数合并形成一个新的整数放在c中。合并方式是将a中的十位和个位数依次放在变量a的千位和十位上,b中的十位和个位数依次放在变量c的个位和百位上。
例如,当a=45,b=12时,调用该函数后,c=4251。
注意:部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入编写的若干语句。给定源程序如下。
#include<stdio.h>
void fun(int a,int b,long*c)
{
}
main()
{ int a,b;long c;
printf("Input a b:");
scanf("%d%d",
fun(a,b,
printf("The result is:%ld/n",c);
}
问答题编写函数fun,函数的功能是求出小于或等于lim的所有素数并放在aa数组中,函数返回所求出的素数的个数。函数fun中给出的语句仅供参考。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include<stdio.h>
#define MAX 100
int fun(int lim, int aa[MAX])
{
/*以下代码仅供参考*/
int i, j, k=0;
/*其中变量k用于统计素数个数*/
for(i=2; i<=lim; i++)
{
/*以下找出小于或等于lim的素数存入aa数组中并统计素数个数*/
}
return k;
}
main()
{
int limit, i, sum;
int aa[MAX];
printf("输入一个整数:");
scanf("%d",
sum=fun(limit, aa);
for(i=0; i<sum; i++){
if(i%10==0
printf("%5d", aa[i]);
}
}
问答题给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun函数,每调用一次fun函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 #include<stdlib.h>3 #define N 84 typedef struct list5 { int data;6 struct list *next;7 } SLIST;8 void fun(SLIST *p)9 { SLIST *t,*s;10 t=p->next;s=p;11 while(t->next!=NULL)12 { s=t;13 /**********found**********/14 t=t->__1__;15 }16 /**********found**********/17 printf(''%d'',__2___ );18 s->next=NULL;19 /**********found**********/20 free( __3__ );21 }22 SLIST *creatlist(int *a)23 {SLIST *h,*p,*q;int i;24 h=p(SLIST*)malloc(sizeof(SLIST));25 for(i=0;i<N;i++)26 {q=(SLIST *)malloc(sizeof(SLIST));27 q->data=a[i];p->next=q;p=q;28 }29 p->next=0;30 return h;31 }32 void outlist(SLIST *h)33 {SLIST *p;34 p=h->next;35 if (p==NULL)printf(''\nThe list is NULL!\n'');36 else37 { printf(''\nHead'');38 do { printf(''->%d'',p->data);p=p->next;} while(p!=NULL);39 printf(''->End\n'');40 }41 }42 main()43 { SLIST *head;44 int a[N]={11,12,15,18,19,22,25,29};45 head=creatlist(a);46 printf(''\nOutput from head:\n'');outlist(head);47 printf(''\nOutput from tail:\n'');48 while(head->next!=NULL){49 fun(head);50 printf(''\n\n'');51 printf(''\nOutput from head again:\n'');outlist(head);52 }53 }
问答题请编写一个函数proc(),它的功能是:比较2个字符串的长度(不得调用C语言提供的求字符串长度的函数),函数返回较短的字符串。若2个字符串长度相等,则返回第1个字符串。
例如,输入shanghai<CR>hebei<CR>(<CR>为Enter键),函数将返回hebei。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
试题程序:
#include<stdio.h>
char*proc(char*str, char*1)
{
}
void main()
{
char a[20], b[10];
printf("Input 1th string: ");
gets(a);
printf("Input 2th string: ");
gets(b);
printf("%s", proc(a, b));
}
问答题请编写函数fun,函数的功能是:将M行N列的二维数组中的数据,按行的顺序依次放到一维数组中,一维数组中数据的个数存放在形参n所指的存储单元中。
例如,二维数组中的数据为:
33 33 33 33
44 44 44 44
55 55 55 55
则一维数组中的内容应是:
33 33 33 33 44 44 44 44 55 55 55 55。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数mam和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
void fun (int (*s) [10], int *b, int
*n,int mm,int nn)
{
}
main ()
{ int w[10] [10]={ {33,33,33,33},{44,
44,44,44},{55,55, 55,55} }i,j ;
int a[100]={0},n=0;void NONO ();
printf ("The matrix:/n") ;
for(i=0;i<3;i++)
{for(j=0; j<4;j++) printf
("%3d",w[i][j]);
printf("/n");
}
fun (w, a,&n,3,4);
printf("The A array:/n");
for(i = 0 ; i < n ; i++) printf
("%3d",a[i]);printf("/n/n");
NONO();
}
void NONO ()
{/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/
FILE *rf, *wf ; int i, j, k ;
int w[10] [101,a[100],n=0,mm,nn;
rf = fopen ("in.dat","r");
wf= fopen ("out.dat","w");
for(k= 0 ; k< 5 ; k++) {
fscanf(rf,"%(i %d",&mmr &nn);
for(i=0 ; i
问答题请编一个函数void proc(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每行中最大元素,并依次放入pp所指的一维数组中。二维数组中的数已在主函数中给出。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
试题程序:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#define M 3
#define N 4
void proc(int tt[M][N], int pp[N])
{
}
void main()
{
int str[M][N]={{34, 56, 84, 78},
{23, 84, 93, 12},
{28, 38, 39, 93}};
int p[N], i, j, k;
system("CLS");
printf("The riginal data is: /n");
for(i=0; i<M; i++)
{
for(j=0; j<N; j++)
printf("%6d", str[i][j]);
printf("/n");
}
proc(str, p);
printf("/nThe result is: /n");
for(k=0; k<M; k++)
printf("%4d", p[k]);
printf("/n"); }
问答题函数fun的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。
合并的方式是:将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上。
例如,当a=45,b=12时,调用该函数后,c=1524。
注意:部分源程序存在文件PROG1.C中。数据文件in.dat中的数据不得修改。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入要编写的若干语句。
#include<stdio.h>
void fun(int a,int b,long*c)
{
}
main()
{int a,b;long c;
void NONO();
printf("Input a,b:");
scanf("%d,%d",
fun(a,b,
printf("The result is:%1d/n",c);
NONO();
}
void NONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
FILE*rf,*wf;
int i,a,b;long c;
rf=fopen("in.dat","r");
wf=fopen("out.dat","w");
for(i=0;i<10;i++){
fscanf(rf"%d,%d",
fun(a,b,
fprintf(wf,"a=%d,b=%d,e=%ld/n",a,b,c);
}
fclose(rf);
fclose(wf);
}
问答题编写函数fun,其功能是:删除一个字符串中指定下标的字符。其中,a指向原字符串,删除指定字符后的字符串存放在b所指的数组中,n放指定的下标。
例如,输入一个字符串“world”,然后输入3,则调用该函数后的结果为“word”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
#inelude<conio.h>
#define LEN 20
void fun(char a[],char b[],int n)
{
}
void main()
{char str1[LEN],str2[LEN];
int n;
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的功能是:在形参s所指字符串中寻找与参数c相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则不做任何处理。
例如,若s所指字符串为“baacda”,c中的字符为a,执行后s所指字符串为“baaaacdaa”。
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include < stdio.h >
voicl fun(char*s,char c)
{ int i,j,n;
/*********found*********/
for(i=0;s[i]!=
【1】
;i++)
if(s[i]==c)
{
/*********found*********/
n=
【2】
;
while(s[i+1+n]!='/0')
n++;
for(j=i+n+l;j >i;
j一一)
s[j+1]=s[j];
/*********found*********/
s[j+1]一m;
i=i+l;
}
}
main()
{ char s[80]="baacda",c;
printf("inThe string:%s/n",s);
printf("/nInput a character:");
scani("%c",&c);
fun(s,c);
printf("/nThe result is:%s/n",s);
}
问答题函数fun的功能是:将s所指字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在t所指数组中。
例如,当s所指字符串中的内容为:“ABCDEFGHIJK”,在t所指数组中的内容应是:“BDFHJ”。
注意:部分源程序存在文件FROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入要编写的若干语句。
#include<stdio.h>
#include<string.h>
void fun(char*s,char t[])
{
}
main()
{
char s[100],t[100];
void NONO();
printf("/nPlease enter string S:");scanf("%s",s);
fun(s,t);
printf("/nThe 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);
}
问答题编写函数,根据整型形参m的值,计算如下公式的值:例如,若m=5,则应输出0.536389
问答题请编写函数fun,它的功能是:计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。 例如,在主函数中从键盘给n输入20后,输出为:s=0.583333。 注意:要求n的值不大于100。 部分源程序在文件PROG1.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。1 #include<stdio.h>2 double fun(int n)3 {45 }6 NONO()7 {/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/8 FILE *rf *wf;int n,i;double s;9 rf=fopen(''in.dat'',''r'');10 wf=fopen(''out.dat'',''w'');11 for(i=0;i<10 ; i++) {12 fscanf(rf,''%d'',&n);13 s=fun(n);14 fprintf(wf,''%if\n'',s);15 }16 fclose(rf);fclose(wf);17 }18 main()19 { int n;double s;20 printf(''\nInput n:'');scanf(''%d'',&n);21 s=fun(n);22 printf(''\n\ns=%f\n'',s);23 NONO();}
问答题
请编写函数fun,对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按ASCII码降序排列。
例如,原来的字符串为CEAedca,排序后输出为CedcEAa。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include<stdio.h>
#include<ctype.h>
#include<string.h>
void fun(char *s, int num)
{
}
NONO()
{
/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。 */
char s[10];
FILE *rf, *wf;
int i=0;
rf=fopen("in.dat", "r");
wf=fopen("out.dat", "w");
while(i<10){
fgets(s, 10, rf);
s[7]=0;
fun(s, 7);
fprintf(wf, "%s/n", s);
i++;
}
fclose(rf);
fclose(wf);
}
main()
{
char s[10];
printf("输入7个字符的字符串: ");
gets(s);
fun(s, 7);
printf("/n%s", s);
NONO();
}
问答题请编写函数fun,其功能是分别统计形参t所指二维数组中字母A和C的个数。
注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include<stdio.h>
#include<stdlib.h>
#define M 14
void NONO();
void fun(char(*t)[M],int*a,int*c)
{
}
void get(char(*s)[M])
{int i,j; for(i=0;i<M;i++)
{for(j=0;j<M;j++)
{s[i][j]=65+rand()%12;printf("%c",s[i][j]);}
printf("/n");
}
}
main()
{char a[M][M];
int x,y;
get(a);
fun(a,
printf("A=%d C=%d/n",x,y);
NONO();
}
void NONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
FILE *fp,*wf;
int i,j,x,y;
char a[M][M];
fp=fopen("c:/test/in.dat","r");
wf=fopen("c:/test/out.dat","w");
for(i=0;i<M;i++)
{for(j=0;j<M;j++)
{fscanf(fp,"%c",}
}
fun(a,
fprintf(wf,"A=%d/n",x);
fprintf(wf,"C=%d/n",y);
fclose(fp);
fclose(wf);
问答题函数fun的功能是:根据所给的年、月、日,计算出该日是这一年的第几天,并作为函数值返回。其中函数isleap用来判别某一年是否为闰年。例如,若输入:200851,则程序输出:2008年5月1日是该年的第122天。请在程序的下划线处填入正确的内容,并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKl.C中。不得增行或删行,也不得更改程序的结构!试颢;陧序。
问答题给定程序MODI1.C中函数fun的功能是:根据整型形参m,计算如下公式的值。例如,若m=2000,则应输出:0.000160。请改正程序中的语法错误,使它能计算出正确的结果。注意:不要改动mam函数,不得增行或删行,也不得更改程序的结构!#includefun(intm){doubley=0,d;inti;for(i=100,i