黑龍江大學(xué)C語(yǔ)言程序設(shè)計(jì)試題庫(kù)程序改錯(cuò)(共11頁(yè))_第1頁(yè)
黑龍江大學(xué)C語(yǔ)言程序設(shè)計(jì)試題庫(kù)程序改錯(cuò)(共11頁(yè))_第2頁(yè)
黑龍江大學(xué)C語(yǔ)言程序設(shè)計(jì)試題庫(kù)程序改錯(cuò)(共11頁(yè))_第3頁(yè)
黑龍江大學(xué)C語(yǔ)言程序設(shè)計(jì)試題庫(kù)程序改錯(cuò)(共11頁(yè))_第4頁(yè)
黑龍江大學(xué)C語(yǔ)言程序設(shè)計(jì)試題庫(kù)程序改錯(cuò)(共11頁(yè))_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上 程序改錯(cuò)功能:給定n個(gè)實(shí)數(shù),輸出平均值,并統(tǒng)計(jì)在平均值以下(含平 均值)的實(shí)數(shù)個(gè)數(shù)。例如:n=6時(shí),輸入23.5, 45.67, 12.1, 6.4,58.9, 98.4所得 平均值為40.,在平均值以下的實(shí)數(shù)個(gè)數(shù)應(yīng)為3。-*/#include <stdio.h>int fun(float x,int n) int j,c=0; /*FOUND*/ float j=0; /*FOUND*/ for(j=0;j<=n;j+) xa+=xj; xa=xa/n; printf("ave=%fn",xa); /*FOUND*/ for(

2、j=0;j<=n;j+) if(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; 2). for(j=0;j<n;j+) 或 for(j=0;n>j;j+) 或 for(j=0;n-1>=j;j+) 或 for(j=0;j<=n-1;j+) 3). for(j=0;j<n;j+) 或 for(j=0;n>j;j+

3、) 或 for(j=0;j<=n-1;j+) 或 for(j=0;n-1>=j;j+)功能:編寫(xiě)函數(shù)fun,求兩個(gè)整數(shù)的最小公倍數(shù),然后用主 函數(shù)main()調(diào)用這個(gè)函數(shù)并輸出結(jié)果,兩個(gè)整數(shù)由 鍵盤(pán)輸入。-*/#include "stdio.h"main() unsigned int m,n,q; printf("m,n="); scanf("%d,%d",&m,&n); /*FOUND*/ q=fun(m,n); printf("p(%d,%d)=%d",m,n,q); getch()

4、;int fun(int m,int n) int i; /*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<n) 3). if(i%n=0)功能:利用遞歸方法求5!。-*/#include"stdio.h"#include "stdio.h"main() int i; int fact(); printf("5!=%dn",fact(5);int

5、 fact(j)int j; int sum; /*FOUND*/ if(j=0) /*FOUND*/ sum=0; else sum=j*fact(j-1); /*FOUND*/ return j;答案: 1). if(j=0) 2). sum=1; 3). return sum;功能:用指針作函數(shù)參數(shù),編程序求一維數(shù)組中的最大和最小的 元素值.-*/#define N 10/*FOUND*/void maxmin(int arr ,int *pt1, *pt2, n) int i; /*FOUND*/ *pt1=*pt2=&arr0; for(i=1;i<n;i+) /*FO

6、UND*/ if(arri<*pt1) *pt1=arri; if(arri<*pt2) *pt2=arri; main( ) int arrayN=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). void maxmin(int arr ,int *pt1,int *pt2,int n) 或 maxmin(int arr ,int *pt1,int

7、*pt2,int n) 或 void maxmin(int *arr,int *pt1,int *pt2,int n) 2). *pt1=*pt2=arr0; 或 *pt1=*pt2=*(arr+0); 或 *pt2=*pt1=arr0; 3). if(arri>*pt1) *pt1=arri; 或 if(*(arr+i)>*pt1) *pt1=arri; 或 if(*pt1<*(arr+i) *pt1=arri; 或 if(*pt1<arri) *pt1=arri; 4). p1=&a;p2=&b;功能:將長(zhǎng)整型數(shù)中每一位上為偶數(shù)的數(shù)依次取出,構(gòu)成一個(gè)

8、新 數(shù)放在t中。高位仍在高位,低位仍在低位。例如:當(dāng)s中的數(shù)為:87654時(shí),t中的數(shù)為:864。-*/#include <conio.h>#include <stdio.h> void fun (long s, long *t) int d; long sl=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() long s, t; clrscr(); printf("nPlease

9、enter s:"); scanf("%ld", &s); fun(s, &t); printf("The result is: %ldn", 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;功能:根據(jù)整型形參m,計(jì)算如下公式的值: y=1/21/81/18.1/2m*m-*/#include "

10、;stdio.h"double fun(int m) /*FOUND*/ double y=0 int i; /*FOUND*/ for(i=1; i<m; i+) /*FOUND*/ y=+1.0/(2*i*i); return(y);main() int n; clrscr(); printf("Enter n: "); scanf("%d", &n); printf("nThe result is %1fn", fun(n); getch(); 答案: 1). double y=0; 2). for(i=

11、1; i<=m; i+) 3). y+=1.0/(2*i*i);功能:以下程序輸出前六行楊輝三角形,既 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 -*/main( ) static int a66; int i,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) aij=1; else /*FOUND*/ aij=ai-1j-1+aij-1; printf(&

12、quot; "); printf("%-3d",aij); /*FOUND*/ printf("t"); 答案: 1). for(i=0;i<6;i+) 或 for(i=0;i<=5;i+) 2). if(j = 0 | j = i) 3). aij=ai-1j+ai-1j-1; 或 aij=ai-1j-1+ai-1j; 4). printf("n");功能:以下程序能求出1*1+2*2+.+n*n<=1000中滿(mǎn)足條件的 最大的n。-*/#include "string.h"main(

13、) int n,s; /*FOUND*/ s=n=0; /*FOUND*/ while(s>1000) +n; s+=n*n; /*FOUND*/ printf("n=%dn",&n-1); getch();答案: 1). s=n=0; 2). while(s<=1000) 3). printf("n=%dn",n-1);功能:讀入一個(gè)整數(shù)k(2k10000),打印它的所有質(zhì)因子(即 所有為素?cái)?shù)的因子)。例如:若輸入整數(shù):2310,則應(yīng)輸出:2、3、5、7、11。 請(qǐng)改正程序中的語(yǔ)法錯(cuò)誤,使程序能得出正確的結(jié)果。-*/#include

14、 "conio.h"#include "stdio.h"/*FOUND*/IsPrime(integer n ) int i, m; m = 1; for ( i = 2; i < n; i+ ) /*FOUND*/ if ( n%i ) m = 0; break; /*FOUND*/ return ( n ); main( ) int j, k; clrscr(); printf( "nPlease enter an integer number between 2 and 10000: " ); scanf( "%

15、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 ); printf("n");答案: 1). IsPrime(int n) 2). if(!(n%i) 3). return ( m );功能:請(qǐng)編寫(xiě)函數(shù)fun,對(duì)長(zhǎng)度為8個(gè)字符的字符串,將8個(gè)字符按 降序排列。例如:原來(lái)的字符串為

16、CEAedcab,排序后輸出為edcbaECA。-*/#include<stdio.h>#include<ctype.h>#include<conio.h>int fun(char *s,int num) /*FOUND*/ int i;j; char t; for(i=0;i<num;i+) /*FOUND*/ for(j=i;j<num;j+) /*FOUND*/ if(si>sj) t=si; si=sj; sj=t; main() char s10; clrscr(); printf("輸入8個(gè)字符的字符串:"); gets(s); fun(s,8); printf("n%s",s); getch();答案: 1). int i,j; 2). for(j=i+1;j<num;j+) 3). if(si<sj)功能:計(jì)算正整數(shù)num的各位上的數(shù)字之積。例如:若輸入:252,則輸出應(yīng)該是:20。 若輸入:202,則輸出應(yīng)該是:0。-*/#include <stdio.h>#include <conio.h> long fun (long num)/*FOUND*/ long k=1 do k*=num%10 ; /*FOU

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論