问答题函数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
问答题请编写函数fun(),该函数的功能是:将M行N列的二维数组中的数据,按行的顺序依次放到一维数组中,一维数组中数据的个数存放在形参n所指的存储单元中。
例如,若二维数组中的数据为:
33 33 33 33
44 44 44 44
55 55 55 55
则一维数组中的内容应该是33 33 33 33 44 44 44 AA, 55 55 55 55
注意:部分源程序给出如下。
请勿改动主函数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 ;
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: In");
for(i=0; i<n; i++)
printf ("%3d", a [i] );
printf ("/n/n");
}
问答题给定程序中已建立一个带有头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fun的功能是:把形参x的值放入一个新结点并插入到链表中,插入后各结点数据域的值仍保持递增有序。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在
下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include <stdio.h>
#include <stdlib.h>
#define N 8
typedef struct list
{ int data;
struct list *next;
} SLIST;
void fun(SLIST *h, int x)
{SLIST *p, *q, *s;
s=(SLIST *)malloc(sizeof(SLIST));
/**********found***********/
s->data=______;
q=h;
p=h->next;
while(p!=NULL
p=p->next;
}
s->next=p;
/**********found**********/
q->next=______;
}
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(SLIST));
q->data=a[i]; p->next=q; p=q;
}
p->next=0;
return h;
}
void outlist(SLIST *h)
{SLIST *p;
p=h->next;
if (p==NULL) printf("/nThe list is NULL!/n");
else
{ printf("/nHead");
do { printf("->%d",p->data);p=p->next;} while(p!=NULL);
printf("->End/n");
}
}
main()
{SLIST *head; int x;
int a[N]={11,12,15,18,19,22,25,29};
head=creatlist(a);
printf("/nThe list before inserting:/n"); outlist(head);
printf("/nEnter a number : ");scanf("%d",
fun(head,x);
printf("/nThe list after inserting:/n"); outlist(head);
}
问答题请编写函数proc(),其功能是:将str所指字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在t所指数组中。
例如,当str所指字符串中的内容为abcdefg,则在t所指数组中的内容应是bdf。
注意:部分源程序给出如下。
请勿改动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的功能是:将tt所指字符串中的小写字母全部改为对应的大写字母,其他字符不变。例如,若输入“Ab,cD”,则输出“AB,CD”。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MOD11.C中,不得增行或删行,也不得更改程序的结构!#include<stdio.h>#include<string.h>char*fun(char tt[]){int i;for(i=0;tt[i];i++)/**********found**********/if(('a'<=tt[i])‖(tt[i]<='z'))/**********found**********/tt[i]+=32;return(tt);}main(){char tt[81];printf(''\nPlease enter a str:ng:'');gets(tt);printf(''\nThe result string is:\n%s'',fun(tt));}
问答题编写函数fun,其功能是:根据以下公式求π的值(要求精度0.0005,即某项小于0.0005时停止迭代)。程序运行后,若输入精度0.0005,则程序应输出为3.14…。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:#include<stdio.h>#include<conio.h>#include<math.h>doublefun(doubleeps){}voidmain(){doublex;printf("Inputeps:");Scanf("%lf",printf("/neps=%lf,PI=%lf/n",x,fun(x));}
问答题下列给定程序中函数fun的功能是:从整数1~55,查找能被3整除且有一位上的数值是5的数,把这些数放在b所指的数组中,这些数的个数作为函数值返回。规定函数中a1放个位数,a2放十位数。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动mam函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include <stdio.h> int fun(int *b) int k, a1, a2, i=0; for(k=10; k<=55; k++) /******************found*******************/ a2=k/10; a1=k-a2*10; if((k%3==0&& a2==5)||(k%3==0&& a1==5)) b[i]=k; i++; /******************found*******************/ return k; main() int a[100], k, m; m=fun(a); printf("The result is:/n"); for(k=0; k<m; k++) printf("%4d", a[k]); printf("/n");
问答题下列程序定义了N×N的二维数组,并在主函数中赋值。请编写函数fun,函数的功能是:求出数组周边元素的平均值并作为函数值返回给主函数中的s。例如,若a数组中的值为:0 1 2 7 91 9 7 4 52 3 8 3 14 5 6 8 25 9 1 4 1则返回主程序后s的值应为3.375。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:1 #include<stdio.h>2 #include<conio.h>3 #include<Stdlib.h>4 #define N 55 double fun(int w[][N])6 {78 }9 void main()10 {11 FILE*wf;12 int a[N][N]={0,1,2,7,9,1,9,7,4,5,2,3,8,3,1,4,5,6,8,2,5,9,1,4,1);13 int i,j;14 double s;15 system("CLS");16 printf("***The array***\n");17 for(i=0;i<N;i++)18 { for (j=0;j<N;j++)19 { printf("%4d",a[i][j]);)20 print:f("\n");21 }22 s=fun(a);23 printf("***THE RESULT***\n");24 printf("The sum is:%lf\n",s);25 /*****************/26 wf=fopen("out.dat","w");27 fprintf(wf,"%lf",s);28 fclose(wf);29 /*****************/30 }
问答题给定程序中,函数fun的功能是用函数指针指向要调用的函数,并进行调用。规定在__2__处使fa指向函数f1,在__3__处使fb指向函数f2。当调用正确时,程序输出: x1=5.000000,x2=3.000000,x1*x1+x1*x2=40.000000 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 double f1(double x)3 { return x *x;}4 double f2(double x,double y)5 { return x*y;)6 double fun(double a,double b)7 {8 /**********found**********/9 __1__(*f)();10 double r1,r2;11 /**********found**********/12 f=__2__;/* point fountion f1 */13 r1=f(a);14 /**********found**********/15 f=__3__;/* point fountion f2 */16 r2=(*f)(a,b);17 return r1+r2;18 }19 main()20 {double x1=5,x2=3,r;21 r=fun(x1,x2);22 printf(''\nx1=%f,x2=%f,x1*x1+ x1*x2=%f\n'',x1,x2,r);23 }
问答题给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。ss所指字符串数组中共有M个字符串,且串长<N。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在
下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include <stdio.h>
#include <string.h>
#define M 5
#define N 20
int fun(char (*ss) [N], int *n)
{ int i, k=0, len=N;
/**********found**********/
for(i=0; i<______; i++)
{ len=strlen(ss[i]);
if(i==0) *n=len;
/*********found**********/
if (len ______ *n)
{ *n=len;
k=i;
}
}
/*********found**********/
return (______);
}
main()
{ char ss[M] [N]={"shanghai","guangzhou","beijing","tianjing","chongqing"};
int n,k,i;
printf("/nThe original strings are :/n");
for(i=0;i<M;i++)puts(ss[i]);
k=fun(ss,
printf("/nThe length of shortest string is:%d/n",n);
printf("/nThe shortest string is:%s/n",ss[k]);
}
问答题请编写函数fun,该函数的功能是:统计各年龄段的人数。N个年龄通过调用随机函数获得,并放入主函数的age数组中。要求函数把0一9岁年龄段的人数放在d[0]中,把10 N19岁年龄段的人数放在d[1]中,把20一29岁年龄段的人数放在d[2]中,依此类推,把100岁(含100岁)以上年龄的人数都放在d[10]中。结果在主函数中输出。 注意:部分源程序在文件PROG1.C中。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序:#include < stdio.h ># define N 50 # de fine,M 11void fun (int *a, int *b) {double rnd () { static t =29,c =217,m =1024,r =0; return ((double) r/m) ,* }void main ( ) { FILE * wf, int age[N], i,d[M] ; int b[N] = {32,45,15,12,86,49, 97,3,44,52,17,95,63 }; age[i] = (int) (115 * rnd ()); printf ("The original data :/n") ;4d",age[i]) ; / *每行输出10个数*/ printf ( "/n/n") ; fun (age,d) ; for (1 =0; i < 10; 1++) printf ("% 4d 一一一%4d :%4d/n", i*l0, 1*10 +9,d[i]) ; printf ("Over 100 : %4d/n",d[10]);/******************/ wf = fopen ("out.dat","w") ; fun (b,d) ; for (i=0; 1 < 10; 1++) fprintf (wf,"%4d—o04d :%4d/n", i fprintf (wf,"Over 100 : %4d",d[10] ) ; fclose (wf) ;/******************/ }
