问答题给定程序中,函数fun的作用是:不断从终端读入整数,由变量a统计大于0的个数,用变量e来统计小于0的个数,当输入0时结束输入,并通过形参pa和pb把统计的数据传回主函数进行输出。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:源程序存放在BLANK1.C中。不得增行或删行,也不得更改程序的结构!
试题程序:
#inclucle < stdio.h >
void fun(int*px,int:*py)
{
/*********found*********/
int
【1】
;
scar1f("%d",&k);
/*********found*********/
while
【2】
{if(k >0)a++;
if(k < 0)b++;
/*********found*********/
【3】
;
}
*px=a;*py=b;
}
main()
{int x,y;
fun(&x,&y);
print:f("x=%d y=%d/n",x,y);
}
问答题函数fun的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。
合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的百位和个位上。
例如,当a=45,b=12时,调用该函数后,c=5142。
请勿改动主函数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();
}
voidNONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
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,c=%1d/n",a,b,c);
}
fclose(rf);
fclose(wf);
}
问答题请编写函数fun,它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。 例如,若输入字符串:123412312,输入字符为1,则输出:3。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 文件PROG1.C内容如下: #include<stdio.h> #include<string.h> #define M 81 int fun(char *ss,char c) void main( ) char a[M],ch; 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,其功能是:计算并输出当x<0.97时下列多项式的值,直到|Sn-Sn-1|<0.000001为止。例如,在主函数中从键盘给x输入0.21后,输出为:s=1.100000。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。1#include<stdio.h>2#iclude<math.h>3doublefun(doublex)4{5}6NONO()7{/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/8FILE*rf,*wf;inti;doubles,x;9rf=fopen(''in.dat'',''r''”);10wf=fopen(''out.dat'',''w'');11for(i=0;i<10;i++){12fscanf(rf,''%1f'',&x);13s=fun(x);14fprintf(wf,''%1f\n'',s);15}16fclose(rf);fclose(wf);17}18main()19{doublex,s;20printf(''Input:x:'');scanf(''%1f'',&x);21s=fun(x);22printf(''s=%f\n'',s);23NONO();}
问答题从键盘上输入10个评委的分数,去掉一个最高分,去掉一个最低分,求出其余8个人的平均分,输出平均分,最高分,最低分。
问答题下列给定程序中,fun函数的功能是:根据形参m,计算下列公式的值。 t=1+1/2+1/3+1/4+…+1/m 例如,若输入5,则应输出2.283333。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include<stdlib.h> #include<conio.h> #include<stdio.h> double fun(int m) { double t=1.0;int i; for(i=2;i<=m;i++) /******found******/ t+=1.0/k; /******found******/ return i; } void main() { int m; system("CLS"); printf("Please enter linteger number:"); scanf("%d",&m); printf("The result is%lf\n",fun(m)); }
问答题N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。
例如,若学生的成绩是:85,76,69,85,91,72,64,87, 则平均分应当是:78.625。
注意: 部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include
#include
#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
{ 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;
STREC *h;
h=creat( s ); outlist(h);
ave=fun( h );
printf("ave= %6.3f/n",ave);
NONO();
}
问答题下列给定程序中,函数fun的功能是:计算N×N矩阵的主对角线元素和反向对角线元素之和,并作为函数值返回。要求先累加主对角线元素中的值,再累加反向对角线元素中的值。
例如,若N=3,有下列矩阵:
1 2 3
4 5 6
7 8 9
首先累加1、5、9,然后累加3、5、7,函数返回值为30。
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#define N 4
fun(int t[][N],int n)
{
int i,sum;
/*********found*********/
【1】
;
for(i=0;i<n;i++)
/*********found*********/
sum+=
【2】
;
for(i=0;i<n;i++)
/*********found*********/
sum+=t[i][n—i一
【3】
];
return sum;
}
main()
{
int i,j,t[]IN]={21,2,13,24,25,16,47,38,29,11,32,54,42,21,3,10};
printf("\nfhe original clata:\n");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%4d",t[i][j]);
printf("\n");
}
printf("The result is:%d",fun(t,N));
}
问答题编写函数fun,其功能是:将两个两位数的正整数a、b合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在e数的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上。
例如,当a=45,b=12时,调用该函数后,c=1524。
注意:部分源程序给出如下。数据文件IN.DAT中的数据不得修改。
请勿改动主函数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",
fun(a,b,
printf("The result is:%ld/n",c);
}
问答题下列给定程序中,函数proc()的功能是:给定n个实数,输出平均值,并统计平均值以上(含平均值)的实数个数。
例如,n=8时,输入90.009,179.623,167.575,100.051,6.092,154.986,12.432,45.765,所得平均值为94.566635,在平均值以上的实数个数应为4。
请修改程序中的错误,使它能得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
int proc(float x[], int n)
{ //****found****
int j, c=0; float xa=0.0;
for(j=0; j<n; j++)
xa+=x[j]/n;
printf("ave=%f/n", xa);
for(j=0; j<n; j++)
if(x[j]>=xa)
c++;
retUrn c;
}
void main()
{
float str[100]={90.009, 179.623,
167.575, 100.051,
6.092, 154.986,
12.432, 45.765};
system("CLS");
printf("%d/n", proc(str, 8));
}
问答题N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。 例如,若学生的成绩是:85,76,69,85,91,72,64,87,则平均分应当是:78.625。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。1 #include<stdio.h>2 #include<stdlib.h>3 #define N 84 struct slist5 {double s;6 struct slist *next;7 };8 typedef struer slist STREC;9 double fun(STREC *h)10 {1112 }13 STREC * creat(double * s)14 {STREC *h,*p,*q;int i=0;15 h=p=(STREC *)malloc(sizeof(STREC));p->s=0;16 while(i<N)17 {q=(STREC *) malloc(sizeof(STREC));18 q->s=s[i];i++;p->next=q;p=q;19 }20 p->next=0;21 return h;22 }23 outlist(STREC *h)24 { STREC *p;25 p=h->next;printf(''head'');26 do27 { printf(''->%4.1f'',p->s);p=p-> next;)28 while(p!=0);29 printf(''\n\n'');30 }31 main()32 { double s[N]={85,76,69,85,91,72,64,87},ave;33 void NONO();34 STREC *h;35 h=creat(s);outlist(h);36 ave=fun(h);37 printf(''ave=%6.3f\n'',ave);38 NONO();39 }40 void NONO()41 {/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */42 FTLE *in,*out;43 int i,j;double s[N],ave;44 STREC *h;45 in=fopen(''in.dat'',''r'');46 out=fopen(''out.dat'',''w'');47 for(i=0;i<10;i++) {48 for(j=0 ; j<N;j++)fscanf(in,''%1f,'',&s[j]);49 h=creat(s);50 ave=fun(h);51 fprintf(out,''%6.31f\n'',ave);52 }53 fclose(in);54 fclose(out);}
问答题函数fun的功能是:将a、b中的两个两位正整数合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量c的千位和十位上,b中的十位和个位数依次放在变量c的个位和百位上。 例如,当a=45,b=12。调用该函数后,c=4251。 注意:部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。1 #include<stdio.h>2 void fun(int a,int b,long *c)3 {4 }5 void NONO()6 {/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */7 FILE *rf,*wf;8 int i,a,b;long c ;9 rf=fopen(''in.dat'',''r'');10 wf=fopen(''out.dat'',''w'');11 for(i=0;i<10;i++){12 fscanf(rf,''%d,%d'',&a,21 printf(''Input a,b:'');22 scanf(''%d%d'',&a,&b);23 fun(a,b,&c);24 printf(''The result is:%1d\n'',c);25 NONO();}
问答题请编写一个函数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);
}
问答题规定输入的字符串中只包含字母和*号。编写函数fun,其功能是:除了字符串前导和尾部的*号外,将串中其他的*号全部删除。形参h已指向字符串中第一个字母,形参P指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。 例如,若字符串中的内容为“****A*BC*DEF*G*******”,删除后,字符串中的内容应当是“*****ABCDEFG********”。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序: #include<stdio.h> #include<conio.h> #include<string.h> void fun(char*a,char*h,char*p) main() char s[81],*t,*f; printf("Enter a string:/n"); gets(s); t=f=s; while(*t) t++; t--; while(*t=='*') t--; while(*f=='*') f++;fun(s,f,t); printf("The string after deleted:/n"); puts(s);
问答题下列程序定义了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<stdlib.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);
问答题下列给定程序中,函数fun的功能是:计算并输出下列级数的前N项和SN,直到SN+1的值大于q为止,q的值通过形参传入。例如,若q的值为50.0,则函数值应为49.394948。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<conio.h>#include<stdio.h>doublefun(doubleq){intn;doubles,t;n=2;s=2.0;while(s<=q){t=s;/*********found*********/s=s+(n+1)/n;n++;}printf("n=%d\n",n);/*********found*********/returns;}main(){printf("%f\n",fun(50));}
问答题下列给定程序中,函数fun的功能是:求出如下分数列的前n项之和。和值通过函数值返回main函数。例如,若n=5,则应输出8.391667。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MOD11.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<stdlib.h>#include<conio.h>#include<stdio.h>/*********found*********/fun(intn){inta,b,c,k;doubles;s=0.0;a=2;b=1;for(k=1;k<=n;k++){/*********found*********/s=s+(Double)a/b;c=a;a=a+b;b:c;}returns;}main(){intn=5;system("CLS");printff"/n2"hevalueoffunctionis:%lf/n",fun(r1));}
问答题请编写函数fun,该函数的功能是:将M行N列的二维数组中的数据,按行的顺序依次放到一维数组中,一维数组中数据的个数存放在形参n所指的存储单元中。例如,若二维数组中的数据为:则一维数组中的内容应该是:333333334444444455555555。注意:请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:#include<stdio.h>voidfun(int(*s)[10],int*b,int*n,intmm,intnn){}voidmain(){FILE*wf;intw[10][10]={{33,33,33,33},{44,44,44,44},{55,55,55,55}},i,j;inta[100]={0},n=0;printf("Thematrix:/n");for(i=0;i<3;i++){for(j=0;j<4;j++)printf("%3d",w[i][j]);printf("/n");}fun(w,a,printf("TheAarray:/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,其功能是:将a、b两个两位正整数合并成一个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量c的千位和十位上,b中的十位和个位数依次放在变量c的个位和百位上。 例如,当a=45,b=12,调用该函数后c=4251。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序:#include < conio.h >#include < stdio.h >void fun(int a,int b,long*c){}main(){ int a,b, long c; pruntf("Input a,b:"); scanf("%d%d",&a,&b); fun(a,b,&c); printf("The result is:%id/n",c);}
问答题编写一个函数fun(),其功能是求出一个2×M整型二维数组中最大元素的值,并将此值返回调用函数。 #include<stdio.h> #define M 4 int fun(int a[][M]) main() int arr[2][M]=5,8,3,45,76,-4,12,82);void NONO(); printf("max=%d/n",fun(arr));
