




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1/8上海大學2017級課程名:程序設計基礎(C語言)課程號:學分:5上機操作題,4題,共70分第1題(源程序文件E:\answer\1-A-1.C)上機要求:下列程序包含4個錯誤(2個函數各2行有錯誤),請輸入該程序的代碼,找出并更正程序錯誤,在修改行代碼后增加“/***/”注釋,將修改后的源程序保存到E:\answer\1-A-1.C中。程序功能:從鍵盤上輸入一行字符串,選擇其中的大寫字母,并輸出。如輸入:Hello,ThisIsAnEnglishSentence.則輸出:HTIAES再如輸入:ABC,abc,DEF,123.則輸出:ABCDEF函數說明:程序中函數str_select_up從字符串a中選擇大寫字母到字符串b中,同時返回字符串b。函數中變量i用于遍歷字符串a,變量k用于計數大寫字母個數,同時用于b數組的下標。主函數main從鍵盤上輸入一行字符串,調用str_select_up函數取其中大寫字母到字符串b,并輸出字符串b。2個函數各有2個錯誤,分布在不同代碼行上。帶錯誤原程序:#include<stdio.h>char*str_select_up(charb[],chara[]){inti,k=0;for(i=0;a[i]!=='\0';i++)if(a[i]>='A'&&a[i]<='Z')b[k++]=a[i];b[k]='\0";returnb;}main(){chara[100],b[100];gets(a[100]);str_select_up(b,a)puts(b);}更正程序參考更正程序錯誤點#include<stdio.h>char*str_select_up(charb[],chara[]){inti,k=0;for(i=0;a[i]!='\0';i++)/***/if(a[i]>='A'&&a[i]<='Z')b[k++]=a[i];b[k]='\0';/***/returnb;}main(){chara[100],b[100];gets(a);/***/str_select_up(b,a);/***/puts(b);}!后雙等于改為1個等于雙引號改為單引號去掉數組名后的中括號缺分號第2題(源程序文件E:\answer\1-A-2.C)上機要求:按程序功能要求編寫程序,并將程序代碼保存到E:\answer\1-A-2.C中。程序功能:編寫程序,按示例實現以下功能:輸出本題考試的學期號與題號,即“093,1-A-2”輸出考生的基本信息,包括實際考試機房、機號、機號的單雙(機號單輸出Odd,機號雙輸出Even)、學號、姓名拼音。從鍵盤上輸入3個整數。輸出其中的最大值與最小值。輸出其中大小居中的數值。如輸入:705090則輸出:093,1-A-2D413-27(Odd),09123456,ZhangDaHai 注:本行請按考生實際情況輸出Max=90,Min=50Midd=70示例說明:輸出共4行,第1行為本考題基本信息,應為“093,1-A-2”;第2行為考生本次考試的基本信息,請按實際情況輸出,示例表示D413機房的27號計算機,機號為單(輸出Odd),學號為09123456,姓名拼音為ZhangDaHai(張大海);輸入三數的最大值為90,最小值為50,中間值為70。再如輸入:-90-50-70則輸出:093,1-A-2D413-27(Odd),09123456,ZhangDaHai 注:本行請按考生實際情況輸出Max=-50,Min=-90Midd=-70示例說明:輸入三數可以為負數,最大值為-50,最小值為-90,中間值為-70。程序參考參考程序說明#include<stdio.h>main(){inta,b,c,max,min,mid;printf("093,1-A-2\n");printf("D413-27(Odd),09123456,ZhangDaHai\n");scanf("%d%d%d",&a,&b,&c);if(a>=b&&a>=c)max=a;elseif(b>=a&&b>=c)max=b;elsemax=c;if(a<=b&&a<=c)min=a;elseif(b<=a&&b<=c)min=b;elsemin=c;mid=a+b+c-max-min;printf("Max=%d,Min=%d\n",max,min);printf("Midd=%d\n",mid);}程序文件:1分main與變量:1分學期與題號:2分學生信息:4分注:核對學生信息真實性輸入:2分計算最大值:2分計算最小值:2分計算中間值:2分輸出:2分第3題(源程序文件E:\answer\1-A-3.C)上機要求:按程序功能要求編寫程序,并將程序代碼保存到E:\answer\1-A-3.C中。程序功能:從鍵盤上輸入n和n個整數(設n與每個整數均取值1至5),按示例格式輸出n行數字圖形,每行的數字及數字個數與輸入數相對應。編寫程序可以使用或參考所提供的函數。如輸入:554321則輸出(□表示空格,↙表示回車):1□2□3□4□5□↙□□1□2□3□4□↙□□□□1□2□3□↙□□□□□□1□2□↙□□□□□□□□1□↙示例說明:輸入的第1個數為5,表示輸出共5行,右對齊形狀。接著輸入的第1個數為5,則輸出的第1行有5個數(取值1至5),數字之間含有1個空格,數值1之前有2*(5-5)=0個空格;以此類推。再如輸入:3232則輸出(□表示空格,↙表示回車):□□□□□□1□2□↙□□□□1□2□3□↙□□□□□□1□2□↙示例說明:輸入的第1個數為3,表示輸出共3行。接著輸入的第1個數為2,則輸出的第1行有2個數(取值1至2),數字之間含有1個空格,數值1之前有2*(5-2)=6個空格;以此類推。函數說明:下列代碼提供2個函數,可供編寫程序時調用或參考。其中函數sca_0從鍵盤上輸入n和n個整數至數組a,并返回整數n;函數prtline可以輸出圖案中的某一行,參數m表示輸出該行的m個數(取值1至m)。函數代碼:函數代碼說明intsca_n(inta[]){intn,i;scanf("%d",&n);for(i=0;i<n;i++) scanf("%d",&a[i]);returnn;}voidprtline(intm){inti;for(i=1;i<=5-m;i++)printf("");for(i=1;i<=m;i++)printf("%d",i);printf("\n");}函數:輸入n和n個整數至數組先輸入整數n再輸入n個整數至數組a中返回輸入的整數n函數:輸出圖案中的一行,m個數字先輸出2*(5-m)個空格循環5-m次,每次輸出2個空格再輸出m個數字,數字之后帶有空格最后輸出換行程序參考參考程序1:使用函數評分說明#include<stdio.h>intsca_n(inta[]){intn,i;scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);returnn;}voidprtline(intm){inti;for(i=1;i<=5-m;i++)printf("");for(i=1;i<=m;i++)printf("%d",i);printf("\n");}main(){intn,i,a[10];n=sca_n(a);for(i=0;i<n;i++)prtline(a[i]);}程序文件:1分sca_n函數:4分函數說明、變量定義、返回:1分輸入n:1分循環:1分輸入a[i]:1分prtline函數:4分函數說明、變量定義:1分循環+空格:1分循環+數字:1分換行:1分main與變量:1分調用sca_n:2分循環:2分調用prtline:2分參考程序2:不使用函數評分說明#include<stdio.h>main(){intn,i,j,a[10];scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);for(i=0;i<n;i++){for(j=1;j<=5-a[i];j++)printf("");for(j=1;j<=a[i];j++)printf("%d",j);printf("\n");}}程序文件:1分main與變量:1分輸入n:2分循環:2分輸入a[i]:2分循環n行:2分循環+空格:2分循環+數字:2分換行:2分第4題(源程序文件E:\answer\1-A-4.C)上機要求:按程序功能要求編寫程序,并將程序代碼保存到E:\answer\1-A-4.C中。程序功能:輸入10個整數(存貯在一維數組a中),按示例格式計算并輸出以下結果。查找數值為100的元素并輸出其下標(如果有多個100則輸出第1個100的下標),如果沒有找到,則輸出NotFound;統計數值為0的元素個數并輸出;從大到小排序,并按每行4個數的格式輸出;如輸入:1020304050100607080100則輸出:a[5]=100Count(0)=01001008070605040302010示例說明:輸入10個整數,第1個100出現在下標5位置,數值0沒有出現,排序后分3行輸出,第1行與第2行各有4個數。如輸入:100-5005060708090199則輸出:NotFound(100)Count(0)=219990807060501000-50示例說明:輸入10個整數(可以有負數或超過100的數),其中100沒有出現,0出現2次。排序后分3行輸出,第1行與第2行各有4個數。程序參考參考程序1:使用函數評分說明#include<stdio.h>voidsca(inta[],intn){inti;for(i=0;i<n;i++)scanf("%d",&a[i]);}intfind(inta[],intn,intx){inti;for(i=0;i<n;i++)if(a[i]==x)returni;return-1;}intcount(inta[],intn,intx){intct=0,i;for(i=0;i<n;i++)if(a[i]==x)ct++;returnct;}voidsort_b(inta[],intn){inti,j,t;for(i=0;i<n-1;i++)for(j=0;j<n-1-i;j++)if(a[j]<a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}voidprt_m(inta[],intn,intm){inti;for(i=0;i<n;i++)if(i%m==m-1||i==n-1)printf("%d\n",a[i]);elseprintf("%d\t",a[i]);}main(){inta[10],k,ct;sca(a,10);k=find(a,10,100);if(k>0)printf("a[%d]=100\n",k);elseprintf("NotFound(100)\n");ct=count(a,10,0);printf("Count(0)=%d\n",ct);sort_b(a,10);prt_m(a,10,4);}程序文件:1分sca函數:1分函數說明、變量定義:0.5分循環+輸入:0.5分find函數:2分函數說明、變量定義、返回-1:0.5分循環:0.5分判斷:0.5分返回i:0.5分count函數:2分函數說明、變量定義、返回:0.5分循環:0.5分判斷:0.5分計數:0.5分sort_b函數:3分函數說明、變量定義:0.5分外循環:0.5分內循環:0.5分比較:0.5分交換:1分prt_m函數:3分函數說明、變量定義:0.5分循環:0.5分判斷:1分(條件i==n-1不計分)輸出:1分main與變量:1分調用sca:1分調用find:1分輸出:1分調用count:1分輸出:1分調用sort_b:1分調用prt_m:1分參考程序2:不使用函數評分說明#include<stdio.h>#defineN10main(){inta[N],i,j,t,ct;for(i=0;i<N;i++)scanf("%d",&a[i]);for(i=0;i<N;i++)if
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/ZHCA 604-2023消毒產品中激素含量的測定液相色譜-串聯質譜法
- 2025西北工業大學輔導員考試試題及答案
- 2025遼寧職業學院輔導員考試試題及答案
- 2025貴州水利水電職業技術學院輔導員考試試題及答案
- 2025貴陽信息科技學院輔導員考試試題及答案
- 2025牡丹江師范學院輔導員考試試題及答案
- 2025白城師范學院輔導員考試試題及答案
- 食堂食品衛生管理
- 新疆水發準水建設開發有限公司招聘筆試題庫2025
- T/YWEISA 001-2022裝配式不銹鋼水處理構筑物安裝技術規程
- 2024年蘇州科技大學輔導員考試真題
- 湖南省煙草專賣局(公司)筆試試題2024
- 2025-2030年中國聚四氟乙烯(PTFE)行業市場現狀供需分析及投資評估規劃分析研究報告
- 2024年玉門市市屬事業單位考試真題
- 2025云南中考:語文必考知識點
- 2025小米SU7事件高速爆燃事故輿情復盤
- 玻璃體積血試題及答案
- 會議系統維保服務方案投標文件(技術方案)
- 遼寧點石聯考2025屆高三5月份聯合考試-政治試卷+答案
- 《護理操作規范》課件
- 軍隊文職-新聞專業 (軍隊文職)真題庫-5
評論
0/150
提交評論