问答题请编写一个函数void proc(int m, int k, int xx[]),该函数的功能是将大于整数m且紧靠m的k个非素数存入所指的数组中。
例如,若输入:10 5(即M=10,k=5),则应输出:12 14 15 16 18。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
试题程序:
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
void proc(int m, int k, int xx[])
{
}
void main()
{
int m, n, zz[1000];
system("CLS");
printf("\nPlease enter two integers: ");
scanf(”%d%d”,
proc(m, n, zz);
for(m=0; m<n; m++)
printf("%d", zz[m]);
printf("\n");
}
问答题给定程序MODI1.C中函数fun的功能是:通过某种方式实现两个变量值的交换,规定不允许增加语句和表达式。例如变量a中的值原为8,b中的值原为3,程序运行后a中的值为3,b中的值为8。 请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 int fun(int *x,int y)3 {4 int t;5 /**********found**********/6 t=x;x=y;7 /**********found**********/8 return(y);9 }10 main()11 { int a=3,b=8;12 printf(''%d%d\n'',a,b);13 b=fun(&a,b);14 printf(''%d%d\n'',a,b);15 }
问答题函数fun的功能是:根据所给的年、月、日,计算出该日是这一年的第几天,并作为函数值返回。其中函数isleap用来判别某一年是否为闰年。 例如,若输入:2008 5 1,则程序输出:2008年5月1日是该年的第122天。 请在程序的下划线处填入正确的内容,并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 int isleap(int year)3 {int leap;4 leap=(year%4==0 &&year%100 !=0|| year%400==0);5 /**********found**********/6 return__(1)__;7 }8 int fun(int year,int month,int day) {int {table[13]={0,31,28,31,30,31,9 30,31,31,30,31,30,31};10 int days=0,i;11 for(i=1;i<month;i++)12 days=days+table[i];13 /**********found**********/14 days=days+__(2)__;15 if(isleap(year)&&month>2)16 /**********found**********/17 days=days+__(3)__;18 return days;19 }20 main()21 { int year,month,day,days;22 printf(''请输入年、月、日:'');23 scanf(''%d%d%d'',&year,&month,& day);24 days =fun(year,month,day);25 printf(''%d年%d月%d日是该年的第%d天\n'',year,month,day,days);26 }
问答题下列给定程序中函数fun的功能是:计算正整数hum各位上的数字之积。例如,若输入252,则输出应该是20。若输入202,则输出应该是0。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<stdio.h>#include<conio.h>long fun(long hum){/*********found*********/ long k; do { k*=num%10;/*********found*********/ num\=10; }while(num); return(k);}main(){ long n; printf("\n please enter a number:"); scanf("%ld",&n); printf("\n%ld\n",fun(n));}
问答题下列给定程序中,函数fun的功能是:计算s所指字符串中含有t所指字符串的数目,并作为函数值返回。
请改正程序中的错误或在下画线处填上正确的内容并把下画线删除,使它能得出正确的结果。
注意:不要改动maln函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include < stdlib.h >
#include < conio .h >
#include < string.h >
#include < stdio.h >
#de fine N 80
int fun (char * s, char * t)
{ int n;
char *p, * r;
n =0;
/*********found*********/
*r=t;
while ( *s )
{
p =s;
while (*r )
{
if(*r==*p)
{
r ++,
p ++ ;
}
else
break;
if(*r=='/0')
n ++ f
}
/*********found*********/
1
;
s ++ ;
}
return n;
}
void main ()
{char a[N],b[N]; int m;
printf ("/nPlease enter string a: ") ;
gets (a) ;
printf ( " /nPlease enter substring
gets (b) ;
m = fun (a,b) ;
printf("/nThe result is :m 一%
}
问答题下列给定程序中,函数fun的功能是:从s所指字符串中,找出t所指字符串的个数作为函数值返回。例如,当s所指字符串中的内容为“abcdabfab”,t所指字符串的内容为“ab”,则函数返回整数3。请改正程序中的错误,使它能得出正确的结果。注意:不得增行或删行,也不得更改程序的结构!试题程序:#include<stdlib.h>#inelude<conio.h>#include<stdio.h>#include<string.h>int fun(char*s,char*t){ int n;char*P,*r; rl=0; while(*s) { P=s: r=t: while(*r)/*******found*******/ if(*r==*Px r++;P++} else break;/*******found*******/ if(r==‘\0’) n++: s++: } return n;}void main(){ char s[100],t[100];int m; system(“CLS”); prinff(“\nPlease enter string s:”); scanf(“%s”,s); printf(“\nPlease enter substring t:”); seanf(“%s”,t); m=fun(s,t); prinff(“\nThe result is:m=%d\n”,n1);}
问答题学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最低的学生数据放在b所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生的人数。 注意:部分源程序在文件PROG1.C文件中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。1 #include<stdio.h>2 #define N 163 typedef struct4 { char num[10];5 int s;6 } STREC;7 int fun(STREC *a,STREC *b)8 {9 }10 main()11 {STREC s[N]={{''GA05'',85},{''GA03'',76},{''GA02'',69},{''GA04'',85},{''CA01'',91},{''GA07'',72},(''GA08'',64},{''GA06'',87},{''CA015'',85},{''CA013'',91},{''GA012'',64},{''GA014'',91},{''GA011'',91},{''GAO17'',64},{''GA018'',64},{''CA016'',72}};12 STREC h[N];13 int i,n;FILE *out;14 n=fun(s,h);15 printf(''The%d lowest score:\n'',n);16 for(i=0;i<n;i++)17 printf(''%s %4d\n'',h[i].num,h[i].s);18 printf(''\n'');19 out=fopen(''out.dat'',''w'');20 fprintf(out,''%d\n'',n);21 for(i=0;i<n;i++)22 fprintf(out,''%4d\n'',h[i].s);23 fclose(out);}
问答题main()
{int a,b;
for (a=1,b=1;a=20) break;
if(b%3==1)
{b+=3; continue; }
b-=5; } }
程序的输出结果a的值为__________。
问答题函数fun的功能是进行数字字符转换。若形参ch中是数字字符'0'~'9',则'0'转换成'9','1'啭换成'8','2'转换成'7',……,'9'转换成'0';若是其他字符则保持不变;并将转换后的结果作为函数值返回。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 /**********found**********/3 ___1___ fun(char ch)4 {5 /**********found**********/6 if(ch>='0' &&__2__)7 /**********found**********/8 return '9'-(ch- __3__ );9 return ch;10 }11 main()12 { char c1,c2;13 printf(''\nThe result:\n'');14 c1='2';c2=fun(c1);15 printf(''c1=%c c2=%c\n'', c1,c2);16 c1='8';c2=fun(c1);17 printf(''c1=%c c2=%c\n'',c1,c2);18 c1='a';c2=fun(c1);19 printf(''c1=%c c2=%c\n'',c1,c2);20 }
问答题程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(inta[][N]),函数的功能是:使数组左下三角元素中的值全部置成0。例如:a数组中的值为则返回主程序后a数组中的值应为注意:部分源程序存在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include<stdio.h>#include<stdlib.h>#defineN5voidfun(inta[][N]){{NONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*rf,*wf;inti,j,a[5][5];rf=fopen("in.dat","r");wf=fopen("out.dat","w");for(i=0;i<5;i++)for(j=0;j<5;j++)fscanf(rf,"%d",fun(a);for(i=0;i<5;i++){for(j=0;j<5;j++)fprintf(wf,"%4d",a[i][j]);fprintf(wf,"/n");}fclose(rf);fclose(wf);}main(){inta[N][N],i,j;printf("*****Thearray*****/n");for(i=0;i<N;i++){for(j=0;j<N;j++){a[i][j]=rand()%10;printf("%4d",a[i][j]);}printf("/n");}fun(a);printf("THERESULT/n");for(i=0;i<N;i++){for(j=0;j<N;j++)printf("%4d",a[i][j]);printf("/n");}NONO();}
问答题下列给定程序中函数fun的功能是:将m(1≤,n≤10)个字符串连接起来,组成一个新串,放入pt所指存储区中。例如:把三个串“abe”、 “CD”、“EF”连接起来,结果是“abcCDEF”。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序:#include < stdio.h >#include < string.h >void fun(char str[][10],int m,char*pt){/*********found*********/ Tnt k,q,i; for(k=0;k < m;k++) {q=str1en(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”,&m);gets(s[0]);printf(“Please enter%dstring:”,m); for(h=0;h < m;h++)gets(s[h]); fun(s,m,p); printf(“The result is:%s”,p);}
问答题函数fun的功能是:将a、b中的两个两位正整数合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量c的千位和十位上,b中的十位和个位数依次放在变量c的个位和百位上。 例如,当a=45,b=12时,调用该函数后,c=4251。 注意:部分源程序在文件PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 文件PROG1.C内容如下: #include<stdio.h> void fun(int a,int b,long *c) void main( ) int a,b; long c; printf("Input a,b:"); scanf("070 d%d",&a,&b); fun(a,b,&c); printf("The result is:%1d/n",c);
问答题人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中。函数fun的功能是:找出指定出生年份的人员,将其数据放在形参k所指的数组中,由主函数输出,同时由函数值返回满足指定条件的人数。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include
#define N 8
typedef struct
{ int num;
int year,month,day ;
}STU;
int fun(STU *std, STU *k, int
year)
{ int i,n=0;
for (i=0; i
问答题编写函数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; printf("Input a,b:"); scanf("%d%d",&a,&b); fun(a,b,&c); printf("The result is:%ld\n",c);}
问答题下列给定程序中,函数fun的功能是:将主函数中两个变量的值进行交换。例如,若变量a中的值为8,b中的值为3,则程序运行后,a中的值为3,b中的值为8。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include<stdio.h> /******found******/ void fun(int x,int y) { int t; /******found******/ t=x;x=y;y=t; } void main() { int a,b; a=8: b=3; fun(&a,&b); printf("%d %d\n",a,b); }
问答题下列给定程序中,函数fun的功能是:根据整型形参n,计算如下公式的值。A1=1,A2=,…,An=例如,若n=10,则应输出0.617977。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:1#include<stdlib.h>2#include<conio.h>3#include<stdio.h>4/*********found*********/5intfun(intn)6{floatA=1;inti;7/*********found*********/8for(i=2;i<n;i++)9A=1.0/(1+A);10returnA;11}12voidmain()13{intn;14system("CLS");15printf("\npleaseentern:");16scanf("%d",&n);17printf("A%d=%lf\n",n,fun(n));18}
问答题给定程序MODIl.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&&(m%k)) /**********found**********/ k++ /**********found**********/ if(m=k)return 1; else return 0; } main() {int n; printf("\nPlease enter n:");scanf("%d",&n); if(fun(n))printf("YES\n"); else printf("NO!\n");}
问答题给定程序中,函数fun的作用是:不断从终端读入整数,由变量a统计大于10的个数,用变量c来统计小于10的个数,当输入0时结束输入,并通过形参pa和pb把统计的数据传回主函数进行输出。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在BLANK1.C中。不得增行或删行,也不得更改程序的结构!
试题程序:
#include
void fun(int*px,int*py) { /**********found**********/ int【1】; scanf(''%d'',&k); /**********found**********/ while【2】 {if(k>10)a++; if(k<10)b++; /**********found**********/ 【3】; } *px=a;*py=b: } main() {int x,y; fun(&x,&y); printf(''x=%d y=%d\n'',x,y); }
问答题函数fun的功能是:把形参a所指数组中的最大值放在a[0]中,接着求出a所指数组中的最小值放在a[1]中;再把a所指数组元素中的次大值放在a[2]中,把a数组元素中的次小值放在a[3]中;其余以此类推。例如:若a所指数组中的数据最初排列为:1、4、2、3、9、6、5、8、7,则按规则移动后,数据排列为:9、l、8、2、7、3、6、4、5。形参n中存放a所指数组中数据的个数。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include
#define N 9
void fun (int ____1____ f int n)
{ int i,j,max,min,px,pnc t;
for (i=0; i a[j])
{ min — a[j]; pn = j;}
if (px != i)
{ t=a [i] ; a [i] =max; a [px]=t;
if (pn= i) pn=px;
}
if (pn != i+1)
{ t=a [i+1] ; a [i+1] min; a [pn]=t; }
}
}
main ()
{ int b[N]={1,4,2c 3,9,6,5,8,7}, 1;
printf ( "/nThe original data:/n") ;
for (i=0; i
问答题函数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中。不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 #define N 93 void fun(int a[],int n)4 { int i,t,p;5 /**********found**********/6 p=(n%2==0)?n/2:n/2+__1__;7 for(i=0;i<n/2;i++)8 {9 t=a[i];10 /**********found**********/11 a[i]=a[p+__2__];12 /**********found**********/13 __3__=t;14 }15 }16 main()17 {int b[N]={1,2,3,4,5,6,7,8,9},i;18 printf(''\nThe original data:\n'');19 for (i=0;i<N;i++) printf(''%4d'',b[i]);20 printf(''\n'');21 fun(b,N);22 printf(''\nThe data after moving:\n'');23 for (i=0;i<N;i++)printf(''%4d'',b[i]);24 printf(''\n'');25 }
