作業1輸入測試_第1頁
作業1輸入測試_第2頁
作業1輸入測試_第3頁
作業1輸入測試_第4頁
作業1輸入測試_第5頁
已閱讀5頁,還剩2頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、作業1:輸入測試C程序中三個合法的分隔符:空格 回車 TAB(t)請運行以下程序,并盡可能的在輸入數據時用三種分隔符的各種單獨或者組合形式,觀察運行結果,分析正確或者異常原因,從而總結輸入技巧及相關的規則。-(一)以下程序是測試兩個相同類型的數據,用一個scanf實現輸入程序1:#include <stdio.h>void main() int a,b; scanf("%d%d",&a,&b); /*注:兩個%d之間無任何分隔*/ printf("%d %dn",a,b);輸入的兩個數以三個合法分隔符的任意形式輸入結果如何?有

2、何結論?例如:(1)3 4 說明:一個或者多個空格分隔數據(2)34 說明:一個或者多個TAB分隔數據(3)3<CR>4 說明:一個或者多個回車分隔數據(4)3 說明:三個分隔符的任意組合:如一個空格 兩個個TAB 三個回車 4程序2:#include <stdio.h>void main() char a,b; scanf("%c%c",&a,&b); /*注:兩個%c之間無分隔*/ printf("%c %cn",a,b);輸入的兩個字符以三個合法分隔符的任意形式輸入結果是否正確(同上題,以下類似問題測試思路也

3、如此)?有何結論?程序3:#include <stdio.h>void main() int a,b; scanf("%d %d",&a,&b); /*注:兩個%d之間有一個或者多個分隔符(空格/TAB(t)/回車)*/ printf("%d %dn",a,b);輸入的兩個數以三個合法分隔的任意形式輸入結果是否正確?有何結論?程序4:#include <stdio.h>void main() char a,b; scanf("%c %c",&a,&b); /*注:兩個%c之間有一

4、個或者多個分隔符(空格/TAB(t)/回車)*/ printf("%c %cn",a,b);輸入的兩個字符以三個合法分隔符的任意形式輸入結果是否正確?有何結論?程序5:#include <stdio.h>void main() int a,b; scanf("%d,%d",&a,&b); /*注:兩個%d之間有一個字符,如”,”或者”AND” */ printf("%d %dn",a,b);輸入的兩個數以三個合法分隔符的任意形式輸入結果是否正確?怎樣輸入才對?程序6:#include <stdio.h

5、>void main() char a,b; scanf("%c,%c",&a,&b); /*注:兩個%d之間有一個符號,如”,”或者”AND” */ printf("%c %cn",a,b);程序7:#include <stdio.h>void main() int a,b; scanf("%d, %d",&a,&b); /*注:兩個%d之間有一個或者多個字符(如逗號)和一個或者多個合法的分隔符(如空格/TAB/回車)*/ printf("%d %dn",a,b)

6、;程序8:void main() char a,b; scanf("%c, %c",&a,&b); /*注:兩個%d之間有一個或者多個符號(如逗號)和一個或者多個合法的分隔符(如空格/TAB/回車)*/ printf("%c %cn",a,b);程序9:#include <stdio.h>void main() int a,b; scanf("%d , %d",&a,&b); /*注:兩個%d之間有三項內容:1。一個或者多個合法分隔符(如空格/TAB/回車)2。一個或者多個字符(如逗號) 3

7、。一個或者多個合法的分隔符(如空格/TAB/回車)*/ printf("%d %dn",a,b);程序10:#include <stdio.h>void main() char a,b; scanf("%c , %c",&a,&b); /*注:兩個%c之間有三項內容:1。一個或者多個合法分隔符(如空格/TAB/回車)2。一個或者多個字符(如逗號) 3。一個或者多個合法的分隔符(如空格/TAB/回車)*/ printf("%c %cn",a,b);程序11:#include <stdio.h>vo

8、id main() char a20,b20; scanf("%s%s",a,b); /*注:兩個%s之間無任何分隔符*/ printf("nn%sn%sn",a,b);輸入的兩個串以三個合法分隔符的任意形式輸入結果是否正確?有何結論?程序12:#include <stdio.h>void main() char a20,b20; scanf("%s %s",a,b); /*注:兩個%s之間有一個或者多個合法分隔符(空格/TAB(t)/回車)*/ printf("nn%sn%sn",a,b);程序13:

9、#include <stdio.h>void main() char a20,b20; scanf("%s,%s",a,b); printf("nn%sn%sn",a,b);該程序如何輸入才能使兩個串正確存儲?有辦法嗎?有何結論:%s之后若緊跟一個非合法分隔符,永遠無法實現串的正確輸入。程序14:#include <stdio.h>void main() char a20,b20; scanf("%s, %s",a,b); /*注:兩個%d之間有一個或者多個其它字符符(如逗號)和一個或者多個合法的分隔符(如空格

10、/TAB/回車)*/ printf("nn%sn%sn",a,b);程序15:#include <stdio.h>void main() char a20,b20; scanf("%s , %s",a,b); /*注:兩個%s之間有三項內容:1。一個或者多個合法分隔符(如空格/TAB/回車)2。一個或者多個非合法分隔符(如逗號) 3。一個或者多個合法的分隔符(如空格/TAB/回車)*/ printf("nn%sn%sn",a,b);-(二)以下程序測試兩個不同類型數據的輸入,用一個scanf實現(找出程序16和程序19輸入

11、結果不同的原因)程序16:#include <stdio.h>void main() int a; char b; scanf("%d%c",&a,&b); /*注:%d%c之間無任何分隔*/ printf("%d %cn",a,b);程序17:#include <stdio.h>void main() int a; char b; scanf("%d %c",&a,&b); /*注:%d和%c之間有一個或者多個合法分隔符(空格/tab/回車)*/ printf("%d

12、 %cn",a,b);程序18:#include <stdio.h>void main() int a; char b; scanf("a=%d , b=%c",&a,&b); printf("%d %cn",a,b);程序19:#include <stdio.h>void main() int a; char b20; scanf("%d%s",&a,b); printf("%d %sn",a,b);程序20#include <stdio.h>

13、void main() int a; char b20; scanf("%d %s",&a,b); printf("%d %sn",a,b);程序21#include <stdio.h>void main() int a; char b20; scanf("%d,%s",&a,b); printf("%d %sn",a,b);程序22:void main() int a; char b20; scanf("%d , %s",&a,b); /*%d %s之間有三

14、項:1。一個或者多個合法分隔符 2。其它符 3。一個或者多個合法分隔符*/ printf("%d %sn",a,b);程序23:void main() char a, b20; scanf("%c%s",&a,b); /*%c %s之間無分隔*/ printf("%c %sn",a,b);輸入的字符和串之間以三種合法分隔符或者其組合分隔,結果如何?程序24:void main() char a, b20; scanf("%s%c",b,&a); /*%c %s之間無分隔*/ printf("

15、;%c %sn",a,b); 輸入的字符和串之間以三種合法分隔符或者其組合分隔,結果如何?程序25:void main() char a, b20; scanf("%s %c",b,&a); /*%c %s之間有合法的分隔符(空格/t/回車)*/ printf("%c %sn",a,b); -(三),運行程序輸入數據,分析輸入特點。提示:多個scanf可以合成一個scanf。程序中若包含多個輸入函數,其分析方法類同。程序26:void main() int a, b; printf("enter a:"); scan

16、f("%d",&a); printf("na=%d",a); printf("nenter b:"); scanf("%d",&b); printf("nb=%d",b);輸入兩個整數分別以三個合法的分隔符分隔(空格/ t/ 回車)會有什么不同?為什么會有這樣的顯示?我們通常選擇怎樣的輸入最優?程序27:void main() int a, b; printf("enter a:"); scanf("a=%d",&a); print

17、f("na=%d",a); printf("nenter b:"); scanf("b=%d",&b); printf("nb=%d",b);這個程序如何輸入?分析現實結果異常的原因,總結類似scanf應怎樣正確實現輸入?(提示 getchar()使用)程序28:void main() int a; char b; printf("enter a:"); scanf("%d",&a); printf("na=%d",a); printf(&

18、quot;nenter b:"); scanf("%c",&b); printf("nb=%c",b);程序29:void main() int a; char b; printf("enter a:"); scanf("a=%d",&a); printf("na=%d",a); printf("nenter b:"); scanf("b=%c",&b); printf("nb=%c",b);請按照上面思路自行設計其他測試程序:兩個同類型的數據用兩個scanf實現/ 兩個不同類型的數據用兩個的scanf實現 。(四)比較以下5個程序在運行時有什么不同?試用不同的分隔符,如回車、空格、TAB30void main() char a20,b20; gets(a); gets(b); puts(a); puts(b);31#include <stdio.h>#include <string.h>void main() char a20,b20; sc

溫馨提示

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

評論

0/150

提交評論