黑龙江大学C语言程序设计试题库程序改错.docx

上传人:b****5 文档编号:5935071 上传时间:2023-01-02 格式:DOCX 页数:10 大小:24.28KB
下载 相关 举报
黑龙江大学C语言程序设计试题库程序改错.docx_第1页
第1页 / 共10页
黑龙江大学C语言程序设计试题库程序改错.docx_第2页
第2页 / 共10页
黑龙江大学C语言程序设计试题库程序改错.docx_第3页
第3页 / 共10页
黑龙江大学C语言程序设计试题库程序改错.docx_第4页
第4页 / 共10页
黑龙江大学C语言程序设计试题库程序改错.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

黑龙江大学C语言程序设计试题库程序改错.docx

《黑龙江大学C语言程序设计试题库程序改错.docx》由会员分享,可在线阅读,更多相关《黑龙江大学C语言程序设计试题库程序改错.docx(10页珍藏版)》请在冰豆网上搜索。

黑龙江大学C语言程序设计试题库程序改错.docx

黑龙江大学C语言程序设计试题库程序改错

程序改错

功能:

给定n个实数,输出平均值,并统计在平均值以下(含平均值)的实数个数。

3。

例如:

n=6时,输入23.5,45.67,12.1,6.4,58.9,98.4所得平均值为40.828335,在平均值以下的实数个数应为

*/

#includeintfun(floatx[],intn){

intj,c=0;

/**********FOUND**********/floatj=0;

/**********FOUND**********/for(j=0;j<=n;j++)

xa+=x[j];

xa=xa/n;printf("ave=%f\n",xa);/**********FOUND**********/

for(j=0;j<=n;j++)

if(x[j]<=xa)c++;returnc;

}

voidmain(void)

{

floatx[]={23.5,45.67,12.1,6.4,58.9,98.4};

printf("%d\n",fun(x,6));

答案:

1).floatxa=0;或

2).for(j=0;j

3).for(j=0;j

}

floatxa=0.0;

或for(j=0;n>j;j++)或for(j=0;n-1>=j;j++)或for(j=0;j<=n-1;j++)

或for(j=0;n>j;j++)或for(j=0;j<=n-1;j++)或for(j=0;n-1>=j;j++)功能:

编写函数fun,求两个整数的最小公倍数,然后用主函数main()调用这个函数并输出结果,两个整数由键盘输入。

*/

#include"stdio.h"

main()

{

unsignedintm,n,q;printf("m,n=");

scanf("%d,%d",&m,&n);

/**********FOUND**********/

q==fun(m,n);

printf("p(%d,%d)=%d",m,n,q);getch();

}

intfun(intm,intn)

{

inti;

/**********FOUND**********/

if(m=n)

{

i=m;

m=n;

n=i;

}

for(i=m;i<=m*n;i+=m)

/**********FOUND**********/

if(i%n==1)

return(i);

答案:

1).q=fun(m,n);

2).if(m

3).if(i%n==0)

功能:

利用递归方法求5!

*/

#include"stdio.h"#include"stdio.h"main(){

inti;

intfact();printf("5!

=%d\n",fact(5));

}

intfact(j)intj;

{

intsum;

/**********FOUND**********/

if(j=0)

/**********FOUND**********/

sum=0;

else

sum=j*fact(j-1);

/**********FOUND**********/

returnj;}答案:

1).if(j==0)

2).sum=1;

3).returnsum;

功能:

用指针作函数参数,编程序求一维数组中的最大和最小的元素值.

#defineN10/***********FOUND***********/voidmaxmin(intarr[],int*pt1,*pt2,n){

inti;

/***********FOUND***********/

*pt1=*pt2=&arr[0];

for(i=1;i

{

/***********FOUND***********/

*pt1=arr[i];

*pt2=arr[i];

if(arr[i]<*pt1)

if(arr[i]<*pt2)

}

}

main()

{

intarray[N]={10,7,19,29,4,0,7,35,-16,21},*p1,*p2,a,b;

/***********FOUND***********/

*p1=&a;*p2=&b;

maxmin(array,p1,p2,N);

printf("max=%d,min=%d",a,b);

}

答案:

1).voidmaxmin(intarr[],int*pt1,int*pt2,intn)或maxmin(intarr[],int*pt1,int*pt2,intn)或voidmaxmin(int*arr,int*pt1,int*pt2,intn)

2).*pt1=*pt2=arr[0];或*pt1=*pt2=*(arr+0);或*pt2=*pt1=arr[0];

3).if(arr[i]>*pt1)*pt1=arr[i];或if(*(arr+i)>*pt1))*pt1=arr[i];或if(*pt1<*(arr+i)))*pt1=arr[i];或if(*pt1

4).p1=&a;p2=&b;

功能:

将长整型数中每一位上为偶数的数依次取出,构成一个新数放在t中。

高位仍在高位,低位仍在低位。

例如:

当s中的数为:

87654时,t中的数为:

864。

*/

#include

#includevoidfun(longs,long*t)

intd;

longsl=1;

*t=0;

while(s>0)

{

d=s%10;

/**********FOUND**********/

if(d%2=0)

{

/**********FOUND**********/*t=d*sl+t;

sl*=10;

}

/**********FOUND**********/

s\=10;

}

}

main()

{

longs,t;

clrscr();

printf("\nPleaseenters:

");scanf("%ld",&s);

fun(s,&t);

printf("Theresultis:

%ld\n",t);getch();

}

答案:

1).if(d%2==0)或if(d%2!

=1)

2).*t=d*sl+*t;或*t+=d*sl;或*t+=sl*d;或*t=*t+d*sl;或*t=*t+sl*d;

3).s/=10;或s=s/10;

功能:

根据整型形参m,计算如下公式的值:

y=1/2+1/8+1/18+...+1/2m*m

#include"stdio.h"doublefun(intm){

/**********FOUND**********/

doubley=0

inti;

/**********FOUND**********/

for(i=1;i

{

/**********FOUND**********/

y=+1.0/(2*i*i);

}

return(y);

}

main()

{

intn;

clrscr();

printf("Entern:

");

scanf("%d",&n);

printf("\nTheresultis%1f\n",fun(n));getch();

}

答案:

1).doubley=0;

2).for(i=1;i<=m;i++)

3).y+=1.0/(2*i*i);

 

功能:

以下程序输出前六行杨辉三角形,既

 

main()

staticinta[6][6];

inti,j,k;

/***********FOUND***********/

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

{

for(k=0;k<10-2*i;k++)

printf("");

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

{

/***********FOUND***********/if(j==0&&j==i)

a[i][j]=1;

else

/***********FOUND***********/

a[i][j]=a[i-1][j-1]+a[i][j-1];printf("");printf("%-3d",a[i][j]);

}

/***********FOUND***********/

printf("\t");

}

}

答案:

1).for(i=0;i<6;i++)或for(i=0;i<=5;i++)

2).if(j==0||j==i)

3).a[i][j]=a[i-1][j]+a[i-1][j-1];或a[i][j]=a[i-1][j-1]+a[i-1][j];

4)

.printf("\n");

*/

#include"string.h"

main()

{

intn,s;

/**********FOUND**********/s==n=0;

/**********FOUND**********/

while(s>1000){

++n;s+=n*n;

}

/**********FOUND**********/

printf("n=%d\n",&n-1);

getch();}答案:

1).s=n=0;

2).while(s<=1000)

3).printf("n=%d\n",n-1);

功能:

读入一个整数k(2

2、3、5、7、11。

例如:

若输入整数:

2310,则应输出:

请改正程序中的语法错误,使程序能得出正确的结果。

*/

#include"conio.h"#include"stdio.h"/**********FOUND**********/

IsPrime(integern){

inti,m;

m=1;

for(i=2;i

/**********FOUND**********/

if(n%i)

{

m=0;

break;

}

/**********FOUND**********/

return(n);

}

main()

intj,k;clrscr();

printf("\nPleaseenteranintegernumberbetween2and10000:

");

scanf("%d",&k);

printf("\n\nTheprimefactor(s)of%dis(are):

",k);for(j=2;j<=k;j++)

if((!

(k%j))&&(IsPrime(j)))printf("\n%4d",j);printf("\n");

}

答案:

1).IsPrime(intn)

2).if(!

(n%i))

3).return(m);

功能:

请编写函数fun,对长度为8个字符的字符串,将8个字符按降序排列。

例如:

原来的字符串为CEAedcab,排序后输出为edcbaECA。

*/

#include

#include

#includeintfun(char*s,intnum)

{

/**********FOUND**********/

inti;j;

chart;

for(i=0;i

/**********FOUND**********/if(s[i]>s[j])

{

t=s[i];

s[i]=s[j];

s[j]=t;

}

main()

chars[10];

clrscr();

printf("输入8个字符的字符串:

");gets(s);

fun(s,8);

printf("\n%s",s);

getch();

}

答案:

1).inti,j;

2).for(j=i+1;j

3).if(s[i]

功能:

计算正整数num的各位上的数字之积。

例如:

若输入:

252,则输出应该是:

若输入:

202,则输出应该是:

*/

#include#includelongfun(longnum)

{

/**********FOUND**********/

longk=1do

{k*=num%10;/**********FOUND**********/

num\=10;

/**********FOUND**********/

}while(!

num);return(k);

}

main()

longn;clrscr();

printf("\Pleaseenteranumber:

");scanf("%ld",&n);printf("\n%ld\n",fun(n));getch();

}

答案:

1).longk=1;

2).num/=10;

3).}while(num);或while(num!

=0)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 公务员考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1