黑龙江大学C语言程序设计试题库程序改错_第1页
黑龙江大学C语言程序设计试题库程序改错_第2页
黑龙江大学C语言程序设计试题库程序改错_第3页
黑龙江大学C语言程序设计试题库程序改错_第4页
黑龙江大学C语言程序设计试题库程序改错_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、程序改错功能:给定n个实数,输出平均值,并统计在平均值以下(含平均值)的实数个数。例如:n=6时,输入23.5, 45. 67, 12. 1, 6.4, 58. 9, 98.4所得 平均值为 例.828335,在平均值以下的实数个数应为3o*/include <stdio. h> int fun(float x, int n) "int j,c=0;/*F0UND*/ float j=0;/*F0UND*/ for (j=0;j=n;j+)xa+=xj;xa=xa/n; printf(ave=%fn,xa); /*F0UND*/for(j=0;j<=n;j+)if(

2、xj<=xa) c+; return c;void main(void) (float x = 23. 5, 45. 67, 12. 1, 6. 4, 58. 9, 98. 4);printf ("%dn, fun (x, 6);答案:1) . float xa=0; float xa=0. 0;或或 for(j=0;n>j;j+)或 for(j=0;n-l>=j;j+)或 for(j=0;j<=n-l;j+)2) .或 for(j=0;n>j;j+)或 for(j=0;j<=n-l;j+)或 for(j=0;n-l>=j;j+)for(j=

3、0;j<n;j+) 功能:编写函数fun,求两个整数的最小公倍数,然后用主函数main()调用这个 函数并输出结果,两个整数由键盘输入。*/#include stdio. hmain() (unsigned int m, n, q; printf (m, n=);scanf (d, %d,&m, &n);q-fun(m, n);printf (p (%d, %d) =%d, m, n, q) ; getch ();int fun (int m, int n)int i;/*FOUND*/if (m二n)i=m;m=n; n二 i;for (i=m; i<=m*n;

4、i+=m)/*F0UND*/if (i%n=l) return (i);答案:1) . q=fun (m, n);2) . if (m<n)3) . if(i%n=0)功能:利用递归方法求5! o*/#includestdioh include stdioh main() int i;int fact () ; printf (5!=%dn,fact ); int fact(j) int j;int sum;/*FOUND*/if(j=O)/*FOUND*/ sum=O;elsesum=j*fact(j-1);/*FOUND*/return j; , 答案:1) . if(j=O)2)

5、. sum=l;3) . return sum;功能:用指针作函数参数,编程序求一维数组中的最大和最小的 元素值.#define N 10 /*FOUND*/ void maxmin(int arr , int *ptl, *pt2, n)'int i;*/*found*/*ptl=*pt2=&arr0; for(i=l;i<n;i+)/*found*/*ptl=arrFi ;main()int array N = 10, 7, 19, 29, 4, 0, 7, 35, -16, 21), *pl, *p2, a, b;/*FOUND*/*pl=&a;*p2=&a

6、mp;b;maxmin (array, pl, p2, N);printf(max=%d, min=%d,a, b);答案:1) . void maxmin(int arr ,int *ptl, int *pt2,int n)或 maxmin(int arr , int *ptl, int *pt2,int n)或 void maxmin(int *arr,int *ptl, int *pt2,int n)2) . *ptl=*pt2=arr0;或 *ptl=*pt2=*(arr+0);或 *pt2=*ptl=arr0;3) . if(arri>*ptl) *ptl=arri;或 if(

7、*(arr+i)>*ptl) *ptl=arri;或 if(*ptl<*(arr+i)*ptl=arri; 或 if(*ptlarri) *ptl=arri;4) . pl=&a;p2=&b;功能:将长整型数中每一位上为偶数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。 例如:当S中的数为:87654时,t中的数为:864o*/ffinclude <conio.h>#include <stdio. h> void fun (long s, long *t)int d; long sl=l; *t = 0;while ( s

8、> 0)d = s%10;/*FOUND*/ if (d%2=0)/*FOUND*/ *t=d* sl+ t; si *= 10;/*F0UND*/ s=10;main() (long s, t;clrscr ();printf (,znPlease enter s:); scanf(ld,&s);fun(s, &t);printf("The result is: %ldn”, t); getch();答案:1) . if ( d%2 = 0 )或 if(d%2!=l)2) . *t=d* sl+ *t;或 *t+=d*sl;或 *t+=sl*d;或 *t=*t

9、+d* si;或 *t=*t+sl*d;3) . s/=10;或 s=s/10;功能:根据整型形参m,计算如下公式的值:y=l/2+ 1/8 + 1/18 + . . +l/2m*m#include stdio.h double fun(int m)/*FOUND*/*/double y=0int i;/*F0UND*/for(i=l; i<m; i+)/*F0UND*/return(y);main()(int n;clrscr ();printf("Enter n: );scanf("%d, &n);printf (,?nThe result is %lfn

10、,fun(n) ; getch();答案:1) . double y=0;2) . for (i=l; i<=m; i+)3) . y+=1.0/(2*i*i);功能:以下程序输出前六行杨辉三角形,既 main()static int a6J l6; int i, j, k;/*found*/for(i=l;i<=6;i+)|for (k=0;k<10-2*i;k+)printfC 0;for(j=0;j<=i;j+)/*F0UND*/ if(j=二0&&j=二i) else/*F0UD*/aij=ai-lj-l+aij-1; printfC ); pr

11、intf(一 3daij);/*F0UD*/答案:1) . for(i=0;i<6;i+)或 for(i=0;i<=5;i+)2) . if (j = 0 | j = i)3) . ai j=ai-l j+ai-l j-l;或 ai j=ai-l j-l+ai-4) . printf(n);功能:以下程序能求出最 i*i+2*2+n*n<=1000中满足条件的大的no*/#include “string. hmain ()int n, s;/*F0UND*/ s=n=0;/*F0UND*/while (s>1000)/*F0UND*/printf(n=%dn,&

12、n-l);getch(); > 答案:1) . s=n=0;2) . while(s<=1000)3) . printf(n=%dn,n-1);功能:读入一个整数k(2 < kW 10000),打印它的所有质因子(即 所有为素数的因子)o例如:若输入整数:2310,则应输出:2、3、5、7、11。请改正程序中的语法错误,使程序能得出正确的结果。*/include conio.h include "stdio. h /*F0UND*/IsPrime(integer n ) -int i, m;for ( i = 2; i < n; i+ ) /*F0UND*/

13、if ( n%i )m = 0; break;/*F(OD*/return ( n );main ()int j, k; clrscr ();printf ( ,znPlease enter an integer number between 2 and 10000: );scanf ( %d, &k );printf( nnThe prime factor(s) of %d is( are ):, k ); for( j =2; j <= k; j+ )if(! ( k%j)&&( IsPrime(j) printf ( "n %4d,j );prin

14、tf CW7);答案:1) . IsPrime(int n)2) . if(!(n%i)3) . return ( m );功能:请编写函数fun,对长度为8个字符的字符串,将8个字符按降序排列。 例如:原来的字符串为CEAedcab,排序后输出为edcbaECA。*/#include<stdio. h>#include<ctype. h>#include<conio. h> int fun(char *s, int num)/*F0UND*/int i;j;char t;for (i=0;i<num;i+) /*F0UND*/ for (j=i;j&

15、lt;num;j+) /*F0UND*/ if (si>sj)t=si;si=sj;main ()char s10;clrscr ();printf(,z输入8个字符的字符串:); gets(s);fun(s, 8);printf(n%s,s);getchO ;答案:1) . int i, j ;2) . for(j=i+l;j<num;j+)3) . if (si<sj)功能:计算正整数num的各位上的数字之积。例如:若输入:252,则输出应该 是:若输入:202,则输出应该是:20。0o*/#include <stdio. h> #include <conio. h> long fun (long num)/ *found*/long

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论