第一篇:C語言程序設計—函數—實驗報告
實 驗 報 告
專業
軟 件 工 程
班級
X
班
學號_ XXXXXXXXXXX_
姓名
實驗日期:201X年X月X日
報告退發(訂正、重做)
課程
C程序設計實驗
實驗名稱
函
數
一、實驗目的
① 熟練掌握C程序中函數的定義; ② 掌握函數的調用,函數參數的傳遞; ③ 熟練掌握函數的嵌套調用和遞歸調用;
二、實驗環境(描述實驗的軟件、硬件環境)
① 軟件環境:windows xp/win7等操作系統,Microsoft Visual C++ 6.0編譯器; ② 硬件環境:PC機一臺
三、實驗內容、步驟和結果分析
題目一:編寫一個用來判斷質數(素數)的函數。
要求:
(1)在main函數中調用該函數對輸入的數值進行判斷,并輸出判斷結果;(2)當輸入數值<=1時,停止輸入和判斷。
#include
} /*=======判斷質數(素數)的函數=======*/ int main(){
printf(“n提示:輸入一個數字來判斷是否是質數(素數),當輸入數值<=1時,停止輸入和判斷。nn”);for(int num=2,temp;num>1;){ printf(“Please enter a number:”);for(int i=2;i<=sqrt(n);i++)//一個數n如果是合數,那么它的所有的因子不超過n的開方 {
} return 1;if(n%i==0)return 0;else continue;
}
} scanf(“%d”,&num);if(num<=1)break;//當輸入數值<=1時,停止輸入和判斷 temp=judgePrime(num);if(temp==0)printf(“%d is not a prime numner!nn”,num);else printf(“%d is a prime numner!nn”,num);return 0;
題目二:使用習題1中所編寫的判斷質數的函數驗證哥德巴赫(Goldbach)的1+1猜想-----任何一個>=6的偶數都可以表示成兩個素數之和
要求:
① 屏幕提示用戶一個>=6的偶數;
② 輸出這個偶數等于2個素數之和的表達式; ③ 當輸入數據<6或者不是偶數時,停止輸入和驗證。
#include
for(int i=2;i<=sqrt(n);i++)//一個數n如果是合數,那么它的所有的因子不超過n的開方 {
if(n%i==0)return 0;else continue;
} } return 1;//true-->1,false-->0 /*=======驗證哥德巴赫猜想的函數(調用judgePrime)=======*/ int proveGoldbach(int m){
} int main(){
}
printf(“n提示:輸入一個偶數來驗證哥德巴赫猜想,當輸入數值<6時,停止輸入和判斷。nn”);for(int num=6;num>=6;){
} int temp;printf(“Please enter a number:”);scanf(“%d”,&num);temp=proveGoldbach(num);if(temp==0)//當輸入小于6或者不是偶數時結束 return 0;printf(“==================================”);if(m<6||m%2!=0){
} if(judgePrime(j)==1&&judgePrime(m-j)==1)//判斷兩數是否都等于質數 { } printf(“t%d = %d + %dn”,m,j,m-j);return 0;//判斷是否大于等于6或者不是偶數 for(int j=2;j<(m/2);j++)
題目三:編寫一個求階乘的函數,接著調用該函數實現組合的求解要求:
① 提示用戶輸入n和m的數值; ② 輸出的 結果
#include
} /*=======組合函數=======*/ int combine(int m,int n){ } /*=======main函數=======*/ void main(){
int m,n;int res;printf(“n提示:這是求組合求和公式的函數,輸入兩個整數(分別為上標和下標)nn”);scanf(“%d%d”,&m,&n);if(m>n)//判斷上標大于小標重新輸入 goto loop;return fac(n)/(fac(n-m)*fac(m));int f;if(n<0)printf(“n<0,data error!”);f=1;else if(n==0||n==1)else f=fac(n-1)*n;return f;loop:printf(“Please enter two numbers:”);
}res=combine(m,n);printf(“tResult is %dn”,res);
題目四:編寫一個求矩陣中最大元素以及最小元素的函數selectMaxAndMin(),在main函數中調用該函數
要求:
最大值和最小值的輸出操作,可以放在selectMaxAndMin()函數中
#include
/*=======在矩陣中選擇最大最小數的函數=======*/ void selectMaxAndMin(int arry[ROW][COLUMN])//用指針更方便 {
int tempMax,tempMin;if(arry[0][0]>arry[0][1])//賦初始值 {
} else {
} for(int i=0;i } } for(int j=0;j } if(arry[i][j]>tempMax){ } if(arry[i][j] } int mat[ROW][COLUMN];printf(“Please enter a %d X %d matrix:n”,ROW,COLUMN);for(int i=0;i } selectMaxAndMin(mat);return 0;for(int j=0;j 題目五:編寫一個編碼原文的函數,對于給定的內容,按照敵方的規律對其進行編碼 要求: 某日,我軍某部截獲了一份敵方電報,經過仔細分析后發現:該電文中所有的字母字符都是經過某種運算后得到的,然那些非字母字符則沒有經過任何處理。例如,原文中的字符A對應電文中的字符E,原文中的字符b對應電文中的字符f,原文中的字符W對應電文中的字符A,原文中的字符!在電文中仍為! #include //定義大小 /*=======密碼翻譯的函數=======*/ char trans(char a){ } //主函數 int main(void){ printf(“請輸入原文:nnn”);char str[SIZE];gets(str);printf(“nnn”);if((a>='a'&&a<='v')||(a>='A'&&a<='V')){ } else { } if(a>='w'||a>='W'){ } else { return a;} return a-22;return a+4; }printf(“正在破解……nnn”);printf(“破譯的原文是:”);for(int i=0;i<20;i++){ } printf(“n”);str[i]=trans(str[i]);if(str[i]=='
主站蜘蛛池模板:
国产一本一道久久香蕉|
无尺码精品产品视频|
图片小说视频一区二区|
亚洲国产韩国欧美在线|
成人18禁深夜福利网站app免费|
色老汉免费网站免费视频|
337p日本欧洲亚洲大胆精品|
国产精品国产三级国产av′|
国产做爰又粗又大又爽动漫|
人妻互换免费中文字幕|
男ji大巴进入女人的视频小说|
欧美日韩精品suv|
国产成人无码免费视频97|
国产精品久久久久久一区二区三区|
亚洲欧洲av综合色无码|
97人妻免费碰视频碰免|
国产精品.xx视频.xxtv|
国内精品国内精品自线一二三区|
亚洲欧洲自偷自拍图片|
青青草草青青草久久草|
国产在线精品一区二区高清不卡|
88国产精品欧美一区二区三区|
无码人妻人妻经典|
乌克兰性欧美精品高清|
国产人妻精品一区二区三区|
成熟老妇女视频|
拍真实国产伦偷精品|
精品国产福利拍拍拍|
国内老熟妇乱子伦视频|
天天夜碰日日摸日日澡性色av|
伊人久久大香线蕉av网站|
免费人成视频网站在线观看18|
无码日韩人妻av一区二区三区|
成熟了的熟妇毛茸茸|
黑人玩弄人妻中文在线|
无翼乌工口肉肉无遮挡无码18|
日韩欧美偷拍高跟鞋精品一区|
亚洲欧美熟妇自拍色综合图片|
国产自产在线视频一区|
亚洲欧洲国产码专区在线观看|
少妇伦子伦精品无码styles|