《C語言程序設(shè)計(jì)》(江寶釧著)實(shí)驗(yàn)七答案_第1頁
《C語言程序設(shè)計(jì)》(江寶釧著)實(shí)驗(yàn)七答案_第2頁
《C語言程序設(shè)計(jì)》(江寶釧著)實(shí)驗(yàn)七答案_第3頁
《C語言程序設(shè)計(jì)》(江寶釧著)實(shí)驗(yàn)七答案_第4頁
《C語言程序設(shè)計(jì)》(江寶釧著)實(shí)驗(yàn)七答案_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、7.4 實(shí)驗(yàn)七 字符與字符串處理一、實(shí)驗(yàn)?zāi)康呐c要求1. 掌握C語言字符型數(shù)據(jù)的概念,理解字符型與整型數(shù)據(jù)之間的關(guān)系。2. 掌握字符的輸入與輸出。3. 掌握轉(zhuǎn)義字符常量、字符串常量的使用。4. 掌握字符、字符串與字符數(shù)組的輸入與輸出。5. 掌握字符串函數(shù)的使用字符串?dāng)?shù)組的使用。6. 實(shí)驗(yàn)課時(shí)2學(xué)時(shí)二、實(shí)驗(yàn)內(nèi)容1程序改錯(cuò)題 調(diào)試以下程序,使之具有如下功能:任意輸入兩個(gè)字符串(如:ningbo和china),并存放在a,b兩個(gè)數(shù)組中。然后把較短的字符串放在a數(shù)組,較長的字符串放在b數(shù)組。并輸出。程序中的strlen是庫函數(shù),功能是求字符串的長度,它的原型保存在頭文件string.h中。調(diào)試時(shí)注意庫函

2、數(shù)的調(diào)用方法,不同的字符串輸入方法,通過錯(cuò)誤提示發(fā)現(xiàn)程序中的錯(cuò)誤。提示發(fā)現(xiàn)程序中的錯(cuò)誤。#include #includevoid main()char a10,b10,ch;int c,d,k;scanf(%s,&a);scanf(%s,&b); /* error */printf(a=%s,b=%sn,a,b);c=strlen(a);d=strlen(b);if(cd)for(k=0;kd;k+) /* error */ch=ak;ak=bk;bk=ch;ak=0; /* error */printf(a=%sn,a);printf(b=%sn,b); 答:#include #inclu

3、devoid main()char a10,b10,ch;int c,d,k;scanf(%s,&a);scanf(%s,&b); printf(a=%s,b=%sn,a,b);c=strlen(a);d=strlen(b);if(cd)for(k=0;kc;k+) ch=ak;ak=bk;bk=ch;ak=0;bk=0;printf(a=%sn,a);printf(b=%sn,b); 以下給定程序中,函數(shù)fun的功能是:依次取出字符串中所有數(shù)字字符,形成新的字符串,并取代原字符串。請改正函數(shù)fun中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)

4、!#include void fun(char *s) int i,j; for(i=0;j=0;sj!=0;i+) /* error */ if(si=0 & si=9) sj+=si; sj=”0”; /* error */void main() char item80; printf(nEnter a string :); gets(item); printf(nnThe string is : %sn,item); fun(item); printf(nnThe string of changing is : %sn,item);答:#include void fun(char *s)

5、 int i,j; for(i=0,j=0;si!=0;i+) /此句第一個(gè)分號改為逗號 if(si=0&si=9) sj=si; j+; sj=0; /引號錯(cuò)誤void main() char item80; printf(nEnter a string :); gets(item); printf(nnThe string is : %sn,item); fun(item); printf(nnThe string of changing is : %sn,item);2.一般編程題編程題1請編一個(gè)函數(shù)fun(char*s),該函數(shù)的功能是把字符串中的內(nèi)容逆置。例如:字符串中原有的字符串為

6、abcdefg,則調(diào)用該函數(shù)后,串中的內(nèi)容為gfedcba。注意:部分源程序給出如下。請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的假設(shè)干語句。#include #include #define N 81void fun ( char s)/*請?zhí)顚懲暾?/void main() char aN; printf ( Enter a string : ); gets ( a ); printf ( The original string is: ); puts( a ); fun( a ); printf(n); printf ( The string aft

7、er modified : ); puts (a);答:#include #include #define N 81void fun ( char s )int l,i,t;l=strlen(s);for(i=0;il/2;i+)t=si;si=sl-i-1;sl-i-1=t;void main() char aN; printf ( 請輸入一串字符:); gets ( a ); printf(n); printf ( 未變換前 :); puts( a ); fun( a ); printf(n); printf ( 變換后 :); puts (a); printf(n);編程題2請編寫輸入以

8、以下圖案1、2的程序,圖案的行數(shù)由輸入的值確定。 (1) (2) 答:#includevoid main()int x,i,j,a=A,b;printf(輸入行數(shù):n);scanf(%d,&x);for(i=0;ix;i+)for(j=0;jx+i;j+)b=a+i;if(jx-i-1)printf( );elseprintf(%c,b);printf(n); 3較難編程題編程題1編寫程序:程序功能是從鍵盤接收一個(gè)字符串,然后按照字符順序從小到大進(jìn)行排序,例如,假設(shè)輸入edcba,則應(yīng)輸出abcde。#include#includevoid main() int i,j;char string

9、100, c; printf(Please input a string:); gets(string); /*請?zhí)顚懲暾?/ printf(result:%sn, string);答:#include#includevoid main()int i,j,len;char string100,c;printf(Please input a string:);gets(string);len=strlen(string);for(i=0;ilen;i+)for(j=0;jstringj+1)c=stringj;stringj=stringj+1;stringj+1=c;printf(result

10、:%sn, string);編程題2編寫程序:程序功能是統(tǒng)計(jì)子串substr在母串str中出現(xiàn)的次數(shù)。要求編寫并調(diào)用函數(shù)fun的功能是:從str所指字符串中,找出substr所指子串的個(gè)數(shù)作為函數(shù)值返回。例如,當(dāng)str所指字符串中的內(nèi)容為abcdabfab,substr所指字符串的內(nèi)容為ab,則函數(shù)返回整數(shù)3。#include count(char str,char substr)/*請?zhí)顚懲暾?/void main()char str80,substr80; int n;gets(str);gets(substr);printf(%dn,count(str,substr); 答:#include #includecount(char str ,char substr )int i,j,k,len1,len2,count=0;len1=strlen(str);len2=strlen(substr);for(i=0;ilen1;i+)if(stri=substr0)k=0;for(j=0;jle

溫馨提示

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

評論

0/150

提交評論