C语音上机南开题答案

2019-01-12 15:33

1 填空: 【1】j=0 【2】*(pf+j)-32 【3】j++ 改错:

(1)错误: { if (*p<=*q) 正确:{ if (*p>=*q) (2)错误:k++ 正确:k++; 编程:

void fun(int a ,int b,long *c) {

*c=(b)*1000+(b/10)*100+(a%1 } 2 填空: 【1】disc<0

【2】(-b+sqrt(disc))/(2*a) 【3】(-b-sqrt(disc))/(2*a) 改错:

(1)错误:int j=1; 正确:double j=1.0; (2)错误:y+=1/(i * i); 正确:y+=j/(i * i); 编程:

void fun(int tt[M][N],int pp[N]) {

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

max=tt[0][j];

/*假设各列中的第一个元素最大*/ for(i=0;imax)

/*如果各列中的其他元素比最大值 还大,则将更大的元素看做当前该列中最大的元素*/ max=tt[i][j]; pp[j]=max;

/*将各列的最大值依次放入pp 数组中*/ } } 3 填空: 【1】n>0 【2】n+'0' 【3】str[i]= ′\\0′ 改错:

(1)错误:fun(int n); 正确:fun(int n) (2)错误:if(n=1) 正确:if(n==1) 编程:

int fun(char *s, int num)

{char t; int i, j;

for(i=1;i

/*下标值从1 开始,用循环依次取 得字符串中的字符*/ for(j=i+1;j

/*将字符与其后的每个字符比较*/ if(s[i]>s[j])

/*如果后面字符的ASCII 码值小于该 字符的ASCII 码值*/ { t=s[i];

/*则交换这两个字符*/ s[i]=s[j]; s[j]=t; } } 4 填空: 【1】xx[i] 【2】bb[n++]=xx[i] 【3】n 改错:

(1)错误:int fun(int n) 正确:double fun(int n) (2)错误:result *=n++ ; 正确:result *=n-- ; 编程:

double fun(int n) {double s=0.0; int i;

for(i=0; i

/*从0~n 中找到既能被5 整除同时 又能被11 整除的数,并将这些数求和*/ if(i%5==0&&i==0) s=s+i; s=sqrt(s); /*对s 求平方根*/ return s; } 5 填空:

【1】(-b+sqrt(disc))/(2*a) 【2】-b/(2*a)

【3】sqrt(fabs(disc))/(2*a) 改错:

(1)错误:long k=1; 正确:long k=0; (2)错误:while(num) 正确:while(num); 编程:

int fun(int t) {

int a=1,b=1,c=0,i;

/*a 代表第n-2 项,b 代表第n-1 项, c 代表第n 项*/

/*如果求得的数c 比指定比较的数小, 则计算下一个Fibonacci 数, 对a,b 重新置数*/ do { c=a+b; a=b; b=c; }

while (c

/*如果求得的数c 比指定比较的数大时, 退出循环*/ c=a;

/*此时数c 的前一个Fibonacci 数为 小于指定比较的数的最大的数*/ return c; } 6 填空: 【1】int a[][N] 【2】s/(n*n) 【3】sqrt(f) 改错:

(1)错误: void fun(char s, char t[ ]) 正确:void fun(char *s, char t[ ]) (2)错误: if(i%2=0||s[i]%2!=0) 正确:if(i%2==0||s[i]%2!=0) 编程:

long fun(int n) { int i; long s=0;

for(i=2;i<=n-1;i++)

/*从2~n-1 中找n 的所有因子*/ if(n%i==0) s+=i*i;

/*将所有因子求平方加*/ return s; /*将平方和返回*/ } 7 填空: 【1】j--

【2】*(p2+n)='\\0' 【3】*p2 改错题

(1)错误:k=n; 正确:k=i;

(2)错误:s[j]=i; 正确:s[j++]=i; 编程题

fun(int a[ ][N], int n) {

int i, j;

for(i=0; i

【2】bb[*p-'0']++ pp[j++]=i; *n=j;

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

10.填空题 【1】″%ld″,&n 【2】n=-n; 【3】″%ld″, n . 改错题

(1)错误:int fun(char t[ ]) /*返回数组的最小元素*/ }

12.填空题 【1】″%d″,&n 【2】str2[i]=str1[i]; 【3】str2 . 改错题

(1)错误:if((s[i]>= 'A'&&s[i]<= 'Z')&&(s[i]>= 'a'&&s[i]<= 'z'))

正确:if((s[i]>= 'A'&&s[i]<= 'Z')||(s[i]>= 【3】num[j]=bb[i] 【解析】填空1:通 改错题:

(1)错误: for(i=0; i

int fun(int score[],int m, int up[]) {

int i,j=0; float av=0.0; for(i=0;iav)

/*如果分数高于平均分,则将此分数 放入up 数组中*/ up[j++]=score[i]; return j;

/*返回高于平均分的人数*/ } 9.填空题 【1】*p

【2】default: b[10]++; 【3】p++; . 改错题

(1)错误:ifhigh%j==0 正确:if(high%j==0) (2)错误:if(yes==0) 正确:if(yes . 编程题

void fun (int x, int pp[], int *n) {

int i,j=0;

for(i=2;i<=x;i=i+2)

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

/*将能整除x 的数存入数组pp 中*/

正确:void fun(char t[ ]) (2)错误: t[j]=t[i++]; 正确:t[j]=t[i]; . 编程题

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

/*判断一个数是否为素数*/ if(i%j==0) {

xx[n++]=i;

/*如果不是素数,放入数组xx 中*/ break;

/*并跳出本层循环,判断下一个数*/ } }

11.填空题 【1】″%s″,str1 【2】%c 【3】str2 . 改错题

(1)错误:while(x[i]==0) 正确:while(x[i]!=0) (2)错误:sum=sum\\c; 正确:sum=sum/c; . 编程题

int fun(int *s,int t,int *k) { int i; *k=0;

/*k 所指的数是数组的下标值*/ for(i=0;is[i]) *k=i;

/*找到数组的最小元素,把该元素 的下标赋给k 所指的数*/ return s[*k];

'a'&&s[i]<= 'z')) (2)错误:s[j]= \正确:s[j]='\\0'; . 编程题

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

for(i=0;i

/*将数组右上半三角元素中的值 全部置成0*/ }

13.填空题 【1】n/100 【2】″yes!″ 【3】″no!″ . 改错题

(1)错误:for(j=0;j

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

int i,j,k=0; int s=0;

for(i=0;i

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

return s;

/*返回周边元素的平方和*/ }

14.填空题 【1】xx[i]

【2】bb[n++]=xx[i] 【3】n . 改错题

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

double fun(STREC *h) {

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

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

return min; }

15.填空题

【1】s[i]>= ′0′ &&s[i]<= ′9′ 【2】s[i]- ′0′ 【3】n . 改错题

(1)错误:int ave ,t=0; 正确:float ave ,t=0.0; (2)错误:if(s[i]ave) (3)错误:aver=ave; 正确:*aver=ave . 编程题

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; }

16.填空题 【1】i<*num 【2】n++ 【3】*num=n 【解析】填空1 . 改错题

(1)错误:int fun(int m) 正确:double fun(int m) (2)错误:for(i=1;i

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

int i,j=0;

for(i=1;i<=1000;i++)

/*求1 到1000 之内能被5 或13 整除、 但不能同时被5 和13 整除的所有整数, 并放入数组a 中*/ if((i%5==0||i==0)&& ie!=0) a[j++]=i; *n=j;

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

17.填空题 【1】bb[i]=0 【2】bb[5]++ 【3】p++; . 改错题

(1)错误:while(k>=2)&&(mc<6) 正确:while((k>=2)&&(mc<6)) (2)错误:if((k%7=0)||(k=0)) 正确:if((k%7==0)||(k= =0)) (3)错误:m=k; 正确:m=m+k; . 编程题

void fun(char *ss) { int i;

for(i=0;ss[i]!='\\0';i++) /*将ss 所指字符串中所有下标 为偶数位置的字母转换为小写*/ if(i%2==0&&ss[i]>='A'&& ss[i]<='Z') ss[i]=ss[i]+32; }

18.填空题 【1】alf[i]=0 【2】*p+=32 【3】p++ . 改错题

(1)错误:int fun(long s,long *t) 正确:void fun(long s,long *t) (2)错误:s=s0; 正确:s=s/100; . 编程题

fun (int a[][M])

{

int i,j,min=a[0][0]; for(i=0;i<4;i++) for(j=0;ja[i][j]) min=a[i][j];

/*求出二维数组的最小值*/ return min; }

19.填空题 【1】sum+=x[i] 【2】avg*1000 【3】(avg+5)/ . 改错题

(1)错误:for (i=0;j<3;j++) 正确:for (j=0;j<3;j++) (2)错误:mul=mul*a[i][j]; 正确:mul=mul*a[i][i]; . 编程题

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

int i,j=0,min=a[0].s; for(i=0;ia[i].s) min=a[i].s; /*找出最小值*/ for(i=0;i

/*找出成绩与min 相等的学生的记录, 存入结构体b 中*/ return j;

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

20.填空题 【1】*(p1+i) 【2】*p2 【3】*p2++ . 改错题

(1)错误:char fun(char tt[]) 正确:char *fun(char tt[])

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

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

int i,j,t;

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

for(j=n-2;j>=0;j--)

/*实现循环右移*/ w[j+1]=w[j]; w[0]=t; } }

21.填空题 【1】--I

【2】s[i]- ′ 0 ′ 【3】t*10+k . 改错题

if(i%j==0) { t=0; break; } if(t==1) xx[n++]=i; } *k=n;

/*返回素数的个数*/ if(a[i].s==b) str=a[i]; return str; }

25.填空题 【1】i=1

【2】k%i==0&&i%2==0 【3】--j . 改错题

(1)错误:if(strcmp((pstr+i),(pstr+j))<0) (1)错误:if(d%2!=0) 正确:if(d%2==0) (2)错误:t=d*s1+t; 正确:*t=d*s1+*t; . 编程题

int fun (STREC a[]) { int i,j; STREC t;

for(i=1;i

/*用冒泡法进行排序,进行N-1 次比较*/ for(j=0;j

/*在每一次比较中要进行N-1 次两两 比较*/

if(a[j].s>a[j+1].s)

/*按分数的高低排列学生的记录,低分 在前*/ { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } }

22.填空题

【1】int a[][N],int b[],int n 【2】b[i]

(1)错误:for (k=4;k

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

int i,j,t,n=0; for(i=2;i

/*找出大于1 小于整数m 的素数*/ { t=1;

for(j=2;j

}

23.填空题

【1】i==0||i==n-1||j==0||j==n-1 【2】4*n-4 【3】s/k . 改错题

(1)错误:*t=calloc(m,sizeof(STU)); 正确:t=calloc(m,sizeof(STU)); (2)错误:for (i=j=0;i

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

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

if((a[i].s>=0&&a[i].sh&&a[i].s<=100)) /*将分数低于l,高于h 的学生记录 存于结构体数组b 中*/ b[j++]=a[i]; return j;

/*返回分数范围内的学生人数*/ }

24.填空题 【1】i=0 【2】j--

【3】b[j]= ′ \\0 ′ . 改错题

(1)错误:for(k=m;k>0;k--) 正确:for(k=m-1;k>=0;k--) (2)错误:pt=j; 正确:pt-=j; . 编程题

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

STREC str={\for(i=0;i

正确:if(strcmp(*(pstr+i),*(pstr+j))<0) (2)错误:*(pstr+j)=*p; 正确:*(pstr+j)=p; . 编程题

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

int i,j=0,k=strlen(s); for(i=0;i

26.填空题 【1】k=2

【2】s+=(2*k-1)/s1 【3】s . 改错题

(1)错误:while((j>=0)||(ch>aa[j])) 正确:while((j>=0)&&(ch>aa[j])) (2)错误:aa[j]=ch; 正确:aa[j+1]=ch; . 编程题

double fun (STREC *a,STREC *b,STREC *c, int *n,int *m) { int i;

double av=0.0; *n=0; *m=0;

for(i=0;i

b[*n]=a[i];

/*将高于等于平均分的学生存入b 所指存储单元中,并统计人数*/ *n=*n+1; } else

{

c[*m]=a[i];

/*将低于平均分的学生存入c 所指 存储单元中,并统计人数*/ *m=*m+1; }

return av; /*返回平均分*/ }

27.填空题 【1】1 【2】k<=n 【3】s*=f/p . 改错题

(1)错误: printf(\正确: printf(\(2)错误:printf('\\n '); 正确:printf(\. 编程题

double fun(int n) { int i; double s=0.0; for(i=1;i<=n;i++)

/*计算S=(1+1/2)+(1/3+1/4)+…+ (1/(2n-1)+1/2n)*/

s=s+(1.0/(2*i-1)+1.0/(2*i)); return s; }

28.填空题 【1】int x[] 【2】sum+=x[i] 【3】sum/n . 改错题

(1)错误:int A=1; 正确:float A=1;

(2)错误:for(i=1;i<=n;i++) 正确:for(i=2;i<=n;i++) . 编程题

double fun(int m) { int i; double s=1.0; for(i=1;i<=m;i++) s=s-log(i);

/*计算s=1-ln(1)-ln(2)-ln(3)- …-ln(m)*/ return (s*s); /*对s 求平方并返回*/ }

29.填空题

【1】sum*x+*p-'0' 【2】sum%y 【3】sum=sum/y . 改错题

(1)错误:int fun(void) 正确:void fun(void)

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

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';

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

30.填空题

【1】n=*p-′ 0 ′ 【2】n*2+*p-'0' 【3】n . 改错题

(1)错误:for(i=j=0; s[i]!= '0';i++) 正确:for(i=j=0; s[i]!= '\\0';i++) (2)错误:s[j]=s[i]; 正确:s[j++]=s[i]; . 编程题

double fun(double x, int n) {

int i,j=1;

double s=1.0,s1=1.0; for(i=1;i<=n;i++) { j=-1*j; s1=s1*i;

/*各项中的阶乘*/ s=s+j*pow(x,i)/s1; /*按公式求出*/ }

return s; }

31.填空题

【1】char *str,int *m,int *k 【2】bb[j]++ 【3】*m<=bb[j] . 改错题

(1)错误:s[j]=s[i]; 正确:s[j++]=s[i];

(2)错误:s[j]=\\0\正确:s[j]= '\0 '; . 编程题

int fun(int score[],int m, int below[]) {

int i,j=0; float av=0.0; for(i=0;i

av=av+score[i]/m; /*求平均值*/ for(i=0;i/*返回低于平均分的人数*/ }

32.填空题

【1】\【2】bb[i]=0 【3】score[i]/10 . 改错题

错误:a[i+1]=a[i]; 正确:a[i]=a[i+1]; . 编程题

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

int i,j=0;

for(i=1;i<=1000;i++)

/*求1 到1000 之内能被7 或11 整除、 但不能同时被7 和11 整除的所有整 数,并放入数组a 中*/ if((i%7==0||i==0)&& iw!=0) a[j++]=i; *n=j;

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

33.填空题 【1】*p==t 【2】bb[n++]=I 【3】n . 改错题

(1)错误: for(i=2;i

void fun (int x, int pp[], int *n) {

int i,j=0;


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

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

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

马上注册会员

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