![C 語言30道例題東大期末考試+答案_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/bfcfb1cd-2cff-4251-b851-4019ef1fdfd6/bfcfb1cd-2cff-4251-b851-4019ef1fdfd61.gif)
![C 語言30道例題東大期末考試+答案_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/bfcfb1cd-2cff-4251-b851-4019ef1fdfd6/bfcfb1cd-2cff-4251-b851-4019ef1fdfd62.gif)
![C 語言30道例題東大期末考試+答案_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/bfcfb1cd-2cff-4251-b851-4019ef1fdfd6/bfcfb1cd-2cff-4251-b851-4019ef1fdfd63.gif)
![C 語言30道例題東大期末考試+答案_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/bfcfb1cd-2cff-4251-b851-4019ef1fdfd6/bfcfb1cd-2cff-4251-b851-4019ef1fdfd64.gif)
![C 語言30道例題東大期末考試+答案_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/bfcfb1cd-2cff-4251-b851-4019ef1fdfd6/bfcfb1cd-2cff-4251-b851-4019ef1fdfd65.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、29題號題目第幾題1編寫一個售貨機(POS)計算程序,用于水果店售貨員算賬。蘋果每千克3.2元,梨每千克1.96元,香蕉每千克3元,櫻桃每千克24元。某顧客購買1.5斤蘋果,2斤梨,3斤香蕉,1.5斤櫻桃,付給售貨員100元。要求規(guī)范輸出這位顧客購買各類水果的名稱,對應的重量和應付價錢,顯示顧客所付款項,輸出應找回的款項。#include<stdio.h>#include<stdio.h>void main() float n4,apple=3.2,pear=1.96,banana=3,Cherry=24,price,charge,money; int i; print
2、f("請輸入水果重量蘋果 梨 香蕉 櫻桃 (不買的水果請輸入0):n"); for(i=0;i<4;i+) scanf("%f",&ni); printf("應付錢 %.2f 元n",price=apple*n0+pear*n1+banana*n2+Cherry*n3); printf("請輸入付款數:");scanf("%f",&money); printf("應找錢 %.2f 元n",money-price);12編寫一個程序,對輸入的一組整數,分別
3、統(tǒng)計其中正整數和負整數的個數(0作為結束標志)。#include<stdio.h>main()int i,sum1=0,sum2=0;printf("請輸入一組整數,0結尾");scanf("%d",&i);while(i!=0)if(i>0)sum1=sum1+1;else sum2=sum2+1;scanf("%d",&i);printf("%d,%d",sum1,sum2);printf("n");13統(tǒng)計100-500之間各個數字之和為9的三位數,輸出這
4、些三位數。例如351的各個數字之和為9。#include<stdio.h>main()int a,b,c,t;for(t=100;t<500;t+)a=t%10;b=t/100;c=(t/10)%10;if(a+b+c=9)printf("%d,",t);return 0;14編程求1-1000之間的所有完數(完數定義:一個數恰好等于它的除自身外的所有因子之和)。#include<stdio.h>main() int m,i,s; for(m=2;m<1000;m+) s=1; for(i=2;i<=m/2;i+) if(m%i=0
5、) s=s+i; if(s=m) printf("%d is 完數",m); printf("n"); 15已知銀行整存整取存款不同期限的利率分別為:3.30%期限半年;3.50%期限一年;4.40%期限二年;5.00%期限三年;5.50%期限五年;到期利息稅為5%。要求輸入存取的本金和期限,求到期能從銀行得到的利息、本金及總和。16輸入三角形的三邊長,判斷這個三角形是否是直角三角形。17輸入一串字符(以回車鍵結束),統(tǒng)計其中數字、大寫字母、小寫字母以及其他字符的個數。18編寫程序:找出不超過1000的十位數字為1,個位數字為3或7的所有數。例如:13、
6、17、113、317等。#include<stdio.h>main()int a,b,c,t;for(t=10;t<1000;t+)a=t%10;b=(t/10)%10;if(a=3|a=7)&&b=1)printf("%d,",t);printf("n"); return 0;19某企業(yè)利潤提成的規(guī)則如下:1)利潤低于或等于10萬元的,可提成獎金%10;2)利潤高于10萬元,低于20萬元時,低于10萬元的部分按%10提成,另外部分可以提成7.5%;3)利潤高于20萬低于40萬元的,其中20萬元按前面的方法發(fā)放,另外的部
7、分按5%提成;4)利潤高于40萬元的,40 萬元按前面的方法提成,高于部分按3%提成。從鍵盤輸入利潤,輸出應發(fā)的提成。110利用公式e=1/1!+1/2!+1/3!+1/n!計算e的值并輸出(要求:誤差小于10-5)。#include<stdio.h>main()float e=1.0;int t=1,i=1;while(1.0/t>0.00001) i+;e=e+1.0/t; t=i*t;printf("%fn",e);111從鍵盤輸入一個字符串str,統(tǒng)計其中大寫英文字母A,B,C,D出現的次數。要求輸出原始字符串,以及統(tǒng)計的結果。#include&l
8、t;stdio.h>main()char str100;int n=0,i;gets(str);for(i=0;stri!=0;i+)if(stri='A'|stri='B'|stri='C'|stri='D')n+; puts(str);printf("%d",n);212將字符串a中的每個字符用加3的方法加密并存入數組b中,再對b中的字符串解密存入數組c。要求:初始化字符串a,依次輸出字符串a、b、c。#include<stdio.h>main()char a="hdcksksh
9、alsjak",b100,c100;int i,j=0,u=0;for(i=0;ai!=0;i+) bj=ai+3;j+;bj=0;for(j=0;bj!=0;j+)cu=bj-3;u+;cu=0;puts(a);puts(b);puts(c);213輸入兩個字符串str1和str2,計算并輸出str2在str1中出現的位置(提示:從位置0開始計算,例如輸入str1為”howareyou”,str2為”are”,則位置結果為3),要求初始化字符串str1和str2,輸出原始字符串str1和str2,以及位置結果值。#include<stdio.h>void main()c
10、har str1="weallhopeforsuccess",str2="for",i,j=0,k,p;for(i=0;str1i!=0;i+)if(str2j=str1i)j+;k=i;p=j-1;elsej=0;printf("%dn",k-p);puts(str1);puts(str2);214從鍵盤輸入一個字符串str和一個字符ch,刪除字符串str中和輸入字符ch相同的所有字符,輸出原始字符串str以及刪除字符ch后的字符串str。215從具有10個元素的一維整型數組中查找最小值的元素,然后與數組的第一個元素對調。要求:初始
11、化一維數組,輸出該數組以及對調元素的數組。#include<stdio.h>main()int i,temp,b,a10=1,2,3,5,6,10,13,67,8,9;int max=a0;for(i=0;i<10;i+)printf("%3d",ai);printf("n");for(i=0;i<10;i+) if(ai>max)max=ai;b=i;printf("max=%dn",max);temp=ab;ab=a0;a0=temp; for(i=0;i<10;i+)printf("
12、%3d",ai);printf("n");216在一個具有10元素的整型數組a中,刪除數組元素值為奇數的所有數組元素。要求:初始化數組a,輸出原始數組以及刪除數據的數組。#include<stdio.h>void main()int a10=2,4,2,5,6,7,3,7,4,8,b10;int i,j=0,k;for(i=0;i<10;i+)printf("%5d",ai);printf("n");for(i=0;i<10;i+)if(ai%2=0)bj=ai;j+;k=j;for(j=0;j<
13、;k;j+)printf("%5d",bj); printf("n");217將10個整數存入數組,刪除數組中指定的第n個元素。(要求:數組初始化定義)#include <stdio.h>main()int a10=1,2,3,4,5,6,7,8,9,10,i,j;for(j=0;j<10;j+)if(aj=6)aj=aj+1;j+; printf("%d ",aj);218初始化一個4x5的矩陣,求其中最大元素和最小元素所在的行號,對調最大最小元素,輸出行號、列號、對調后的矩陣。#include <stdio
14、.h>main()int a45=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,i,j;int max=a00,min=a00,c=0,d=0,e=0,f=0;int temp;for(i=0;i<4;i+)for(j=0;j<5;j+)printf("%4d",aij);printf("n");for(i=0;i<4;i+)for(j=0;j<5;j+)if(aij>max)max=aij;c=i;d=j;printf("max is %d,在第%d行
15、第%d列",max,c,d);printf("n");for(i=0;i<4;i+)for(j=0;j<5;j+)if(aij<min)min=aij;e=i;f=j;printf("min is %d,在第%d行第%d列",min,e,f);printf("n");temp=acd;acd=aef;aef=temp;for(i=0;i<4;i+)for(j=0;j<5;j+)printf("%4d",aij);printf("n");219編寫函數int
16、 fun(int n),判定n是否為十位數字為1,個位數字為3或7的數。若是,函數返回1,否則返回0。(提示:例如:13、17、113、317都是這樣的數。)要求:在主函數中調用fun函數,并在主函數中輸出1000之間的所有十位數字為1,個位數字為3或7的數。#include<stdio.h>int fun(int n)int a,b;a=n%10;b=n/10%10;if(a=3|a=7)if(b=1)return 1;elsereturn 0;elsereturn 0;main()int a,n;for(n=3;n<1001;n+) a=fun(n);if(a=1)pri
17、ntf("%5d",n);if(a=0)continue;220初始化數組為10個學生的某門課成績,求出其中最高成績、最低成績及平均值,統(tǒng)計成績低于60分的人數、高于平均值的人數和低于平均值的人數。要求:輸出原始成績、最高成績、最低成績、平均成績、低于60分的人數、高于平均值的人數、低于平均值的人數。221已知矩陣a44,交換矩陣中最大元素所在的列與次大元素所在的列。要求:(1)編寫函數void change(int a44)交換最大元素所在的列與次大元素所在的列;(2)在主函數中初始化原始矩陣,輸出原始矩陣以及交換發(fā)生后的矩陣。例如:初始化矩陣為: 交換后矩陣為:1 4
18、5 8 1 5 4 83 2 6 7 #include<stdio.h>void change(int a44) int i=0,j=0,n=0,m=0,x,y,s;int max,temp1,temp2; max=a00;for(i=0;i<4;i+)for(j=0;j<4;j+)if(aij>=max)max=aij;x=i;y=j;temp1=axy; axy=0;max=a00; for(n=0;n<4;n+)for(m=0;m<4;m+)if(anm>=max)max=anm;s=m; axy=temp1;for(i=0;i<4;
19、i+)temp2=ais; ais=aiy; aiy=temp2;main()int a44=1,2,15,16,5,6,7,8,9,10,11,12,13,14,3,4; int i,j;printf("Orignal:n");for(i=0;i<4;i+)for(j=0;j<4;j+)printf("%2d ",aij);printf("n");change(a); i=0;j=0;printf("Changed:n");for(i=0;i<4;i+)for(j=0;j<4;j+)pri
20、ntf("%2d ",aij); printf("n");322編寫函數void fun(char str30,char a),刪除字符串str中所有a代表的字符,被刪除后的字符依次向前移動。要求:在主函數中初始化字符數組,并輸入字符a,輸出原字符數組及刪除結果。例如:初始化字符數組str30=”This is a test of C language.”,輸入字符a=t,則刪除之后的結果為”This is a es of C language.”。323編寫函數int StrCount(char* str1,char* str2)。Str1和str2為
21、兩個輸入的字符串。函數統(tǒng)計str2在str1中出現的次數,返回該數值。要求:在主函數main中初始化str1和str2,調用函數StrCount(str1,str2)后輸出結果。如輸入str1為"howareyouareGGGare",str2為"are",那么調用函數StrCount后函數返回3。#include<stdio.h>int StrCount(char *str1,char *str2)int i=0,j=0,ncourt=0;for(i=0;*(str1+i)!='0'i+) if(*(str1+i)=*(st
22、r2+j) for(j=0;j<3;j+) if(*(str1+i+j)!=*(str2+j) break; if(j=3)j=0;ncourt+;return(ncourt);main()char a="howareyouarehhare"char b="are"int n;n=StrCount(a,b);printf("%dn",n);324編寫函數void StrMid(char* str1,int m,int n,char* str2)。Str1為一個輸入的字符串,函數把str1從第m個字符開始的n個字符拷貝到str2中
23、。函數沒有返回值。要求在主函數main中讀入str1,調用函數StrMid(str1,m,n,str2)后輸出str2的結果(m從0開始計數)。如:輸入str1為"goodmorning",m為1,n為3,調用函數StrMid(str1,m,n,str2)后str2為"ood"。#include<stdio.h>void StrMid(char* str1,int m,int n,char* str2) int i=0,j=0;for(i=m;i<m+n;i+)*(str2+j)=*(str1+i);j+;*(str2+j)='
24、0'main()char a="goodmorning"char b10;int n,m;scanf("%d%d",&m,&n);StrMid(a,m,n,b);puts(a);puts(b);325編寫函數catStr(char str1,char str2)用于進行兩個字符串的連接,編寫函數lenStr(char str)用于統(tǒng)計一個字符串的長度,并在主函數中調用。要求:不允許使用strcat()和strlen()字符處理庫函數,在主函數以直接初始化的方式輸入兩個字符串str1和str2。如輸入str1為"howar
25、eyou",str2為"me",調用catStr函數后str1為"howareyoume",調用lenStr函數后輸出11。#include <stdio.h>void catStr(char str1,char str2)int i=0,j;while(str1i!='0')i+;for(j=0;str2j!='0'j+) str1i+j=str2j;str1i+j='0'int lenStr(char str) int i=0;while(stri!='0')i+;
26、return(i);main()char str1="howareyou",str2="me"int n;puts(str1);puts(str2);catStr(str1,str2); n=lenStr(str1);puts(str1);printf("%dn",n);326編寫函數void fun(char *t,char a,char b),將字符串t中所有a代表的字符用b所代表的字符替換。要求:在主函數中初始化字符數組,并輸入字符a和b,輸出原字符數組及替換結果。例如:初始化字符數組str30=”This is a test
27、of C language.”,輸入字符a=t,b=T則替換結果為”This is a TesT of C language.”。#include<stdio.h>void fun(char *t,char a,char b)int i=0;for(i=0;*(t+i)!='0'i+)if(*(t+i)=a) *(t+i)=b; main()char str20;char a,n;gets(str); scanf("%c %c",&a,&n);fun(str,a,n);puts(str);327編寫函數int fun(char *
28、t,char a),統(tǒng)計字符串t中有多少個變量a代表的字符。要求:在主函數中初始化字符數組,并輸入字符a,輸出原字符數組及統(tǒng)計結果。例如:初始化字符數組str30=”This is a test of C language.”,輸入字符a=s,則統(tǒng)計結果為3。#include<stdio.h>int fun(char *t,char a)int i=0,ncount=0;for(i=0;*(t+i)!='0'i+) if(*(t+i)=a)ncount+;return(ncount);main()char str100;char c;int n;gets(str);
29、scanf("%c",&c); n=fun(str,c);printf("%dn",n);328編寫函數void fun(int *p,int n)對于一個存放任意10個整數的一維數組,從第n(0<=n<=9)個數據依次向左移動一個位置。要求:在主函數中初始化數組,輸入n值,輸出原始數組和移動后的數組。例如:初始化數組為6 10 2 9 8 7 17 18 23 45,如果n=6移動后的數組為:10 2 9 8 7 7 17 18 23 45#include<stdio.h>void fun(int *p,int n) int i;for(i=0;i<n-1;i+)*(p+i)=*(p+i+1);main()int a10=1,2,3,4,5,6,7,8,9,10;int n,i=0,j=0;for(i=0;i<10;i+)printf("%d ",ai);printf("n");scanf("%d",&n);fun(a,n); f
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年增味劑企業(yè)制定與實施新質生產力戰(zhàn)略研究報告
- 農產品初加工活動相關主題名稱續(xù)二考核試卷
- 2025-2030年地道臘肉香腸體驗館行業(yè)跨境出海戰(zhàn)略研究報告
- 2025-2030年地質衛(wèi)星數據智能分析軟件行業(yè)跨境出海戰(zhàn)略研究報告
- 2025-2030年在線語言學習APP企業(yè)制定與實施新質生產力戰(zhàn)略研究報告
- 2025-2030年手工銅質耳環(huán)企業(yè)制定與實施新質生產力戰(zhàn)略研究報告
- 2025-2030年可穿戴血氧飽和度監(jiān)測儀企業(yè)制定與實施新質生產力戰(zhàn)略研究報告
- 丙綸纖維在體育器材中的應用考核試卷
- 摩托車行車記錄儀安裝與維護考核試卷
- 二零二五年度海洋工程外聘工程師合作協議
- 2024年10月時政100題(附答案)
- 《走進神奇》說課稿
- 江蘇省無錫市2024年中考數學試卷(含答案)
- 2024年內蒙古中考語文試卷五套合卷附答案
- 2024年保密知識測試試題及答案(奪冠)
- 湖南2024年湖南省衛(wèi)生健康委直屬事業(yè)單位招聘276人筆試歷年典型考題及考點附答案解析
- SF-36生活質量調查表(SF-36-含評分細則)
- 五年級下冊語文教案 學習雙重否定句 部編版
- 不需公證的遺囑范文
- 南京地區(qū)幼兒園室內空氣污染物與兒童健康的相關性研究
- 2024年湖南鐵路科技職業(yè)技術學院單招職業(yè)技能測試題庫及答案解析
評論
0/150
提交評論