版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、實驗10指針做函數(shù)參數(shù)編程訓(xùn)練實驗?zāi)康模?.掌握指針的定義及使用;2.體會使用指針的作用;3.掌握指針做函數(shù)參數(shù)的作用;4.掌握指針做函數(shù)參數(shù)的基本步驟;實驗題目:1.輸入某年某月某日,計算并輸出它是這一年的第幾天。/*函數(shù)功能:對給定的某年某月某日,計算它是這一年第幾天函數(shù)參數(shù):整型變量year,month,day,分別代表年,月,日函數(shù)返回值:這一年的第幾天*/int DayofYear(int year,int month,int day;2.輸入某一年的第幾天,計算并輸出它是這一年的第幾月第幾日。/*函數(shù)功能:對給定的某一年的第幾天,計算它是這一年的第幾月第幾日函數(shù)入口參數(shù):整型變量y
2、ear,存儲年整型變量yearDay,存儲這一年的第幾天函數(shù)出口參數(shù):整型指針pMonth,指向存儲這一年第幾月的整型變量整型指針pDay,指向存儲第幾日的整型變量函數(shù)返回值:無*/void MonthDay(int year,int yearDay,int *pMonth,int *pDay;3.輸出如下菜單,用switch語句實現(xiàn)根據(jù)用戶輸入的選擇執(zhí)行相應(yīng)的操作。1.year/month/day->yearDay2.yearDay->year/month/dayPlease enter your choice:參考程序及注釋:#include <stdio.h>#i
3、nclude <stdlib.h>int DayofYear(int year, int month, int day;void MonthDay(int year, int yearDay, int *pMonth, int *pDay;void Menu(void;int dayTab213 = 0,31,28,31,30,31,30,31,31,30,31,30,31, 0,31,29,31,30,31,30,31,31,30,31,30,31;int main(int year, month, day, yearDay;char c;Menu(; /* 調(diào)用Menu函數(shù)顯示
4、一個固定式菜單 */c = getchar(; /* 輸入選擇 */switch (c /* 判斷選擇的是何種操作 */case '1':printf("Please enter year, month, day:"scanf("%d,%d,%d", &year, &month, &day;yearDay = DayofYear(year, month, day;printf("yearDay = %dn", yearDay;break;case '2':printf("
5、;Please enter year, yearDay:"scanf("%d,%d", &year, &yearDay;MonthDay(year, yearDay, &month, &day;printf("month = %d, day = %dn", month, day;break;case '3':exit(0; /* 退出程序的運行 */default:printf("Input error!"return 0;/* 函數(shù)功能:對給定的某年某月某日,計算并返回它是這
6、一年的第幾天 */int DayofYear(int year, int month, int dayint i, leap;/* 若year為閏年,即leap值為1,則用第1行元素dayTab1i計算;否則leap值為0,用第0行dayTab0i計算 */leap = (year % 4 = 0 && (year % 100 != 0 | (year % 400 = 0;for (i=1; i day = day + dayTableapi;return day; /* 返回計算出的day的值 */* 函數(shù)功能:對給定的某一年的第幾天,計算它是這一年的第幾月第幾日 */voi
7、d MonthDay(int year, int yearDay, int *pMonth, int *pDayint i, leap;leap = (year % 4 = 0 && (year % 100 != 0 | (year % 400 = 0;for (i=1; yearDay>dayTableapi; i+yearDay = yearDay - dayTableapi;*pMonth = i; /* 將計算出的月份值賦值給pMonth所指向的變量 */*pDay = yearDay; /* 將計算出的日號賦值給pDay所指向的變量 */* 函數(shù)功能:顯示菜單
8、*/void Menu(voidprintf("1. year/month/day -> yearDayn"printf("2. yearDay -> year/month/dayn"printf("3. Exitn"printf("Please enter your choice:"實驗11 字符串與指針編程練習(xí)實驗?zāi)康模?. 熟悉字符串的輸入及輸出2. 掌握字符指針做函數(shù)參數(shù)的方法3. 掌握數(shù)組做函數(shù)參數(shù)的方法實驗題目:1. 編寫一函數(shù)實現(xiàn)字符串的反序輸出,函數(shù)原型如下:void invert(ch
9、ar *s;即將字符串s反序。解題思路:用循環(huán)將串s的首尾字符對調(diào),直到中間位置結(jié)束。如:串“ABCDE0”,將A與E對調(diào)(交換,B與D對調(diào),循環(huán)次數(shù)是串的實際長度的一半。2. 在主函數(shù)main中輸入一串字符串,并調(diào)用invert函數(shù)將此字符串反序,然后再將反序后的字符串輸出。3. 編寫一函數(shù)將字符串s中的字符c刪除void charDel(char *s,char c;解題思路:假設(shè)s為“aebefe0”串中的e字符刪除,判斷當前s指針是否指向e字符,若指向e字符,則將e字符后面的befe0字符向前移動一位,然后移動s指針,重復(fù)這一過程。4. 編寫函數(shù)void replace(char *s
10、,char c1,char c2實現(xiàn)將s所指向的字符串中所有字符c1用c2替換,字符串,字符c1和c2均在主函數(shù)中輸入,將原始字符串和替換后的字符串顯示在屏幕上。解題思路:如果當前s指針指向的是c1字符,則把c2賦值給s指針所指向的地址空間,然后移動指針s,重復(fù)上述過程。參考代碼:#include "stdio.h"#include "string.h"void replace(char *s,char c1,char c2;void charDel(char *s,char c;void invert(char *s;int main(char str
11、="acbd"invert(str;puts(str;void invert(char *sint strLenth;char *i,*j,*mid,temp;/j和i所指向字符是相互交換的字符strLenth=strlen(s;mid=s+strLenth/2;/交換的次數(shù)應(yīng)為字符串總長度除以2j=s+strLenth-1;/令j指向字符串的末尾,0字符的前一個字符for(i=s;i<mid;i+/i=s令i指針指向字符串的首部,i+令i指針指向下一個字符temp=*i;*i=*j;*j=temp;/交換對應(yīng)的字符j-;/字符串末尾指向前移void charDel(char *s,char cchar *p,*q;while(*s!='0'if(*s=cp=s;q=s+1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年汽車租賃公司駕駛員交通事故責(zé)任與賠償合同3篇
- 2024年跨洋石油供應(yīng)合同
- 2024年高檔玉器購銷協(xié)議樣本版B版
- 2024年贈予合同、借款協(xié)議及租賃條款3篇
- 2024年拖車運輸事故理賠合作協(xié)議3篇
- 2024年融資租賃合同條款
- 2024年設(shè)備租賃與技術(shù)支持綜合服務(wù)合同
- 《電機與拖動技術(shù)》課件緒論
- 2025版文化衍生品租賃及轉(zhuǎn)售運營合同3篇
- 2024智能法院建設(shè)與運營協(xié)議
- 無人機表演服務(wù)合同
- 呼吸內(nèi)科臨床診療指南及操作規(guī)范
- 物業(yè)經(jīng)理轉(zhuǎn)正述職
- 貿(mào)易崗位招聘面試題及回答建議(某大型國企)2025年
- 北師大版(2024新版)生物七年級上冊期末考點復(fù)習(xí)提綱
- 2024年理論中心組學(xué)習(xí)心得體會模版(2篇)
- 浙江省杭州市2023-2024學(xué)年六年級上學(xué)期語文期末試卷(含答案)
- 環(huán)保行業(yè)工業(yè)廢氣污染防治技術(shù)路線方案
- 電工的職業(yè)健康培訓(xùn)
- 《預(yù)防性侵害講座》課件
- 2024年中國船舶涂料市場調(diào)查研究報告
評論
0/150
提交評論