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