freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

計(jì)算機(jī)三級(jí)數(shù)據(jù)庫上機(jī)題庫(已改無錯(cuò)字)

2023-07-08 22:46:50 本頁面
  

【正文】 數(shù)count以及這些i之和sum。因此解答本題的關(guān)鍵在于如何將i、i+i+10都是素?cái)?shù)條件轉(zhuǎn)換成C語言表達(dá)式。【解題思路】在for循環(huán)語句中自變量i從2遞增到90,調(diào)用子函數(shù)isPrime(),用來判斷i、i+i+10這3個(gè)數(shù)同時(shí)為素?cái)?shù)是否成立,如果成立,則計(jì)數(shù)變量count加1,同時(shí)把i加到變量sum上,求得這些i的和?!敬鸢浮縱oid primeNum(){ int i。 for(i=2。i=90。i++) if(isPrime(i) amp。amp。 isPrime(i+4) amp。amp。 isPrime(i+10)) { count++。 sum+=i。 }}容錯(cuò)分析:因?yàn)閕+10要在100以內(nèi),所以自變量i的變化范圍應(yīng)該是2到90。(),請(qǐng)編寫ConvertCharD()函數(shù),其功能是:以行為單位把字符串中的所有小寫字母改寫成該字母的上一個(gè)字母,如果是字母a,則改寫成字母z。大寫字母仍為大寫字母,小寫字母仍為小寫字母,其他字符不變,最后把已處理的字符串仍按行重新存入字符串?dāng)?shù)組string中。最后調(diào)用函數(shù)Wdata()。例如,原文:結(jié)果:原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個(gè)字符。注意:部分源程序已經(jīng)給出。請(qǐng)勿改動(dòng)主函數(shù)main()、讀數(shù)據(jù)函數(shù)Rdata()和輸出數(shù)據(jù)函數(shù)Wdata()的內(nèi)容。include include include char string[50][80]。int maxline = 0。 /* 文章的總行數(shù) */int Rdata(void)。void Wdata(void)。void ConvertCharD(void){}void main(){ if (Rdata()) { printf(!\n\007)。 return。 } ConvertCharD()。 Wdata()。}int Rdata(void){ FILE *fp。 int i = 0。 char *p。 if ((fp = fopen(, r)) == NULL) return 1。 while (fgets(string[i], 80, fp) != NULL) { p = strchr(string[i], 39。\n39。)。 if (p) *p = 0。 i++。 } maxline = i。 fclose(fp)。 return 0。}void Wdata(void){ FILE *fp。 int i。 fp = fopen(, w)。 for (i=0。 imaxline。 i++) { printf(%s\n, string[i])。 fprintf(fp, %s\n, string[i])。 } fclose(fp)。}【題目分析】分析題目可知,本題只要實(shí)現(xiàn)ConvertCharD()函數(shù)的功能即可。ConvertCharD()要實(shí)現(xiàn)的功能是:以行為單位把字符串中的所有小寫字母改寫成該字母的上一個(gè)字母,如果是字母a,則改寫成字母z。大寫字母仍為大寫字母,小寫字母仍為小寫字母,其他字符不變。最后把已處理的字符串仍按行重新存入字符串?dāng)?shù)組string中。因此解答本題的關(guān)鍵在于如何實(shí)現(xiàn)字符間的轉(zhuǎn)換?!窘忸}思路】在for循環(huán)語中當(dāng)自變量從0遞增到maxline時(shí),就完成了對(duì)一篇文章中每一行的字符進(jìn)行判斷。如果字符是a,就用字符z替換,否則如果字符是大于等于字符b,而小于等于字符z的ASCII碼值,就對(duì)其ASCII碼值減1?!局R(shí)拓展】字符間的轉(zhuǎn)換可以通過字母的ASCII值來實(shí)現(xiàn),字母的ASCII值比上一個(gè)字母的的ASCII大1。【答案】void ConvertCharD(void){ int i。 char *pf。 for (i=0。 imaxline。 i++) { pf = string[i]。 while (*pf) { if (*pf == 39。a39。) *pf = 39。z39。 else if (*pf=39。b39。 amp。amp。 *pf=39。z39。) *pf = 1。 pf++。 } }}容錯(cuò)分析:判斷字符的范圍是否大于等于字符b而小于等于字符z;對(duì)于字符a,要單獨(dú)進(jìn)行處理。請(qǐng)編寫函數(shù)countValue(),它的功能是:求出1~1000之內(nèi)能被7或11整除但不能同時(shí)被7或11整除的所有整數(shù),將它們放在數(shù)組a中,并通過n返回這些數(shù)的個(gè)數(shù)。主函數(shù)最后調(diào)用函數(shù)Wdata()。注意:部分源程序已經(jīng)給出。請(qǐng)勿改動(dòng)主函數(shù)main()和輸出數(shù)據(jù)函數(shù)Wdata()的內(nèi)容。include include void countValue(int *a, int *n){}void Wdata(){ int aa[1000], n, k。 FILE *fp。 fp = fopen(, w)。 countValue(aa, amp。n)。 for (k=0。 kn。 k++) if ((k+1)%10 == 0) fprintf(fp, %5d\n, aa[k])。 else fprintf(fp, %5d, aa[k])。 fprintf(fp, \n)。 fclose(fp)。}main(){ int aa[1000], n, k。 countValue(aa, amp。n)。 for (k=0。 kn。 k++) if ((k+1)%10 == 0) printf(%5d\n, aa[k])。 else printf(%5d, aa[k])。 Wdata()。}【題目分析】分析題目可知,本題只要實(shí)現(xiàn)countValue()函數(shù)的功能即可。countValue()要實(shí)現(xiàn)的功能是:求出1到1000之內(nèi)能被7或11整除但不能同時(shí)被7和11整除的所有整數(shù),將它們放在數(shù)組a中,并通過n返回這些數(shù)的個(gè)數(shù)。因此解答本題的關(guān)鍵在于如何將一個(gè)指定的關(guān)系轉(zhuǎn)換為C語言表達(dá)式。【解題思路】這里我們首先在for循環(huán)語句中當(dāng)自變量i從1遞增到1000時(shí),對(duì)每一個(gè)數(shù)進(jìn)行i%7==0 amp。amp。 i%11或i%7 amp。amp。 i%11==0的邏輯判斷,如果其中一個(gè)表達(dá)式成立,則把數(shù)字i輸入數(shù)組a中,整型指針變量n加1,數(shù)組指針a向后移動(dòng)一位?!敬鸢浮縱oid countValue(int *a, int *n){ int i。 *n = 0。 for (i=1。 i=1000。 i++) if (i%7==0 amp。amp。 i%11) { *a = i。 *n = *n+1。 a++。 } else if (i%7 amp。amp。 i%11==0) { *a = i。 *n = *n+1。 a++。 }}容錯(cuò)分析:能被7或11整除但不能同時(shí)被7和11整除的整數(shù)的條件為:i%7==0 amp。amp。 i%11或i%7 amp。amp。 i%11==0,其一定成立即可。,并已調(diào)用讀函數(shù)Rdata()把這些數(shù)存入數(shù)組a中,請(qǐng)編寫函數(shù)primeCal(),其功能是:求出這些四位數(shù)中素?cái)?shù)的個(gè)數(shù)count,再求出所有滿足此條件的四位數(shù)的平均值A(chǔ)ve1以及不滿足此條件的四位數(shù)的平均值A(chǔ)ve2。最后調(diào)用寫函數(shù)Wdata(),把結(jié)果count、Ave例如,5591是素?cái)?shù),則該數(shù)滿足條件計(jì)算平均值A(chǔ)ve1,且個(gè)數(shù)count=count+1。9812是非素?cái)?shù),則該數(shù)不滿足條件計(jì)算平均值A(chǔ)ve2。注意:部分源程序已經(jīng)給出。程序中已定義數(shù)組a[300],已定義變量count、AveAve2。請(qǐng)勿改動(dòng)主函數(shù)main()、讀函數(shù)Rdata()和寫函數(shù)Wdata()的內(nèi)容。include int a[300], count = 0。double Ave1 = , Ave2 = 。int isP(int m){ int i。 for (i=2。 im。 i++) if (m%i == 0) return 0。 return 1。}void primeCal(){}void Rdata(){ FILE *fp。 int i。 fp = fopen(, r)。 for (i=0。 i300。 i++) fscanf(fp, %d, amp。a[i])。 fclose(fp)。}void Wdata(){ FILE *fp。 fp = fopen(, w)。 fprintf(fp, %d\n%\n%\n, count, Ave1, Ave2)。 fclose(fp)。}main(){ Rdata()。 primeCal()。 Wdata()。 printf(count=%d\n滿足條件的平均值A(chǔ)ve1=%\n不滿足條件的平均值A(chǔ)ve2=%\n, count, Ave1, Ave2)。}【題目分析】分析題目可知,本題只要實(shí)現(xiàn)PrimeCal()函數(shù)的功能即可。PrimeCal()要實(shí)現(xiàn)的功能是:求出這些四位數(shù)中是素?cái)?shù)的個(gè)數(shù)count,再求出所有滿足此條件的四位數(shù)的平均值A(chǔ)ve1以及不滿足此條件的四位數(shù)的平均值A(chǔ)ve2。因此解答本題的關(guān)鍵在于如何判斷一個(gè)數(shù)為素?cái)?shù)?!窘忸}思路】在for循環(huán)語句中當(dāng)自變量1遞增到299時(shí),對(duì)數(shù)組a中的每一個(gè)元素a[i]調(diào)用函數(shù)isP(a[i])來判斷元素a[i]是否為素?cái)?shù),如果是素?cái)?shù),則把a(bǔ)[i]加入Ave1上,count自加;否則把a(bǔ)[i]加入Ave2上。當(dāng)退出循環(huán)時(shí),用Ave1除以count就得到所有滿足此條件的四位數(shù)的平均值,用Ave2除以300count就得到所有不滿足此條件的四位數(shù)的平均值。【答案】void primeCal(){ int i。 for (i=0。 i300。 i++) if (isP(a[i])) { Ave1 += a[i]。 count++。 } else { Ave2 += a[i]。 } Ave1 = Ave1/count。 Ave2 = Ave2/(300count)。}容錯(cuò)分析:退出for循環(huán)時(shí),變量Ave1的值是所有滿足條件的四位數(shù)的和;變量Ave2的值是所有不滿足條件的四位數(shù)的和。:尋找并輸出11~999之間的數(shù)m,它滿足m、m2和m3均為回文數(shù)。所謂回文數(shù)是指各位數(shù)字左右對(duì)稱的整數(shù),例如126794249等。滿足上述條件的數(shù)如m=11,m2=121,m3=1331皆為回文數(shù)。請(qǐng)編寫函數(shù)int palindromevalue(long n)實(shí)現(xiàn)功能:如果是回文數(shù),則函數(shù)返回1,反之則返回0。最后。注意:部分源程序已給出。請(qǐng)勿改動(dòng)主函數(shù)main()的內(nèi)容。include include include int palindromevalue(long n){}main(){ long m。 FILE *out。 out = fopen(, w)。 for (m=11。 m1000。 m++) if (palindromevalue(m) amp。amp。 palindromevalue(m*m) amp。amp。 palindromevalue(m*m*m)) { printf(m=%4ld,m*m=%6ld,m*m*m=%8ld \n, m, m*m, m*m*m)。 fprintf(out,m=%4ld,m*m=%6ld,m*m*m=%8ld \n, m, m*m, m*m*m)。 } fclose(out)。}【題目分析】分析題目可知,本題只要實(shí)現(xiàn)palindromevalue函數(shù)的功能即可。函數(shù)palindromevalue要實(shí)現(xiàn)的功能是:尋找并輸出11至999之間的數(shù)m,它滿足m、m2和m3均為回文數(shù)。因此解答本題的關(guān)鍵在于如何判斷m是否為回文數(shù)?!窘忸}思路】判斷數(shù)字是否為回文數(shù),只要對(duì)比該數(shù)字的對(duì)立位置上的數(shù)是否相等即可。這里我們首先把要判斷是否是回文數(shù)的數(shù)字通過ltoa函數(shù),將其拆分成單個(gè)數(shù)字,并存入到一個(gè)字符數(shù)組中,然后從字符數(shù)組的開始位置和尾部位置同時(shí)向其中間位置逐個(gè)字符的進(jìn)行比較運(yùn)算。如果首尾位置的兩個(gè)字符不相等,則退出循環(huán),說明這個(gè)數(shù)不是回文數(shù)。如果比較到中間位置時(shí)都相等,則說明這個(gè)數(shù)字是回文數(shù)?!敬鸢浮縤nt palindromevalue(long n){ int i, strl, half。 char temp[20]。 ltoa(n, temp, 10)。 strl = strlen(temp)。 half = strl/2。 for (i=0。 ihalf。 i++) if (temp[i] != temp[strl]) break。 if (i = half) return 1。 else return 0。}容錯(cuò)分析:字符串尾部指針的自減為str,而不是str。17請(qǐng)補(bǔ)充程序,使得程序能實(shí)現(xiàn)以下功能:,求出奇數(shù)的個(gè)數(shù)t1和偶數(shù)的
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1