#includestdio.h
成都一家集口碑和實(shí)力的網(wǎng)站建設(shè)服務(wù)商,擁有專業(yè)的企業(yè)建站團(tuán)隊(duì)和靠譜的建站技術(shù),10多年企業(yè)及個人網(wǎng)站建設(shè)經(jīng)驗(yàn) ,為成都上千余家客戶提供網(wǎng)頁設(shè)計(jì)制作,網(wǎng)站開發(fā),企業(yè)網(wǎng)站制作建設(shè)等服務(wù),包括成都營銷型網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),同時也為不同行業(yè)的客戶提供網(wǎng)站制作、網(wǎng)站設(shè)計(jì)的服務(wù),包括成都電商型網(wǎng)站制作建設(shè),裝修行業(yè)網(wǎng)站制作建設(shè),傳統(tǒng)機(jī)械行業(yè)網(wǎng)站建設(shè),傳統(tǒng)農(nóng)業(yè)行業(yè)網(wǎng)站制作建設(shè)。在成都做網(wǎng)站,選網(wǎng)站制作建設(shè)服務(wù)商就選創(chuàng)新互聯(lián)公司。
int main()
{
int sum(int);
int factorial(int);
int n,s;
long int p;
printf("請輸入n值:\n");
scanf("%d",n);
s=sum(n);
p=factorial(n);
printf("1+2+3+...+n=%d\n",s);
printf("n!=%ld\n",p);
return 0;
}
int sum(int x)
{
int a=0;
for(int i=0;i=x;i++)
a=a+i;
return a;
}
int factorial(int y)
{
int b=1;
for(int i=1;i=y;i++)
b=b*i;
return b;
}
因?yàn)殡A乘會得到很大的結(jié)果,會超出p的范圍,所以n值不能太大,否則階乘沒有結(jié)果(或不對),只有加法的結(jié)果;
只是個例子,不可照抄。
實(shí)驗(yàn)內(nèi)容與要求:
[實(shí)驗(yàn)內(nèi)容]
1、 通過本試驗(yàn)初步培養(yǎng)計(jì)算機(jī)邏輯解題能力。熟練掌握賦值語句和if語句的應(yīng)用;掌握switch多路分支語句和if嵌套語句的使用
2、 將前期所學(xué)習(xí)到的基本數(shù)據(jù)類型、運(yùn)算符和表達(dá)式等程序設(shè)計(jì)基礎(chǔ)知識運(yùn)用于具體的程序設(shè)計(jì)。
3、 進(jìn)一步熟練掌握輸入輸出函數(shù)scanf, printf和getchar的使用,熟悉math.h中常用數(shù)學(xué)函數(shù)的使用方法
4、 掌握循環(huán)語句的應(yīng)用方法。
5、 了解隨機(jī)數(shù)生成函數(shù)。
[實(shí)驗(yàn)要求]
在規(guī)定期限獨(dú)立完成實(shí)驗(yàn)內(nèi)容
1、 提交實(shí)驗(yàn)報(bào)告(電子版)
2、 提交相應(yīng)源程序文件(文件名 EX6_x姓名.c, 如EX6_1彭健.c)
3、 要求從簡單到復(fù)雜,后面的要求均在前面的基礎(chǔ)上進(jìn)行修改,前六題,每題均需要保留各自的程序,六題以后,每題均在前一題基礎(chǔ)上修改,保留最后一個程序即可(如做到第九題,則保留EX6_9姓名.c,做到第11題,則保留ex6_11姓名.c)
二、實(shí)驗(yàn)原理和設(shè)計(jì)方案:
1、函數(shù)頭的選則,while循環(huán)語句,switch(case)語句,條件表達(dá)式,if else條件語句,自增運(yùn)算符,設(shè)置復(fù)雜變量,輸出隨機(jī)操作數(shù)。
2、 變量要有分?jǐn)?shù)變量和等級變量,要有選擇算法題數(shù)的變量和計(jì)算正確與否的變量,要有隨機(jī)輸出的兩個操作數(shù)變量和自己按運(yùn)算符號輸入結(jié)果的變量,最后還有判斷是否要進(jìn)行的變量字符。中間結(jié)果有選擇運(yùn)算符的switch()和分?jǐn)?shù)等級的switch()和錯題對題的自增和選擇運(yùn)算符計(jì)算的自增。
3、 問題的分析方法:先考慮設(shè)置整形變量和字符變量,考慮到要不斷循環(huán)計(jì)算,選擇用while語句來循環(huán)。在循環(huán)體中,將前面的輸出提示運(yùn)算符,和自行選擇運(yùn)算符、答案及輸出隨機(jī)操作數(shù)完成。再用switch語句對選擇的運(yùn)算符進(jìn)行判斷,并用變量進(jìn)行自增運(yùn)算,計(jì)算出錯題于對題個數(shù)和選擇了那種運(yùn)算符號。在循環(huán)體最后用if else語句來判斷是否繼續(xù)執(zhí)行還是跳出循環(huán)。最后根據(jù)自增計(jì)算的結(jié)果和公式進(jìn)行分?jǐn)?shù)計(jì)算,并用switch語句來是想等級的制定。
三、源代碼
#include
#include
#include
void main()
{
..........
}
四、試驗(yàn)結(jié)果和啟發(fā)
因?yàn)檩斎難要繼續(xù)循環(huán),所以選擇用while語句。在while語句中要結(jié)合前面的按提示計(jì)算,并嵌套switch語句并用條件表達(dá)式,來計(jì)算結(jié)果正確與否,計(jì)算的題型是什么。最后再用switch語句來完成分?jǐn)?shù)等級的判斷。
五、實(shí)驗(yàn)體會:
描述自己在編程或程序編譯運(yùn)行中遇到的難點(diǎn)和問題及解決的辦法。
#include math.h
int primeNum(int p)
{
int i, q;
/* Negative number is not a prime */
if (p 0)
return 0;
q = (int) sqrt(p);
for (i = 2; i q; i++)
if ((p % i) == 0)
return 0;
/* No factor of p is found */
return 1;
}
/*原理::
從2-sqrt(x)的數(shù)中看是否有可以整除的, 如果沒有, 則為素?cái)?shù).
*/
姓名 ***
**學(xué) 院 ** 專業(yè) 052 班
2007 年 11 月 24 日
實(shí)驗(yàn)內(nèi)容實(shí)驗(yàn)五 指導(dǎo)老師 陳老師
一、實(shí)驗(yàn)內(nèi)容及要求:
編譯運(yùn)行習(xí)題5-3,觀察x、y變量的值。
實(shí)現(xiàn)客戶機(jī)類(類名為CLIENT),其中包含的成員有:字符型靜態(tài)數(shù)據(jù)成員ServerName,用來保存服務(wù)器名稱;整型靜態(tài)數(shù)據(jù)成員ClientNum,記錄已定義的客戶數(shù)量;靜態(tài)函數(shù)ChangeServerName(),用來改變服務(wù)器名稱。在頭文件client.h中聲明這個類,在文件client.cpp中實(shí)現(xiàn),在文件test.cpp中測試這個類,觀察相應(yīng)的成員變量取值的變化情況。二、實(shí)驗(yàn)?zāi)康模?/p>
1、復(fù)習(xí)類的聲明和使用、掌握對象的聲明和使用;
2、學(xué)習(xí)構(gòu)造函數(shù)和析構(gòu)函數(shù)的使用,觀察構(gòu)造函數(shù)和析構(gòu)函數(shù)的執(zhí)行過程。
三、程序:
//client.h
class Client
{
public:
Client();
~Client();
static ChangeServerName(char *); //改變服務(wù)器名稱
char * GetServerName(); //返回服務(wù)器名稱
int GetClientNum (); //返回客戶機(jī)數(shù)量
protected:
static char ServerName[20]; //服務(wù)器名稱
static int ClientNum; //存放服務(wù)器數(shù)量
};
/////////////////////////////////////////////////////
//client.cpp
# include iostream
# include cstring
# include "client.h"
using namespace std;
static char *ServerName = "";
int Client::ClientNum = 0;
Client::Client()
{ClientNum ++;}
Client::~Client(){}
void Client::ChangeServerName(char * names) //改變服務(wù)器名稱
{strcpy(ServerName,names);}
char * GetServerName() //返回服務(wù)器名稱
{return ServerName;}
int GetClientNum () //返回服務(wù)器數(shù)量
{return ClientNum;}
////////////////////////////////////////////////////////
//test.cpp
# include iostream
# include "client.cpp"
using namespace std;
void main() //用于測試的主函數(shù)
{
Client threeclient[3];
char namestr[20]; //臨時存放服務(wù)器名稱
cout"定義了3個客戶"endl;
cout"請輸入新服務(wù)器名稱:"endl;
cin namestr;
CC.ChangeServerName(namestr);
cout"服務(wù)器的名稱是"Client::GetServerName()endl;
cout"客戶數(shù)量為"CC.GetClientNum ();
}
思考題:
(1)C語言有五種基本數(shù)據(jù)類型:字符、整型、單精度實(shí)型、雙精度實(shí)型和空類型。結(jié)構(gòu)體可以定義自己所需特殊類型.其他類型是已經(jīng)定義好,不可修改的,而結(jié)構(gòu)體是根據(jù)自己的需要定義的特殊的類型.
(3)采用了循環(huán),復(fù)合語句.