C语音上机南开题答案(2)

2019-01-12 15:33

for(i=1;i

/*i 的初始值为1,步长为2,确保i 为奇数*/ if(x%i==0)

/*将能整除x 的数存入数组pp 中*/ pp[j++]=i; *n=j;

/*传回满足条件的数的个数*/ }

34.填空题

【1】*(str+i++)=*p 【2】p=str 【3】m=j . 改错题 (1)错误:p=j 正确:p=j ; (2)错误:p=j; 正确:p=i; . 编程题

void fun(char*tt,int pp[] ) { int i;

for(i=0;i<26;i++)

pp[i]=0; /*初始化pp 数组各元素为0*/ for(;*tt!='\\0';tt++) if(*tt>='a'&&*tt<='z') pp[*tt-'a']++;

/*将tt 字符串中'a'到'z'26 个字母 各自出现的次数,依次放在pp 数组 中,任一个小写字母减去'a'后所 得结果正好是它对应的下标*/ }

35.填空题

【1】n0!=0 或n0 【2】n@0==0 【3】flag . 改错题

(1)错误:fun(char *p) 正确:void fun(char *p) (2)错误:p=q+i; 正确:q=p+i;

(3)错误:while(qp). 编程题 . 编程题

void fun(int m, int k, int xx[]) {

int i,j,n;

for(i=m+1,n=0;n

/*找大于m 的素数,循环k 次,即找出 紧靠m 的k 个素数*/ {for(j=2;j

/*判断一个数是否为素数,如果不 s=s+1.0/s1; 是,跳出此循环,判断下一个数*/ /*求多项式的值*/ if(i%j==0) break; }

if(j>=i)

return s; /*如果是素数,放入数组xx 中*/ }

xx[n++]=i; 38.填空题

} 【1】char *fun(int n) }

【2】2

36.填空题

【3】n%i==0 或!(n%i) 【1】s[j++]=*(p+i) . 改错题

【2】i++ (1)错误:a=NuLL; 【3】m=j 正确:a=NULL;

. 改错题

(2)错误:if(r==p) { r++;p++;} (1)错误: t=s[k]; 正确:if(*r==*p) { r++;p++;} 正确:t+=s[k];

. 编程题

(2)错误: *aver=&ave; float fun (int m, int n) 正确:*aver=ave; { . 编程题

int i; int fun(int *s,int t,int *k) double p=1.0;

{ for(i=1;i<=m;i++) p=p*i; /*求m!*/ int i; for(i=1;i<=n;i++) p=p/i; *k=0;

/*求m!/n!*/

/*k 所指的数是数组的下标值*/ for(i=1;i<=m-n;i++) p=p/i; for(i=0;i

return p; /*找到数组的最大元素,把该元素的 }

下标赋给k 所指的数*/ 39.填空题

return s[*k];

【1】tt[i]<= ′ Z ′ /*返回数组的最大元素*/ 【2】tt[i]+=32 }

【3】tt 37.填空题 . 改错题

【1】*p (1)错误:t+=1.0/k; 【2】i++ 正确:t+=1.0/i; 【3】′ \\0 ′ (2)错误:return i; . 改错题

正确:return t;

(1)错误:int fun(char *s,char *t1,char *t2, . 编程题 char *w)

int fun (int a[][N])

正确:void fun(char *s,char *t1,char *t2, { char *w)

int i,j;

(2)错误:while( r) for(i=0;i

正确:r++; /*将数组左下半三角元素中的值全部 . 编程题

置成0*/ float fun(int n) }

{

40.填空题

int i,s1=0; 【1】i<=strlen(str)/2 或i

. 改错题

/*求每一项的分母*/

(1)错误:void fun (char str,char ch)

正确:void fun (char *str,char ch) (2)错误:if(*str==ch) 正确:if(*str=='\0') (3)错误:str[1]= '0'; 正确:str[1]= '\0'; . 编程题

double fun (int w[][N]) {

int i,j,k=0; double av=0.0; for(i=0;i

/*只要下标中有一个为0 或N-1,则 它一定是周边元素*/ {av=av+w[i][j]; /*将周边元素求和*/ k++; }

return av/k;

/*求周边元素的平均值*/ }

41.填空题 【1】max=a 【2】max=b 【3】max=c . 改错题

(1)错误:if((k=0)||(k=0)) 正确:if((k==0)||(k==0)) (2)错误:缺少大括号 正确:加} . 编程题

int fun( int a [M][N]) {

int i,j,sum=0; for(i=0;i

/*只要下标中有一个为0 或M-1 或N-1,则它一定是周边元素*/ sum=sum+a[i][j]; /*将周边元素相加*/ return sum; }

42.填空题 【1】n=0 【2】*r==*p 【3】*r==′ \\0 ′ . 改错题

(1)错误:void fun(int a,b) 正确:void fun(int *a,int *b) (2)错误:t=b;b=a;a=t; 正确:t=*b;*b=*a;*a=t; . 编程题

int fun (int array[3][3]) {

int i,j,t; for(i=0;i<3;i++)

/*将右上三角和左下三角对换,实 现行列互换*/ for(j=i+1;j<3;j++) {t=array[i][j];

array[i][j]=array[j][i]; array[j][i]=t; } }

43.填空题 【1】&num[i] 【2】max

(1)错误:void fun(long s,long t) 正确void fun(long s,long *t) (2)错误:while(s<0) 正确:while(s>0) . 编程题

int fun(int lim, int aa[MAX]) {

int i,j,k=0; for(i=2;i<=lim;i++)

/*求出小于或等于lim 的全部素数*/ { for(j=2;j=i) aa[k++]=i;

/*将求出的素数放入数组aa 中*/ }

return k;

/*返回所求出的素数的个数*/ }

44.填空题 【1】t==a[i] 【2】a[j++]=t . 改错题

(1)错误:fun(NODE *h) 正确:int fun(NODE *h) (2)错误:p=h->next; 正确:p=p->next; . 编程题

double fun(STREC *h)

{

double max=h->s; while(h!=NULL)

/*通过循环找到最高分数*/ {if(maxs) max=h->s; h=h->next; }

return max; }

45.填空题

【1】tt=(STU*)malloc(sizeof(STU)*m) 【2】b[i].order>b[j].order 【3】tt . 改错题

(1)错误:if(*r==*p) {r++;p++} 正确:if(*r==*p) {r++;p++ ; } (2)错误:if(r=='\0') 正确:if( *r=='\0') . 编程题

long fun(char *p) {

long n=0; int flag=1; if(*p=='-')

/*负数时置flag 为-1*/ {p++;flag= -1;} else if(*p=='+') /*正数时置flag 为1*/ p++;

while(*p!='\\0') {n=n*10+*p-'0';

/*将字符串转成相应的整数*/ p++; }

return n*flag; }

46.填空题 【1】sum+=x[i]

【2】abs+=(x[i]-avg)* (x[i]-avg) 【3】sqrt(abs/10) . 改错题

(1)错误:sun=1 正确:sum=0;

(2)错误:scanf(\正确:scanf(\. 编程题

char *fun(char *s, char *t) { int i,j;

for(i=0;s[i]!= '\\0';i++); /*求字符串的长度*/

for(j=0;t[j]!= '\\0';j++); if(i>=j)

/*比较两个字符串的长度*/ return s;

/*函数返回较长的字符串,若两个字符 串长度相等,则返回第1 个字符串*/ else return t; }

47.填空题 【1】i<=n

【2】i%3==0||i%7==0 【3】1.0/i 或1/(double)i . 改错题 (1)错误:t=0; 正确:t=1.0

(2)错误:while(t>eps) 正确:while(t>=eps) (3)错误:return(s); 正确:return(s*2); . 编程题

double fun(double eps) {

double s=1.0,s1=1.0; int n=1; while(s1>=eps)

/*当某项大于精度要求时,继续 求下一项*/ {s1=s1*n/(2*n+1); /*求多项式的每一项*/ s=s+s1; /*求和*/ n++; }

return 2*s; }

48.填空题

【1】i

(1)错误:void fun(char s[],int n) 正确:void fun(char *s,int n) (2)错误:s=p; 正确:p=s; (3)错误:i++; 正确:i++;p++; (4)错误:a[i]=0; 正确:a[i]= '\0'; . 编程题

void fun(int m, int *a, int *n) {

int i,j=0; for(i=1;i<=m;i++) if(i%7==0||i==0)

/*求出1 到m(含m)之内能被7 或11 整除的所有整数放在数组a 中*/ a[j++]=i; *n=j;

/*返回这些数的个数*/ }

49.填空题 【1】n==0 【2】n==1

【3】fun(n-1)+fun(n-2) . 改错题

(1)错误:{ t=a;b=a;a=t;} 正确:{ t=a;a=b;b=t;} (2)错误:return(a); 正确:return (b); . 编程题

void fun(int a[],int n, int *max, int *d) { int i; *max=a[0]; *d=0;

for(i=0;i

/*将最大的元素放入指针max 所指 的单元,最大元素的下标放入指 针d 所指的单元*/ if(*max

50.填空题 【1】n>1 【2】n-1 【3】n==1 . 改错题

错误:if(('A'<=tt[i]||(tt[i]<= 'Z')) 正确:if((tt[i]>= 'A')&&(tt[i]<= 'Z')) . 编程题

void fun(char *ss) { int i;

for(i=0;ss[i]!='\\0';i++)

/*将ss 所指字符串中所有下标为奇数 位置的字母转换为大写*/ if(i%2==1&&ss[i]>='a'&& ss[i]<='z') ss[i]=ss[i]-32; }

51.填空题

【1】k=0

【2】(i%2==0)||(i%3==0) 【3】s[k]= ′\\0′ . 改错题

错误:if(i+1%5==0) 正确:if((i+1)%5==0) . 编程题

fun (int a[][M]) {

int i,j,max=a[0][0]; for(i=0;i<2;i++) for(j=0;j/*求出二维数组的最大值*/ return max; }

52.填空题 【1】j%i==0 【2】flag==1 【3】aver/n . 改错题

(1)错误:while(*s!='@') 正确:while(*s) (2)错误:(*s)++; 正确:s++; . 编程题

void fun(char*s, char t[]) {

int i,j=0;

for(i=0;s[i]!='\\0';i++) if(i%2==0&&s[i]%2==0)

/*将s 所指字符串中下标和ASCII 值都为偶数的字符放入数组t 中*/ t[j++]=s[i]; t[j]='\\0';

/*在字符串最后加上结束标志位*/ }

53.填空题

【1】s[i]!=′\\0′ 【2】25 【3】1 . 改错题 (1)错误:t=0; 正确:*t=0;

(2)错误:if(d%2==0) 正确:if(d%2!=0) . 编程题

void fun(char *s, char t[]) {int i,j=0;

for(i=0;s[i]!='\\0';i++)

{if(i%2==0&& s[i]%2!=0) t[j++]=s[i]; }

/*将下标为偶数同时ASCII 码值为 奇数的字符放入数组t 中*/ t[j]= '\\0';

/*在字符串最后加上结束标志位*/ }

54.填空题 【1】i=0

【2】s[i]!= ′\\0′

【3】s[i]%2!=0 或s[i]%2==1 2. 改错题

(1)错误:if(p==' ') 正确:if(*p==' ')

(2)错误:*p=toupper( *(p-1)); 正确:*(p-1)=toupper( *(p-1)); . 编程题

int fun (STREC *a, STREC *b) {

int i,j=0,max=a[0].s; for(i=0;i

if(max

if(max==a[i].s) b[j++]=a[i]; /*找出成绩与max 相等的学生的记录, 存入结构体b 中*/ return j;

/*返回最高成绩的学生人数*/ }

55.填空题 【1】aa[k++]=t 【2】i

(2)错误:if(*r=0) 正确:if(*r=='\0') . 编程题

int fun (char *str) {

int i,j=0;

for(i=0;str[i]!='\\0';i++) if(str[i]!=' ')

/*将字符串中的空格删去*/ str[j++]=str[i];

/*注意该程序中空格字符的表达方法*/ str[j]='\\0';

/*在字符串最后加上结束标记符*/ }

56.填空题

【1】k=0 【2】j=2 【3】k-- . 改错题

(1)错误:t=x;x=y; 正确:t=*x; *x=y; (2)错误:return(y) ; 正确:return (t); . 编程题

void fun(STREC *p) { int i; p->ave=0.0; for(i=0;iave=p->ave+p->s[i]; /*求各门成绩的总和*/ p->ave=p->ave/N; /*求平均分*/ }

57.填空题 【1】i++

【2】s[j++]=s[i] 【3】s[j]='\\0' . 改错题

(1)错误:for(i=j+1;i

int fun(char *ss, char c) { int i=0;

for(;*ss!='\\0';ss++) if(*ss==c) i++;

/*求出ss 所指字符串中指定字符的个数*/ return i; }

58.填空题

【1】aa[max]aa[i] 【3】aa[max]=aa[min] . 改错题

(1)错误:void fun(int a[],int m) 正确:int fun(int a[],int m) (2)错误:else if(m>=a[mid]) 正确:else if(m>a[mid]) . 编程题

void fun(int *w, int p, int n) {

int i,j,t;

for(i=0;i<=p;i++) /*循环左移p+1 次*/ {t=w[0];

for(j=1;j

59.填空题 【1】str[i+1] 【2】str[i]=ch . 改错题

(1)错误:fun( int **a, int m) 正确:void fun( int (*a)[M], int m) (2)错误:a[j][k]=k*j; 正确:a[j][k]=(k+1)*(j+1); . 编程题

void fun (char *w,int m) { int i,j; char t;

for(i=1;i<=m;i++) /*进行m 次的循环左移*/ {t=w[0];

for(j=1;w[j]!='\\0';j++)

/*从第2 个字符开始以后的每个字符 都依次前移一个字符*/ w[j-1]=w[j]; w[j-1]=t;

/*将第1 个字符放到最后一个字符中*/ } }

60.填空题 【1】i=1,j=0 【2】bb[j++]=i 【3】return j . 改错题

(1)错误:fun(int n) 正确:double fun(int n) (2)错误:return sum 正确:return sum ; . 编程题

void fun(char (*s)[N],char *b) {

int i,j,k=0; for(i=0;i

/*按列的顺序依次放到一个字符串中*/ for(j=0;j

}

61.填空题 【1】i=1 【2】t=aa[j] 【3】aa[i]=t . 改错题

(1)错误:fun(char (*sq)[N]) 正确:char *fun(char (*sq)[M]) (2)错误:return sq; 正确:return sp; . 编程题

int fun(int a[][N], int m) { int i,j;

for(i=0;i

/*右上半三角元素中的值乘以m*/ }

62.填空题

【1】s[i]!= ′\\0′或s[i] 【2】32 或′a′-′A′ 【3】i++ . 改错题

(1)错误:*t=calloc(m,sizeof(STU)); 正确:t=calloc(m,sizeof(STU)); (2)错误:t[k].num=b[j].num; 正确:t[k]=b[j]; . 编程题

fun(char (*a)[81], int num, char *max) { int i=0; max=a[0];

for(i=0;i

/*传回最长字符串的地址*/ }

63.填空题

【1】s[i]或者s[i]!='\\0' 【2】s[i]==ch 【3】return n . 改错题

错误:t[i]=s[s1-1]; 正确:t[i]=s[s1-1-i]; . 编程题

int fun(char *str, char *substr) {

int i,j=0;

比较*/

for(i=0;str[i+1]!='\\0';i++)

if(a[j].s

str[i+1]==substr[1]) /*按分数的高低排列学生的记录, j++; 高分在前*/ return j;

}

/*返回子字符串在主字符串中出现的 66.填空题 次数*/ 【1】i

【2】s[i]%2==0 64.填空题

【3】s[j]= ′\\0′ 【1】g==s&&s==b 或者g==b&&s==b 或者. 改错题 g==s&&g==b (1)错误:y=0; 【2】g+s*10+b*100 正确:y=1; . 改错题

(2)错误:d=i-a;

(1)错误:int fun(char str[][10],int m,char 正确:d=a-i; *pt) . 编程题 正确:void fun(char str[][10],int m,char void fun ( char *ss)

*pt)

{ (2)错误:pt[i]=str[k,i]; int i;

正确:pt[i]=str[k][i]; for(i=0;ss[i]!='\\0';i++) . 编程题

{

void fun (char *a,int n , if(i%2==0 && ss[i]>='a' && int h , int e) ss[i]<= 'z')

{

/*将ss 所指字符串中所有下标为偶数 int i,j=0;

位置的字母转换成大写*/ for(i=h;i

ss[i]=ss[i]-32;}

/*第一个字母和最后一个字母之间 /*大写字母比相应的小写字母的 的字符全不删除*/ ASCII 码值小32*/ a[j++]=a[i]; }

a[j]='\\0';

67.填空题

/*在字符串最后加上结束标记*/ 【1】i+j==56&&i+2*j==72 }

【2】i,j 65.填空题

. 改错题

【1】aa[i]%2!=0 或aa[i]%2==1 (1)错误:fun(int *pstr[6]) 【2】i++,j++ 正确:void fun(int *pstr[6])

. 改错题

(2)错误:if(strcmp(*(pstr+i),pstr+j)>0) (1)错误:switch(g); 正确:if(strcmp(*(pstr+i),*(pstr+j))>0) 正确:去掉分号

(3)错误:*(pstr+i)=pstr+j; (2)错误: case 1;case 2: return 1; 正确:*(pstr+i)= *(pstr+j); 正确:case 1:case2:return 1; . 编程题

. 编程题

fun(STU a[], STU *s) int fun (STREC a[]) { { int i; int i,j; *s=a[0];

STREC t;

for(i=0;i

for(i=1;i

/*找出成绩最高的学生记录*/ /*用冒泡法进行排序,进行N-1 次比较*/ if(s->s

*s=a[i]; /*在每一次比较中要进行N-1 次两两

}


C语音上机南开题答案(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:环保、水保管理办法

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: