VFP上機編程練習(xí)_第1頁
VFP上機編程練習(xí)_第2頁
VFP上機編程練習(xí)_第3頁
VFP上機編程練習(xí)_第4頁
VFP上機編程練習(xí)_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、12下列給定程序中,函數(shù)fun的功能是:分別統(tǒng)計字符串中大寫字母和小寫字母的個數(shù)。例如,給字符串s輸入:AaaaBBb123CCccccd,則應(yīng)輸出結(jié)果:upper=5,1ower=9。請改正程序中的錯誤,使它能計算出正確的結(jié)果。注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#include <conio.h>#include <stdio.h>/*found*/void fun(char *s,int a,int b)while (*s)/*found*/if (*s>='A' && *s<=&

2、#39;z')a+;/*found*/if (*s>='a' && *s<='z')b+;s+;main( )char s100;int upper = 0,lower=0;printf("nPlease a string:");gets(s);fun(s,&upper,&lower);printf("n upper=%d lower=%dn",upper,lower);(1)錯誤:void fun( char *s, int a, int b)正確:void fun(c

3、har *s, int *a, int *b) (2)錯誤:a+; 正確:(*a)+;(3)錯誤:b+; 正確:(*b)+;13請編寫一個函數(shù) void fun(char *tt,int pp),統(tǒng)計在tt字符串中"a"到" z"26個字母各自出現(xiàn)的次數(shù),并依次放在pp所指數(shù)組中。例如:當(dāng)輸入字符串a(chǎn)bcdefghabcdeabc后,程序的輸出結(jié)果應(yīng)該是:3 3 3 2 2 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0注意:部分源程序給出如下。請勿改動main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填

4、入所編寫的若干語句。試題程序:#include <conio.h>#include <stdio.h>#include <stdlib.h>void fun(char*tt,int pp) void main( ) char aa1000; int bb26,k; system("CLS"); printf("nPlease enter a char string : ") ; scanf("%s",aa); fun(aa,bb); for (k=0 ;k<26 ; k+) printf(&q

5、uot;%d ",bbk) ; printf("n ");答案 void fun(char*tt,int pp) int i; for(i=0;i<26;i+) ppi=0; /*初始化pp數(shù)組各元素為0*/ for(;*tt!='0'tt+) if(*tt>='a'&&*tt<='z') pp*tt-'a'+; /*將tt字符串中'a'到'z'26個字母各自出現(xiàn)的次數(shù),依次放在pp數(shù)組中,任一個小寫字母減去'a'后所得

6、結(jié)果正好是它對應(yīng)的下標(biāo)*/21請補充函數(shù)fun,它的功能是:計算并輸出n(包括n)以內(nèi)所有能被3或7整除的自然數(shù)的倒數(shù)之和。例如,在主函數(shù)中從鍵盤給n輸入30后,輸出為:s=1.226323。注意:部分源程序給出如下。請勿改動main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的橫線上填入所編寫的若干表達(dá)式或語句。試題程序:#include<stdio.h>double fun(int n)int i;double sum=0.0;for (i=1;_【1】; i+)if (i%3=0_【2】_i%7=0)sum+=_【3】_/i;return sum;main( )int n;do

7、uble s;printf("nInput n:");scanf("%d",&n);s=fun(n);printf("nns=%fn",s);【1】i<=n 【2】| 【3】1.0或(double)122下列給定程序中,函數(shù)fun()的功能是:根據(jù)整型形參m的值,計算如下公式的值。t=1-1/(2×2)-1/(3×3)-1/(m×m)請改正函數(shù)fun()中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#include <std

8、lib.h>#include <conio.h>#include <stdio.h>double fun(int m)double y=1.0; int I;/*found*/ for(I=2;I<m;I+) /*found*/ y-=1/(I*I); return(y);void main()int n=5; system("CLS"); printf("nThe result is %1fn", fun(n);(1)錯誤:for(I=2; I<m; I+) 正確:for(I=2; I<=m; I+)(2

9、)錯誤:y-=1/(I*I); 正確:y-=1.0/(I*I);23請編寫一個函數(shù)void fun(int m, int k, int xx),該函數(shù)的功能是:將大于整數(shù)m且緊靠m的k個素數(shù)存入所指的數(shù)組中。例如,若輸入17,5,則應(yīng)輸出19,23,29,31,37。注意:部分源程序給出如下。請勿改動main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的若干語句。試題程序:#include <stdlib.h>#include <conio.h>#include <stdio.h>void fun(int m, int k, int xx)

10、void main() int m,n,zz1000; system("CLS"); printf("nPlease enter two integers: "); scanf("%d%d",&m,&n); fun(m, n, zz); for(m=0;m<n;m+) printf("%d ",zzm); printf("n ");答案 void fun(int m, int k, int xx) int i,j,n; for(i=m+1,n=0;n<k;i+) /*

11、找大于m的素數(shù),循環(huán)k次,即找出緊靠m的k個素數(shù)*/ for(j=2;j<i;j+) /*判斷一個數(shù)是否為素數(shù),如果不是,跳出此循環(huán),判斷下一個數(shù)*/ if(i%j=0) break; if(j>=i) /*如果是素數(shù),放入數(shù)組xx中*/ xxn+=i; 31給定程序的功能是:求二分之一的圓面積,函數(shù)通過形參得到圓的半徑,函數(shù)返回二分之一的圓面積(注:圓面積公式為:S=r2,在程序中定義的變量名要與公式的變量相同)。例如,輸入圓的半徑值:19.527,輸出為:s=598.949991。注意:部分源程序給出如下。請勿改動main函數(shù)和其他函數(shù)中的任何內(nèi)容,儀在橫線上填入所編寫的若干表

12、達(dá)式或語句。試題程序:#include <stdio.h>double fun(double r)return 3.14159*_【1】_/2.0;main( )double x;printf("Enter x:");scanf("%lf",_【2】_);printf("S=%lfn",fun(_【3】_);【1】r*r 【2】&x 【3】x32下列給定程序中,fun函數(shù)的功能是:根據(jù)形參m,計算下列公式的值。t=1+1/2+1/3+1/4+1/m例如,若輸入5,則應(yīng)輸出2.283333。請改正程序中的錯誤,使它能

13、計算出正確的結(jié)果。注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#include <stdlib.h>#include <conio.h>#include <stdio.h>double fun(int m) double t=1.0; int I; for(I=2;I<=m;I+)/*found*/ t+=1.0/k;/*found*/ return I;void main()int m; system("CLS"); printf("nPlease enter 1integer numbe

14、r: "); scanf("%d",&m); printf("nThe result is %1fn", fun(m);(1)錯誤:t+=1.0/k; 正確:t+=1.0/I;(2)錯誤:return I; 正確:return t;33編寫函數(shù)fun,函數(shù)的功能是:根據(jù)以下公式計算s,計算結(jié)果作為函數(shù)值返回;n通過形參傳入。S=1+1/(1+2)+1/(1+2+3)+1/(1+2+3+n)例如:若n的值為11時,函數(shù)的值為1.833333。注意:部分源程序給出如下。請勿改動main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入

15、所編寫的若干語句。試題程序:#include <stdlib.h>#include <conio.h>#include <stdio.h>#include <string.h>float fun(int n)void main() int n; float s; system("CLS"); printf("nPlease enter N: "); scanf("%d",&n); s=fun(n); printf("The result is:%fn " ,

16、s);答案float fun(int n) int i,s1=0; float s=0.0; for(i=1;i<=n;i+) s1=s1+i; /*求每一項的分母*/ s=s+1.0/s1; /*求多項式的值*/ return s; 41給定程序的功能是:計算并輸出下列級數(shù)的前N項之和SN,直到SN大于q為止,q的值通過形參傳入。例如,若q的值為50.0,則函數(shù)值為50.416687。注意:部分源程序給出如下。請勿改動main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的橫線上填入所編寫的若干表達(dá)式或語句。試題程序:#include<stdio.h>double fun(do

17、uble q)int n;double s;n=2;s=2.0;while (s【1】q)s = s + (double)(n+1)/n;【2】;printf("n=%dn",n);【3】;main( )printf("%fn",fun(50);【1】<= 【2】n+或n+=1或n=n+1 【3】return s或return (s)42下列給定的程序中,函數(shù)fun的功能是:計算并輸出k以內(nèi)最大的10個能被13或17整除的自然數(shù)之和。K的值由主函數(shù)傳入,若k的值為500,則函數(shù)的值為4622。請改正程序中的錯誤,使它能得出正確的結(jié)果。注意:不要改動

18、main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#include <stdio.h>#include <conio.h>#include <stdlib.h>int fun(int k) int m=0,mc=0, j; while(k>=2)&&(mc<10) /*found*/ if(k%13=0)|(k%17=0) m=m+k;mc+; k-;/*found*/ return m;void main()system("CLS"); printf("%dn ",fun(50

19、0);(1)錯誤:if(k%13=0)|(k%17=0)正確:if(k%13=0)|(k%17=0)(2)錯誤:缺少大括號 正確:加 43編寫函數(shù)fun,它的功能是:根據(jù)以下公式求p的值,結(jié)果由函數(shù)值帶回。m與n為兩個正數(shù)且要求m>n。P=m!/(n!(m-n)!),例如:m=12,n=8時,運行結(jié)果為495.000000。注意:部分源程序給出如下。請勿改動main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的若干語句。試題程序:#include <conio.h>#include <stdio.h>#include <stdlib.h>float fun(int m, int n)void main() system("CLS"); printf("p=%fn",fun(12,8) ;答案float fun (int m, int n) int i; double p=1.0; for(i=1;i<=m;i+

溫馨提示

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

最新文檔

評論

0/150

提交評論