日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

第六章实验报告(函数和宏定义实验)

發(fā)布時(shí)間:2023/12/20 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第六章实验报告(函数和宏定义实验) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

C程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告
一、實(shí)驗(yàn)項(xiàng)目:
1、編寫由三角形三邊求面積的函數(shù)
2、編寫求N階乘的函數(shù)
3、求兩個(gè)整數(shù)的最大公約數(shù)
4、打印輸出三角形
5、求500以內(nèi)的所有親密數(shù)對(duì)

姓名:廖云福?實(shí)驗(yàn)地點(diǎn):教學(xué)樓514教室??實(shí)驗(yàn)時(shí)間:2019.4.30
一、實(shí)驗(yàn)?zāi)康呐c要求
1.編寫由三角形三邊求面積的函數(shù)

調(diào)用area()函數(shù)求三角形的面積;
在求面積函數(shù)中運(yùn)用海倫公式;
2.編寫求N的階層

定義符號(hào)常量;
使用長整型變量存放累乘積;
在函數(shù)中,使用局部靜態(tài)變量存放累乘積;
使用全局變量存放累乘積;
3.求兩個(gè)整數(shù)的最大公約數(shù)

調(diào)用gcd()函數(shù)求兩個(gè)整數(shù)的最大公約數(shù);
掌握輾轉(zhuǎn)相除法求兩個(gè)整數(shù)的最大公約數(shù);
4.打印輸出的指定圖形

調(diào)用trangle()函數(shù)輸出三角形;
在trangle()函數(shù)中用for循環(huán)的嵌套輸出指定的結(jié)果;
5.模塊化程序設(shè)計(jì)

掌握C語言中定義函數(shù)的方法;
掌握通過值傳遞調(diào)用函數(shù)的方法。
二、實(shí)驗(yàn)內(nèi)容
1、編寫由三角形三邊求面積的函數(shù)
問題的簡單描述:編寫程序,從鍵盤輸入三角形的3條邊,調(diào)用三角形函數(shù)求出其面積,并輸出結(jié)果。流程圖如下:
實(shí)驗(yàn)代碼

#include<math.h> #include<stdio.h> float area(float a,float b,float c) {float s,p,area;s=(a+b+c)/2;p=s*(s-a)*(s-b)*(s-c);area=sqrt(p);/*根據(jù)海倫公式求三角形面積*/return (area); } main() {float x,y,z,ts;printf("請(qǐng)輸入三角形的3條邊;\n");/*鍵盤輸入三角形的3條邊*/ scanf("%f%f%f",&x,&y,&z);ts=area(x,y,z);/*調(diào)用求三角形面積的函數(shù)*/ if((x>0)&&(y>0)&&(z>0)&&((x+y)>z)&&((x+z)>y)&&((y+z)>x))/*判斷是否構(gòu)成三角形*/ printf("area=%f\n",ts);else printf("data error!");}

程序運(yùn)行如下
2、編寫求N階乘的函數(shù)
問題的簡單描述:編寫函數(shù),求出從主調(diào)函數(shù)傳來的數(shù)值i的階乘值,然后將其傳出主調(diào)函數(shù)并輸出。流程圖如下:
實(shí)驗(yàn)代碼

#include"stdio.h" int N=5;/*定義符合常量N,代表數(shù)字5*/ long function(int i) {static long f=1;/*定義局部靜態(tài)變量f并賦初值1*/f=f*i;/*求形參i的階乘值并存放在f中*/return f; } main(){long product;int i;for(i=1;i<=N;i++){product=function(i);/*調(diào)用函數(shù)function()求階乘值,并賦值給product*/ printf("%d的階乘是:%d\n",i,product);/*輸出*/ }}

程序運(yùn)行結(jié)果如下
3、求兩個(gè)整數(shù)的最大公約數(shù)
問題的簡單描述:編寫程序,從鍵盤輸入兩個(gè)整數(shù),調(diào)用gcd()函數(shù)求它們的最大公約數(shù),并輸出結(jié)果。流程圖如下:
3、求兩個(gè)整數(shù)的最大公約數(shù)
問題的簡單描述:編寫程序,從鍵盤輸入兩個(gè)整數(shù),調(diào)用gcd()函數(shù)求它們的最大公約數(shù),并輸出結(jié)果。流程圖如下:

實(shí)驗(yàn)代碼

#include<stdio.h> int gcd(int a,int b) {int temp;int remainder;if(a<b){temp=a;a=b;b=temp;/*交換a和b的值*/ }remainder=a%b;while(remainder!=0){a=b;b=remainder;/*輾轉(zhuǎn)相除求最大公約數(shù)*/break;}return b;}main(){int x,y;int fac;printf("請(qǐng)輸入兩個(gè)整數(shù);");scanf("%d%d",x,y);fac=gcd(x,y);printf("the great common divisor is:%d",fac);}

程序運(yùn)行結(jié)果如下
4、打印輸出指定圖形
問題的簡單描述:輸入整數(shù)n,輸出高度為n的等邊三角形。流程圖如下:
實(shí)驗(yàn)代碼

#include<stdio.h> void trangle(int n) {int i,j;for(i=0;i<n;i++){for (j=i;j<n;j++)/*打印每一行的空格*/printf(" ");for (j=0;j<=2*i;j++)/*打印每一行的*號(hào)*/printf("*");putchar('\n'); } } main() {int n;printf("請(qǐng)輸入一個(gè)整數(shù);");/*提示輸入一個(gè)整數(shù)*/ scanf("%d",&n);/*輸入整數(shù)*/ printf("\n");trangle(n );/*調(diào)用函數(shù)打印出等邊三角形*/ }

程序運(yùn)行結(jié)果
5、求500以內(nèi)的所有親密數(shù)對(duì)
.問題的簡單描述:若正整數(shù)A的所有因子(包括1但不包括自身,下同)之和為B,而B的因子之和為A,則稱A和B為一對(duì)親密數(shù)。例如,6的因子之和為1+2+3=6,因此6與6為一對(duì)親密數(shù)(即6自身構(gòu)成一對(duì)親密數(shù));又如,220的因子之和為1+2+4+5+10+11+20+22+44+55+110=284,而284的因子之和為1+2+4+71+142=220,因此,220與284為一對(duì)親密數(shù)。
求500以內(nèi)的所有的親密數(shù)對(duì)。流程圖如下:
實(shí)驗(yàn)代碼

#include<stdio.h> int facsum(int m) {int sum=1,f=2;while(f<=m/2){if(m%f==0)sum=sum+f;f++;}return sum; } main() {int m=3,n,k;while(m<=500){n=facsum(m);k=facsum(n);if(m==k&&m<=n)printf("%d,%d\n",m,n);m++;} }

程序運(yùn)行結(jié)果

轉(zhuǎn)載于:https://www.cnblogs.com/lyf152977/p/10809636.html

總結(jié)

以上是生活随笔為你收集整理的第六章实验报告(函数和宏定义实验)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。