问答题main ( )
{ int a , b ;
scanf ( “input a ,b:”,a , b );
printf (“a=%d, b=%d”,a,b); }
问答题下列给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指的变量中。ss所指字符串数组中共有M个字符串,且串长小于N。
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include < stdio.h >
#include < string.h >
#define M 5
#define N 20
int fun(char(*ss)[N],int*n)
{ int i,k=0,fen=N;
/*********found*********/
for(i=0;i <
【1】
;i++)
{ fen=str1en(ss[i]);
if(i==0) *n=1en;
/*********found*********/
if(fen
【2】
*n)
{*n=fen;
k=i;
}
}
/*********found*********/
return(
【3】
);
}
main()
{char ss[M][N]={"shang
hai","guangzhou","beijing","
tianjirig”,”chongqing”);
int n,k,i ;
printf("/nThe original
strings aEe:/n");
for(i=0;i < M;i++)puts(ss
[i]);
k=fun(ss,&n);
printf("/nThe length of
shortest string is:%d/n",n);
printf("/nThe shortest
string is:%s/n",ss[k]);
}
问答题输入一行数字字符,请用数组元素作为计数器来统计每个数字字符的个数。用下标为0的元素统计字符'0'的个数,用下标为1的元素统计字符'1'的个数……
问答题给定程序MODI1.C中函数fun的功能是:将长整型数s中每一位上为偶数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。 例如,当s中的数为:87653142时,t中的数为:8642。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 void fun(long s,long *t)3 { int d;4 long s1=1;5 *t=0;6 while(s>0)7 {d=s%10;8 /**********found**********/9 if(d%2=0)10 {*t=d *s1+*t;11 s1 *=10;12 }13 /**********found**********/14 s\=10;15 }}16 main()17 {long s,t;18 printf(''\nPlease enter s:''); scanf(''%1d'',&s);19 fun(s,21 }
问答题学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中, 请编写函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。
例如,输入的分数是60 69, 则应当把分数在60到69的学生数据进行输出,包含60分和69分的学生数据。主函数中将把60放在low中,把69放在heigh中。
注意: 部分源程序在文件PROG1.C文件中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include
#define N 16
typedef struct
{ char num[10];
int s;
} STREC;
int fun( STREC *a,STREC *b,int l, int h )
{
}
main()
{ STREC s[N]={{"GA005",85},{"GA003",76},{"GA002",69},{"GA004",85},
{"GA001",96},{"GA007",72},{"GA008",64},{"GA006",87},
{"GA015",85},{"GA013",94},{"GA012",64},{"GA014",91},
{"GA011",90},{"GA017",64},{"GA018",64},{"GA016",72}};
STREC h[N],tt;FILE *out ;
int i,j,n,low,heigh,t;
printf("Enter 2 integer number low
scanf("%d%d",
if ( heighh[j].s) {tt=h[i] ;h[i]=h[j]; h[j]=tt;}
for(i=0;i
fprintf(out,"M/n",h[i].s);
fprintf(out,"/n");
fclose(out);
}
问答题给定程序MODI1.C中函数fun的功能是:计算s所指字符串中含有t所指字符串的数目,并作为函数值返回。
请改正函数fun中指定部位的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
#include
#define N 80
int fun(char *s, char *t)
{ int n;
char *p , *r;
n=0;
while (*s)
{ p=s;
/*********found**********/
r=p;
while(*r)
if(*r==*p) {r++; p++; }
else break;
/*********found**********/
if(*r= 0)
n++;
s++;
}
return n;
}
main ()
{ char a[N],b[N]; int m;
printf("/nPlease enter string
a : "); gets(a);
printf("/nPlease enter substring
b : "); gets(b);
m=fun(a, b);
printf("/nThe result is : m
= %d/n",m);
}
问答题下列给定程序中,函数fun的功能是:求出如下分数序列的前n项之和,并将该值通过函数值返回。请改正程序中的错误,使其得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<stdlib.h>#include<conio.h>#include<stdio.h>/**********found**********/fun(intn)inta=2,b=1,c,k;doubles=0.0;for(k=1;k<=n;k++)/**********found**********/s=s+(Double)a/b;c=a;a=a+b;b=c;return(s);voidmain()intn=5;system("CLS");printf("/nThevalueoffunctionis:%if/n",fun(n));
问答题给定程序中,函数fun的功能是:找出N×N矩阵中每列元素中的最大值,并按顺序依次存放于形参b所指的一维数组中。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
试题程序:
1 #include<stdio.h>
2 #define N 4
3 void fun(int(*a)[N],int*b)
4 { int i,j;
5 for(i=0;i<N;i++){
6 /*********found*********/
7 b[i]=
【1】
;
8 for(j=1;j<N;j++)
9 /*********found*********/
10 if(b[i]
【2】
a[j][i])
11 b[i]=a[j][i];
12 }
13 }
14 main()
15 { int x[N][N]={{12,5,8,7},{6,1,9,3},{1,2,3,4},{2,8,4,3)},y[N],i,j;
16 printf("\nThe matrix:\n");
17 for(i=0;i<N;i++)
18 {for(j=0;j<N;j++)
19 printf("%4d",x[i][j])j
20 printf("\n");
21 }
22 /*********found*********/
23 fun(
【3】
);
24 printf("\nThe result is:");
25 for(i=0;i<N;i++)
26 printf("%3d",y[i]);
27 printf("\n");
28 }
问答题请编写函数fun,其功能是分别统计形参t所指二维数组中字母A和C的个数。 注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。1 #include<stdio.h>2 #include<stdlib.h>3 #define M 144 void NONO();5 void fun(char(*t)[N],int*a,int*c)6 {7 }8 void get(char(*s)[M])9 {int i,j;10 for(i=0;i<M;i++)11 {for(j=0;j<M;j++)12 {s[i][j]=65+rand()%12;13 printf(''%c'',s[i][j]);}14 printf(''\n'');15 }16 }17 main()18 {char a[M][M];19 int x,y;20 get(a);21 fun(a,&x,&y);22 printf(''A=%d C=%d\n'',x,y);23 NONO();24 }25 void NONO()26 {/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */27 FILE *fp,*wf;28 int i,j,x,y;29 char a[M][M];30 fp=fopen(''in.dat'',''r'');31 wf=fopen(''out.dat'',''w'');32 for(i=0;i<M;i++)33 {for(j=0;j<M;j++)34 {fscanf( fp, ''%c '',&a[i][j]);}35 }36 Fun(a,&x,&y);37 fprintf(wf,''A=%d\n'',x);38 fprintf(wf,''C=%d\n'',y);39 fclose(fp);40 fclose(wf);41 }
问答题给定程序MODI1.C中的函数Creatlink的功能是创建带头结点的单向链表, 并为各结点数据域赋0到m-1的值。
请改正函数Creatlink中指定部位的错误, 使它能得出正确的结果。
注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构!
给定源程序:
#include
#include
typedef struct aa
{ int data;
struct aa *next;
} NODE;
NODE *Creatlink(int n, int m)
{ NODE *h=NULL, *p, *s;
int i;
/**********found***********/
p=(NODE )malloc(sizeof(NODE));
h=p;
p->next=NULL;
for(i=1; idata=rand()%m; s->next=p->next;
p->next=s; p=p->next;
}
/**********found***********/
return p;
}
outlink(NODE *h)
{ NODE *p;
p=h->next;
printf("/n/nTHE LIST :/n/n HEAD ");
while(p)
{ printf("->%d ",p->data);
p=p->next;
}
printf("/n");
}
main()
{ NODE *head;
head=Creatlink(8,22);
outlink(head);
}
问答题学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组S中。请编写函数fun,其功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。
例如,输入的分数是60、69,则应当把分数在60~69的学生数据输出,包含60分和69分的学生数据。主函数中把60放在low中,把69放在heigh中。
注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include
#define N 16
typedef struct
{
char num[10];
int s;
}STREC;
int fun(STREC *a,STREC *b,int 1,int h)
{
}
main()
{
STREC s[N]={{"GA005",85},("GA003",76},
{"GA002",69),{"GA004",85},{"GA001",96},
{"GA007",72},{"GA008",64},{"GA006",87},
{"GA015",85},{"GA013",94},{"GA012”,64),
{"GA014",91),{II GA011”,90),{"GA017",64},
{"GA018",64},{"GA016",72}};
STREC h[N],tt;FILE*out;
int i,j,n,low,heigh,t;
printf("Enter 2 integer number lowh[i]=h[j];h[j]=tt;}
for(i=0;i
问答题请编写函数fun,其功能是:将M行N列的二维数组中的数据,按列的顺序依次放到一维数组中。一维数组中数据的个数存放在形参n所指的存储单元中。
例如,若二维数组中的数据为:
33 33 33 33
44 44 44 44
55 55 55 55
则一维数组中的内容应:
33 44 55 33 44 55 33 44 55 33 44 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:/n");
for(i=0;i<n;i++)
printf("%3d",a[i]);
}
问答题请编写函数fun(),其功能是:找出2M整型二维数组中最大元素的值,并将此值返回调用函数。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数fun()的花括号中填入编写的若干语句。
试题程序:
#define M 4
#include<stdio.h>
int fun(int a[][M])
{
}
void main()
{
int arr[2][M]={5, 8, 3, 45, 76, -4, 12, 2};
printf("max=%d/n", fun(arr));
}
问答题请编写一个函数int proc(int*s,int t,int*k),用来求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。
例如,输入如下整数:
876 675 896 101 999 401 980 431 451 777
则输出结果为4,999。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
试题程序:
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
int proc(int*s, int t, int*k)
{
}
void main()
{
int arr[10]={876, 675, 896, 101, 999, 401, 980, 431, 451, 777}, k;
system("CLS");
proc(arr, 10,
printf("%d, %d/n", k, arr[k]);
}
问答题函数fun的功能是:在有n个元素的结构体数组std中,查找有不及格科目的学生,找到后输出学生的学号;函数的返回值是有不及格科目的学生人数。例如,主函数中给出了4名学生的数据,则程序运行的结果为: 学号:N1002 学号:N1006 共有2位学生有不及格科目 请在程序的下划线处填入正确的内容,并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 typedef struct3 {char num[8];4 double score[2];5 /**********found**********/6 }_(1)__;7 int fun(STU std[],int n)8 { int i,k=0;9 for(i=0;i<n;i++)10 /**********found**********/11 if( std[i].score[0]<60__(2)__std[i].score[1]<60)12 { k++; printf (''学号:%s'',std[i].num);}13 /**********found**********/14 return __(3)__;15 }16 main()17 {STU std[4]={ ''N1001'',76.5,82.0,''N1002'',53.5,73.0,''N1005'',80.5,66.0,''N1006'',81.0,56.0};18 printf(''\n共有%d位学生有不及格科目\n'',fun(std,4) };19 }
问答题请编写函数fun,其功能是:判断形参n中的正整数是几位数(输人数据的位数不超过4位),并将结果通过函数值返回。例如:若输入的数据为123,则输出结果为:输入的数字是3位。注意:部分源程序存在PR0G1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:
问答题请编写函数fun,它的功能是:求出能整除形参x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
例如,若x中的值为:35,则有4个数符合要求,它们是:1,5,7,35。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include<stdio.h>
void fun(int x, int pp[], int*n)
{
}
main()
{int x, aa[1000], n, i;
printf("/Please enter an integer number:/n");
scanf("%d",
fun(x, aa,
for(i=0; i<n; j++)
printf("%d", aa[i]);
printf("/n");
}
问答题下列给定程序中,函数proc()的功能是:从字符串str中,删除所有小写字母c。
请修改程序中的错误,使它能得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<stdio.h>
void proc(char*str)
{
int i, j;
for(i=j=0; str[i]!="/0"; i++)
if(str[i]!="c")
//****found****
str[j]=str[i];
//****found****
str[i]="/0";
}
void main()
{
char str[80];
printf("/nEnter a string: ");
gets(str);
printf("The original string: ");
puts(str);
proc(str);
printf("The string after deleted: ");
puts(str); printf("/n/n");
}
问答题给定程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。ss所指字符串数组中共有N个字符串,且串长小于M。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include
#include
#define N 5
#define M 8
void fun(char (*ss)[M])
{ char *ps[N],*tp; int i,j,k;
for(i=0; i
问答题给定程序中,函数fun的功能是:将N×N矩阵主对角线元素中的值与反向对角线对应位置上元素中的值进行交换。例如,若N=3,有下列矩阵:
1 2 3
4 5 6
7 8 9
交换后为:
3 2 1
4 5 6
9 8 7
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在
下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include <stdio.h>
#define N 4
/**********found**********/
void fun(int ______, int n)
{ int i,s;
/**********found**********/
for (______; i++)
{ s=t[i] [i];
t[i] [i]=t[i] [n-i-1];
/**********found**********/
t[i] [n-1-i]=______;
}
}
main()
{ int t[] [N]={21,12,13,24,25,16,47,38,29,11,32,54,42, 21,33,10},i,j;
printf ("/nThe original array:/n");
for(i=0; i<N; i++)
{ for(j=0; j<N; j++) printf("%d",t[i] [j]);
printf ("/n");
}
fun (t,N);
printf("/nThe result is:/n");
for(i=0; i<N; i++)
{ for(j=0; j<N;j++) printf("%d",t[i] [j]);
printf ("/n");
}
}
