问答题下列给定程序中,函数fun的功能是:计算函数F(x,y,z)=(x+y)/(x—y)+(z+y)/(z—y)的值。其中x和y的值不相等,z和y的值不相等。例如,当x的值为9,y的值为11,z的值为15时,函数值为一3.50。 请改正程序中的错误,使它能得出正确的结果。 注意:不得增行或删行,也不得更改程序的结构! 试题程序:#include<stdio.h>#include<math.h>#include<stdlib.h>/*******found*******/#define FU(m,n)((m/n))float fun(float a,float b,float e){ float value; value=FU(a+b,a—b)+FU(c+b,c—b);/*******found*******/ Return(Value);}main(){ float x,y,z,sum; prinff(“Input x y z:“); scanf(“%f%f%f.’,&x,&y,&z); prinff(“x=%f,y="%f,z=%f、n”,X,y,z); if(x=y‖y==z) { prinff(“Data error!\n”); exit(0); } sum=fun(x,y,z); prinff(“The result is:%5.2f\n”,sum);}
问答题下列给定程序中,函数fun的功能是:依次取出字符串中所有的数字字符,形成新的字符串,并取代原字符串。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<stdlib.h>#include<stdio.h>#include<conio.h>void fun(char*s){ int i,j; for(i=0,j=0;s[i]!='\0';i++) if(s[i]>='0'&&s[i]<='9')/*********found*********/ s[j]=s[i];/*********found*********/ s[j]="\0";}void main(){ char item[80], system("CLS"); printf("\nEnter a string:"); gets(item); printf("\n\nThe string is:%s、n",item); fun(item); printf("\n\nThe string of changing is:%s\n",item);}
问答题请编写函数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中。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序:#include < stdio.h >void fun(int(* s)[10],int*b,int*n,int mm,int nn){}void main(){ FILE*wf; int w[10][10]=({33,33,33,33},{44,44,44,44},{55,55,55,55}),i,j;int a[100]=(0},n=0;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");/******************/ wf=fopen("out.dat","w"); for(i=0;i < n;i++) fprintf(wf,"%3d",a[i]); fclose(wf); /******************/}
问答题下列给定程序中函数fun的功能是:把从主函数中输入的3个数,最大的数放在a中,中间的数放在b中,最小的数放在c中。例如,若输入的数为:55 12 34,输出的结果应当是:a=55.0,b:34.0,c=12.0。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<stdio.h>void fun(float*a,float*b,float*c){/*********found*********/ float*k; if(*a<*b) { k=*a; *a=*b; *b=k; }/*********found*********/ if(*a>*c) { k=*c; *c=*a; *a=k; } if(*b<*c) { k=*b; *b=*c; *c=k; }}main(){ float a,b,c; printf("Input a b c:"); scanf("%f%f%f",&a,&b,&c); printf("a=%4.1f,b=%4.1f,c=%4.1f\n\n”,a,b,c); fun(&a,&b,&c); printf("a=%4.1f,b=%4.1f,c=%4.1f\n\n",a,b,c);}
问答题请编写一个函数fun,其功能是:将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。
例如,若输入“abc4Efg”,则应输出“aBc4EFg”。
注意:部分源程序存在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序如下。
#include<stdio.h>
#include<string.h>
void fun(char*ss)
{
}
void main(void)
{
char tt[51];
printf("/nPlease enter an character string within 50 characters:/n");
gets(tt);
printf("/n/nAfter changing,the string/n"%s"",tt);
fun(tt);
printf("/nbecomes/n"%s"",tt);
}
问答题下列给定程序中函数proc的功能是:取出长整型变量s中偶数位上的数,依次构成一个新数放在t中。例如,当s中的数为123456789时,t中的数为2468。请修改程序中的错误,使它能得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
//****found****
void proc(long s, long t)
{long s1=10;
s/=10;
*t=s%10;
//****found****
while(s<0)
{ s=s/100;
*t=s%10*s1+*t;
s1=s1*10;
}
}
void main()
{long s, t;
system("CLS");
printf("/nPlease enter s: ");
scanf("%ld",
proc(s,
printf("The result is:%ld/n", t);
}
问答题下列程序定义了N × N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[] [N]),该函数的功能是:将数组左下半三角元素中的值全部置成0。例如a数组中的值为: 1 9 7 2 3 8 4 5 6则返回主程序后a数组中的值应为: 0 9 7 0 0 8 0 0 0注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序:#include < conio.h >#include < stdio.h >#include < stdlib.h >#define N 5void fun(int a[][N]){}void main(){ int a[N][N],i,j; system("CLS"); prjmtf("****The array****/n"); for(i=0;i < N;i++) /*产生一个随机的5*5矩阵*/ { for(j=0;j < N;j++) { a[i][j]=rand()%10; prJmtf("%4d",a[i][j]); } printf("/n"); } fun(a); printf("THE RESULT/n"); for(i=0;i < N;i++) { for(j=0;j < N;j++) print:f("%4ct",a[i][j]); printf("/n"); }}
问答题编写函数fun,其功能是:将s所指字符串中除了下标为奇数,同时ASCII码值也为奇数的字符之外,其余的所有字符全部删除,串中剩余字符所形成的一个新串放在t所指的数组中。 例如,若s所指字符串的内容为“ABCDEFG12345”,其中字符A的ASCII码值为奇数,但所在元素的下标为偶数,因此需要删除;而字符1的ASCII码值为奇数,所在数组中的下标也为奇数,因此不应当删除,其他依此类推。最后t所指数组中的内容应为“135”。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序: #include<stdio.h> #include<string.h> void fun(char*s,char t[]) main() char s[00],t[100]; printf("/nPlease enter string s:"); scanf("%s",s); fun(s,t); printf("/nThe result is:%s/n",t);
问答题下列给定程序中,函数fun的功能是:统计带头结点的单向链表中结点的个数,并存放在形参n所指的存储单元中。
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#include<stdlib.h>
#defitie N 8
typedef struct list
{ int data;
struer list*next;
}SLIST;
SLIST*creatlist(int *a);
void outlist(SLIST*);
void fun(SLTST*h,int*n)
{ SLIST*P;
/*********found*********/
【1】
=0;
P=h->next;
while(P)
{ (*n.)++;
/*********found*********/
p=P->
【2】
;
}
}
main()
{ SLIST*head;
int a[N]={12,87,45,32,91,
16,20,48),num;
head=creatlist(a);
outlist(head);
/*********found*********/
fun(
【3】
,&hum);
printf("\nnumber=%d\n",num);
}
SLIST*creatlist(int a[])
{ SLIST*h,*P,*q; int i;
h=P=(SLIST*)malloc(sizeof(SLIST));
for(i=0;i<N;i++)
{ q=(SLIST*)malloc(sizeof(SLTST));
q->data=a[i];P->next=q;
p=q;
}
P->next=0;
return h;
}
void outlist(SLTST*h)
{ SLIST*P;
P=h->next;
if(P==NULL)
printf("The list is NULL!\n");
else
{ printf("\nHead");
do
{ printf("->%d",p->data);
p=P->next;)
while(P!=NULL);
printf("->End\n");
}
}
问答题输入两个整数,调用函数stu( )求两个数差的平方,返回主函数显示结果。
问答题编写函数fun,其功能是:将两个两位数的正整数a、b合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在e数的个位和百位上,b数的十位和个位数依次放在c数的十位和千位上。例如,当a=45,b=12时,调用该函数后c=2514。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:#include<conio.h>#include<stdio.h>void fun(int a,int b,long*c){}main(){ int a,b; long c; printf("Input a,b:"); scanf("%d%d",&a,&b); fun(a,b,&c); printf('The result is:%ld\n",C);}
问答题下列程序定义了N×N的二维数组,并在主函数中赋值。请编写一个函数fun(),函数的功能是:求数组周边元素的平方和并作为函数值返回给主函数。例如,若数组a中的值为 0 1 2 7 9 1 11 21 5 5 2 21 6 11 1 9 7 9 10 2 5 4 1 4 1 则返回主程序后s的值应为310。 [注意] 部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 [试题源程序] #include <stdio.h> #include <conio.h> #include <stdiib.h> #define N 5 int fun(int w[][N]) main() int a[N][N]=0, 1, 2, 7, 9, 1, 11, 21, 5, 5, 2, 21, 6, 11, 1, 9, 7, 9, 10, 2, 5, 4, 1, 4, 1; int i, j; int s; clrscr() printf("*****The array*****/n"); for(i=0; i<N; i++) for(j=0; j<N; j++) printf("%4d", a[i][j]); printf("/n'); s=fun(a); printf("*****THE RESULT*****/n"); printf("The sum is: %d/n", s);
问答题给定程序MODII.C中,函数fun的功能是判断整数n是否是”完数”。当一个数的因子之和恰好等于这个数本身时,就称这个数为”完数”。例如:6的因子包括1、2、3,而6=1+2+3,所以6是完数。如果是完数,函数返回值为1,否则函数返回值为0。数组a中存放的是找到的因子,变量k中存放的是因子的个数。请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:
问答题下列给定程序中,函数fun的功能是:从n个学生的成绩中统计出低于平均分的学生人数,此人数作为函数值返回,平均分存放在形参aver所指的存储单元中。 例如,输入8名学生的成绩:80.5、60、72、90.5、98、51.5、88、64 则低于平均分的学生人数为4(平均分为75.5625)。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序:#include < stdlib.h >#include < stdio.h >#include < conio.h >#define N 2 0 int fun(float *s,int n,float *ave]7){float=ave,t=0.0; int count=0,k,i; for(k=0; k < n;k++)/*********found*********/ t=s[k]; ave=t/n; for(i=0;i < n;i++) if(s[i] < ave)count;++;/*********found*********/ *aver=&ave; return count; } void main() {float:s[30],aver; int m,i; system("CLS"); print:f("/nPlease enter m:"); scanf("%d",&m); print;f("/nPlease enter%d mark:/n",m); for(i=0;i < m;i++) scanf("%f",s+i); print:f("/nThe number of students:%d/n",fun(s,m,&aver)); print:f("Ave=%f/n",aver); }
问答题请编写函数劬,函数的功能是:将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中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include <stdio.h>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;voidNONO (); 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, 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][10], a[100],n=0,mm,nn;rf = fopen("in.dat","r");wf = fopen("out.dat","w");for(k = 0 ; k < 5 ; k++) { fscanf(rf, "%d %d", for(i = 0 ; i < mm ; i++)for(j = 0 ; j < nn ; j++) fscanf <rf, "%d", fun(w, a, for(i = 0 ; i < n ; i++) fprintf(wf,"%3d",a[i]);fprintf( wf,"/n"); }}
问答题编写函数fun,其功能是:求出1~1000能被7或11整除,但不能同时被7和11整除的所有整数,并将其放在a所指的数组中,通过n返回这些数的个数。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序: #include<stdlib.h> #include<conio.h> #include<stdio.h> void fun(int*a,int*n) void main() ( int aa[1000],n,k; system("CLS"); fun(aa, for(k=0;k<n;k++) if((k+1)%10==0) (printf("%5d",aa[k]); printf("/n");) /*一行写9个数*/ else printf("%5d",aa[k]);
问答题已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数fun,该函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。已给出函数的首部,请完成该函数。注意:部分源程序在文件PROG1.C中。 请勿改动主函数maln和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序:#include < stdio.h >#include < string.h >#include < conio .h >#include < stdlib .h >#de fine N 10typedef struct ss { char num[10 ] ; int s;} STU;fun (STU a[], STU * s) { }void main () { FILE *wf; int i; system ("CLS") ; printf ( " ***** The originaldata,*****/n"); printf ("No =%s Mark =%d/n", a printf (" **** THE RESULT **** /n") ; printf ("The lowest :%s, %d/n",m.num,m.s) ;/*********found*********/ wf = fopen ("out.dat", "w") ; fprintf (wf,"%s, %d",m.num,m.s) ; fclose (wf) ;}
问答题写出下列程序的运行结果。
main()
{ int n;
For(n=3; n<=10; n++)
{ if(n%6= =0) break; Printf(“%d”,n); } }
问答题下列给定程序中,函数fun的功能是:将十进制正整数m转换成k(2≤k≤9)进制数,并按位输出。例如,若输入8和2,则应输出1000(即十进制数8转换成二进制表示是1000)。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:1 #include<stdio.h>2 #include<conio.h>3 /*********found*********/4 void fun(int m,int k);5 { int aa[20],i;6 for(i=0;m;i++)7 {8 /*********found*********/9 aa[i]=m/k;10 m/=k;11 }12 for(;i;i--)13 /*********found*********/14 printf("%d",aa[i]);15 }16 main()17 {18 int b,n;19 printf("\nplease enter a number and a base:\n");20 scanf("%d%d",&n,&b);21 fun(n,b);22 printf("\n");23 }
问答题给定程序MODI1.C中函数fun的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向后顺序移动。
例如,调用fun函数之前给字符串输入:ABCDeFGH,调用后字符串中的内容为:eABCDFGH。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
给定源程序:
#include
fun( char *p )
{ char max,*q; int i=0;
max=p[i];
while( p[i]!=0 )
{ if( max
/TAB { max=p[i];
/**********found**********/
/TAB q=p+i
/TAB }
i++;
}
/**********found**********/
wihle( q>p )
{ *q=*(q-1);
q--;
}
p[0]=max;
}
main()
{ char str[80];
printf("Enter a string: "); gets(str);
printf("/nThe original string: "); puts(str);
fun(str);
printf("/nThe string after moving: "); puts(str); printf("/n/n");
}
