程序填空题(也叫填空题)参考答案:
1、(1)double(2)f1(3)f2
2、(1)struct student(2)n-1(3)a[i].name,a[j].name
3、(1)0(2)x[i]/N(3)j++
4、(1)k(2)N(3)a[k][i]
5、(1)'0'(2)s++(3)ctod(a)+ctod(b)
6、(1)0(2)n(3)(t*t)
7、(1)j(2)0(3)i++
8、(1)N(2)k(3)ss[i]
9、(1)a(2)b.name(3)score[i]
10、(1)[M](2)N(3)0
11、(1)t,s(2)s[i](3)0
12、(1)j(2)k(3)p
13、(1)999(2)t/10(3)x
14、(1)48(2)s++(3)sum
15、(1)h->next(2)p->next(3)>=
16、(1)struct student *(2)a->score[i](3)a
17、(1)s/N(2)j++(3)-1
18、(1)n++(2)0(3)s++
19、(1)N(2)i(3)-1
20、(1)a[0][i](2)
21、(1)s(2)--(3)return 0
22、(1)fp(2)==(3)fp
23、(1)->sno(2)->name(3)&t
24、(1)x[i]/N(2)j++(3)i++
25、(1)0(2)i++(3)2.*i
26、(1)[N](2)i(3)i+1
27、(1)double(2)f1(3)f2
28、(1)FILE *(2)fclose(fp)(3)fp
29、(1)1(2)2*i(3)(-1)
30、(1)filename(2)fp(3)fp
31、(1)*av(2)i(3)x[j]
32、(1)FILE *(2)fp(3)ch
33、(1)struct student(2)a.name(3)a.score[i]
34、(1)i(2)ps[i](3)tp
35、(1)s[i](2)k(3)0
36、(1)3.(2)>(3)(2*i+1)
37、(1)10(2)0(3)x
38、(1)0(2)x(3)t++
39、(1)0(2)||(3)1
40、(1)k(2)N-1(3)temp
41、(1)N(2)break(3)n
42、(1)p->next(2)q(3)p->next
43、(1)next(2)0(3)r
44、(1)0(2)10*x(3)n/10
45、(1)N(2)substr(3)0
46、(1)1(2)s(3)i*10
47、(1)"rb"(2)>(3)fwrite
48、(1)*s(2)1(3)k[n]
49、(1)*s(2)s++(3)n
50、(1)NODE(2)next(3)r
程序修改题(也叫改错题)答案:
1、(1)char *fun(char *s,char *t)(2)ss++;(3)tt++;
2、(1)q=p+i;(2)while(q>p)
3、(1)double fun(int
m)(2)for(i=100;i<=m;i~1+=0)
4、(1)for(i = strlen( t )-1; i;i--)(2)if(t[j] >
t[j + 1 ] )
5、(1)void fun ( char *s, int *a, int *b
)(2)++(*a);(3)++(*b);
6、(1)for(i=0;str[i];i++)(2)if(substr[k+1]==0)
7、(1)for(i=2;i<=m;i++)(2)y-=1.0/i/i;
8、(1)int k=0;(2)while( *p || *q )
9、(1)s[j++]=s[i];(2)s[j]=0;
10、(1)t=1;(2)return(2*s);
11、(1)if(i%k==0)(2)if(k>=i)
12、(1)while(i
13、(1)void fun(long s,long *t)(2)while(s>0)
14、(1)if ((k == 0) || (k == 0))(2)}
15、(1)p=h->next;(2)p=p->next;
16、(1)char *fun( char (*sq)[M] )(2)return sp;
17、(1)#include "stdio.h"(2)upfst(char *p)
18、(1)t+=s[k];(2)*aver=ave;
19、(1)a2=k/10;(2)return i;
20、(1)int fun(int *x,int *y)(2)t=*x;*x=*y;*y=t;
21、(1)double fun (int n)(2)c=a;a+=b;b=c;
22、(1)n=strlen( aa ) ;(2)ch=aa[i];
23、(1)double fun(double a,double x0)(2)if(fabs(x1-x0)>0.00001)
24、(1)num[k]=0;(2)switch(*s)
25、(1)void fun (char *s,
char *t)(2)t[2*d] = 0;
26、(1)aa[i]=m%k;(2)printf("%d",aa[i-1]);
27、(1)p=h->next;(2)p=p->next;
28、(1)t=(STU *)calloc(sizeof(STU),m);(2)t[k]=b[j];
29、(1)k++;(2)if(m==k)
30、(1)p=(NODE *)malloc(sizeof(NODE));(2)return h;
31、(1)float fun(int n)(2)for (i=2; i<=n; i++)
32、(1)s[j++]=s[i];(2)s[j]=0;
33、(1)if(p==n) return -1;(2)a[i]=a[i+1];
34、(1)double fun(int n)(2)return sum;
35、(1)while(*w)(2)if(*r==*p)
36、 (1)double fun ( int n
)(2)s=s+(double)a/b;
37、(1)if (n==0)(2)result *= n-- ;
38、(1)int i,sl;(2)t[i]=s[sl-i-1];
39、(1)t-=1.0/i;(2)return t;
40、(1)void fun(int a[][M], int m)(2)a[j][k]=(k+1)*(j+1);
41、(1)sum=0;(2)scanf("%d",&a[i][j]);
42、(1)while(*s)(2)s++;
43、(1)r=t;(2)if(*r==0)
44、(1)*t=0;(2)if(d%2!=0)
45、(1)fun(int x,int y, int z)(2)return j;
46、(1)int fun(int n,int xx[][M])(2)printf("%d",xx[i][j]);
47、(1)p=s;(2)while(*p++); (加分号)
48、(1)float fun(int k)(2)return s;
49、(1)int j, c=0;double xa=0.0;(将double前面的逗号改为分号)(2)if
(x[j]>=xa)
50、(1)if(i%2 || s[i]%2==0)(2)t[j]=0;
编程题参考答案
注意:本答案中部分代码由原题本身提供,读者只需填写没有提供的部分就行了。
1、void fun(char *w,
int m)
{
int i;
for(i=0;i
fun1(w); }
2、int fun( STREC *a,STREC
*b,int l, int h )
{
int i,j=0;
for(i=0;i
{
if(a[i].s>=l
&& a[i].s<=h)
{
b[j]=a[i];
j++;
} }
return j;
}
3、fun( STU a[],
STU *s )
{
int i;
*s=a[0];
for(i=1;i
{
if(a[i].ss)
{
*s=a[i];
}
}
}
4、void fun( char *ss )
{
int i=1;
while(ss[i-1] &&
ss[i])
{
if(ss[i]>='a'
&& ss[i]<='z')
ss[i]+='A'-'a';
i+=2;
}
}
5、float fun ( float h )
{
long i=h*1000;
if(i<5) return (i/10)/100.0;
else return (i/10+1)/100.0;
}
6、double fun ( double eps)
{ double i=1,a=1,b=1,c=1,s=0;
while(c>=eps)
{
s+=c;
a*=i;
b*=2*i+1;
c=a/b;
i++;
}
return s*2;
}
7、int fun(int score[], int m, int below[])
{
int i,j=0,s=0;
for(i=0;i
s+=score[i];
s/=m;
for(i=0;i
{
if(score[i]
{
below[j]=score[i];
j++;
}
} return j;
}
8、void fun( char *a )
{
int i=0,k;
while(a[i]=='*') i++;
k=i+1;
while(a[i]!='\0') {
if(a[k]!='*')
{
a[i]=a[k];
i++;
}
k++;
}
a[i+1]='\0';
}
9、void fun( char *a )
{
char *p,*q;
int n=0;
p=a;
while(*p=='*') {n++; p++;}
q=a;
while(*p) *q++=*p++; for(;n>0;n--) *q++='*';
*q='\0'; }
10、#include
void fun( char *a, int n
)
{
int i=0,j,k=0;
while(a[k]=='*') k++;
if(k>n)
{
i=n;j=k;
while(a[j])
a[i++]=a[j++];
a[i]=0;
}
}
11、void fun ( int x, int pp[], int *n )
{
int i;
*n=0;
for(i=1;i<=x;i+=2)
{
if(x%i==0)
{
pp[*n]=i;
(*n)++;
}
}
}
12、void fun(char *s, char t[])
{
int i=0,j=0;
while(s[i])
{
if(i%2!=0 || s[i]%2==0)
{
t[j]=s[i];
j++;
}
i++;
}
t[j]=0;
}
13、void fun(int a, int b, long *c)
{
*c=a/10*100+a+b/10*10+b*1000;
}
14、double fun( int n)
{
int i;
double s=0;
for(i=1;i
{
if(i%3==0
&& i%7==0) s+=i;
}
return sqrt(s);
}
15、void fun(int (*s)[10],
int *b, int *n, int mm, int
nn)
{
int i,j;
*n=0;
for(i=0;i
for(j=0;j
{
b[*n]=s[i][j];
(*n)++;
}
}
16、int fun( STREC a[]
)
{
int i,j;
STREC b;
for(i=0;i
for(j=i+1;j
if(a[i].s
{ b=a[i];a[i]=a[j];a[j]=b;}
}
17、double fun ( int w[][N] )
{
double s=0;
int i;
for(i=0;i
s+=w[0][i]+w[N-1][i]+w[i][0]+w[i][N-1];
s-=w[0][0]+w[0][N-1]+w[N-1][0]+w[N-1][N-1];
return s/(N*4-4);
}
18、int fun(int *s, int t, int *k)
{
int i;
*k=0;
for(i=0;i
if(s[i]>s[*k])
*k=i;
}
19、void fun( char *a )
{
int i=0,j=0;
while(a[i])
{
if(a[i]!='*') j=0;
else j++;
i++;
}
a[i-j]=0;
}
20、int fun(int lim, int aa[MAX])
{
int i,j,k=0;
for(i=2;i<=lim;i++)
{
for(j=2;j
if(i%j==0)
break;
if(j==i)
{
aa[k]=i;
k++;
}
}
return k;
}
21、void fun(int m, int k, int xx[])
{
int i, j=1, t=m+1;
while(j<=k)
{
for(i=2;i
if(t%i==0)
break;
if(t==i)
{
xx[j-1]=i;
j++;
}
t++;
}
}
22、double fun( STREC *h )
{
double a=0;
STREC *p=h->next;
while(p)
{
if(as)
a=p->s;
p=p->next;
}
return a;
}
23、double fun( STREC *a,
STREC *b, int *n )
{
int i;
double s=0;
for(i=0;i
s+=a[i].s;
s/=N;
*n=0;
for(i=0;i
if(a[i].s>s)
{
b[*n]=a[i];
(*n)++;
}
return s;
}
24、int fun ( int a[M][N] )
{
int i,s=0;
for(i=0;i
s+=a[0][i]+a[M-1][i];
for(i=1;i
s+=a[i][0]+a[i][N-1];
return s;
}
25、void fun(char *s, char t[])
{ int i=0,j=0;
while(s[i])
{
if(i%2==1
&& s[i]%2==1)
{
t[j]=s[i];
j++;
}
}
t[j]=0;
}
26、fun(char(*a)[81],int num,char **max)
{
int i,k=0,len, maxlen; maxlen=strlen(a[k]);
for(i=1;i
{
len=strlen(a[i]);
if(maxlen
{
k=i;
maxlen=len;
}
}
*max=a[k];
}
27、int fun(char *str)
{
int i,j=0;
while(str[j]) j++;
for(i=0;i<=j/2;i++)
if(str[i]!=str[j-i-1]) break;
if(i>=j/2) return 1;
else return 0;
}
28、int fun(int a[],
int n)
{
int i,j=0;
for(i=1;i
{
if(a[i]!=a[j])
{
j++;
a[j]=a[i];
}
}
return j+1;
}
29、void fun(int a[], int n , int *max,
int *d )
{
int i;
*d=0;
for(i=1;i
if(a[i]>a[*d]) *d=i;
*max=a[*d];
}
30、int fun( char *s)
{
int i=0,j=0,f=1;
while(s[i])
{
if(s[i]
s[i]>'z')
{
if(f)
j++;
f=0;
}
else
f=1;
i++;
}
return j+1;
}
31、int fun ( int a[][N], int m )
{
int i,j;
for(i=0;i
for(j=i;j
a[i][j]*=m;
}
32、void fun(char s[][N],
char *b)
{
int i,j,n=0;
for(i=0; i <
N;i++) {
for(j=0;j
{
b[n]=s[j][i];
n++;
}
}
b[n]='\0';
}
33、int fun( STREC *a, STREC
*b )
{
int i,j=0,s=a[0].s;
for(i=1;i
if(a[i].s
for(i=0;i
if(a[i].s==s)
{
b[j]=a[i];
j++;
}
return j;
}
34、double fun(double x , int n)
{
int i;
double a=1,b=1,s=1;
for(i=1;i<=n;i++)
{
a*=x;
b*=i;
s+=a/b;
}
return s;
}
35、void fun(char *s,
char t[])
{
int i=0,j=0;
while(s[i])
{
if(s[i]%2==0)
{
t[j]=s[i];
j++;
}
i++;
}
t[j]=0;
}
36、fun (int a[][M])
{
int i,s=a[0][0];
for(i=0;i
{
if(a[0][i]>s) s=a[0][i];
if(a[1][i]>s) s=a[1][i];
}
return s;
}
37、long fun ( char *p)
{
int i, len, t; long x=0;
len=strlen(p);
if(p[0]=='-')
{ t=-1; len--; p++; }
else t=1;
for(i=0;i
x=x*10+p[i]-'0';
return x*t;
}
38、void fun(int a, int b, long *c)
{
*c=a/10*100+a+b/10*1000+b*10;
}
39、int fun(char *str)
{
int i,k=0;
char *p=str,s[81];
while(*p)
{ if(*p!=' ') s[k++]=*p;
p++;
}
for(i=0;i
str[i]=s[i];
str[i]='\0';
}
40、void fun(char p1[], char p2[])
{
char *p,*q;
p=p1;
q=p2;
while(*p) p++;
while(*q) *p++=*q++;
*p='\0';
}
41、int fun(int array[3][3])
{
int i,j,t;
for(i=0;i<3;i++)
for(j=0;j
{
t=array[i][j];array[i][j]=array[j][i];array[j][i]=t;}
}
42、void fun(int *w,
int p, int n)
{
int i,a[N];
for(i=0;i<=p;i++)
a[i]=w[i];
for(i=0;i
w[i]=w[i+(p+1)];
for(i=0;i<=p;i++)
w[n-(p+1)+i]=a[i];
}
43、void fun(char a[M][N],
char *b)
{
int i; *b=0;
for(i=0;i
strcat(b,a[i]);
}
44、void fun(int a, int b,
long *c)
{
*c=a/10*10+a*1000+b/10+b*100;
}
45、void fun( char *a, int n,int h,int e
)
{
int i;
for(i=0;i
{ a[i]=a[i+h];
}
a[i]=0;
}
46、void fun(int a, int b, long *c)
{
*c=a/10*1000+a*10+b/10+b*100;
}
47、void fun( int *a, int *b)
{
int i,k;
for(i=0;i
for(i=0;i
{ k=a[i]/10;
if(k>=10) b[10]++;
else b[k]++;
}
}
48、double fun( int n )
{
int i;
double s;
for(i=1;i<=n;i++)
{ s+=1.0/(i*(i+1));
}
return s;
}
49、float fun(int m, int n)
{ int i;
float m1=1.0,n1=1.0,k=1.0;
for(i=1;i<=m;i++) m1*=i;
for(i=1;i<=n;i++) n1*=i;
for(i=1;i<=m-n;i++) k*=i;
return m1/n1/k;
}
50、void fun(int s[][10], int b[], int *n, int mm, int nn)
{
int
i,j,np=0; for(j=0;j
for(i=0;i
b[np++]=s[i][j];
*n=np;
}