青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

天之道

享受編程的樂(lè)趣。
posts - 118, comments - 7, trackbacks - 0, articles - 0
  C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

構(gòu)造函數(shù)是什么?看下面幾行代碼:
class GradeBook
{
  public:
      void setCourseName(string name)
      {
              courseName=name;
       }
       string getCourseName()
       {
            return courseName;
       }
       GradeBook myGradeBook;
       cout<<"Initial course name is: "<<myGradeBook.getCourseName()<<endl;
}
這幾行代碼中,定義一個(gè)類(lèi)GradeBook,成員訪問(wèn)說(shuō)明符public表示在這個(gè)符號(hào)之下的函數(shù),函數(shù)都是公共可相互被調(diào)用的。創(chuàng)建GradeBook類(lèi)的對(duì)象時(shí)(對(duì)象可以這樣創(chuàng)建:GradeBook myGradeBook; 這里myGradeBook就是類(lèi)的對(duì)象 ),該對(duì)象的數(shù)據(jù)成員courseName被初始化為默認(rèn)的空串。事實(shí)上,我們可用定義一個(gè)構(gòu)造函數(shù),用于類(lèi)對(duì)象創(chuàng)建時(shí)的初始化。
構(gòu)造函數(shù)是一種特殊的成員函數(shù),定義時(shí)必須與類(lèi)同名。它和其他成員函數(shù)的一個(gè)重大差別是構(gòu)造函數(shù)不能返回值,通常構(gòu)造函數(shù)聲明為public。

請(qǐng)看一個(gè)實(shí)例:
 1 #include<iostream>
 2 #include<string>
 3 using namespace std;
 4 
 5 class GradeBook  //定義類(lèi)
 6 {
 7 public:
 8     GradeBook(string name)//定義了GradeBook類(lèi)的一個(gè)構(gòu)造函數(shù),有一個(gè)string形參name,與下面的形參name名字相同,但互不干擾
 9     {
10         setCourseName(name);//調(diào)用函數(shù)賦值,構(gòu)造函數(shù)的好處是:只是簡(jiǎn)單調(diào)用,要改變時(shí)只需對(duì)被調(diào)用函數(shù)進(jìn)行修改
11     }
12 
13     void setCourseName(string name)//這個(gè)函數(shù)的形參為name
14     {
15         courseName=name;
16     }
17     string getCourseName()
18     {
19         return courseName;
20     }
21 
22     void displayMessage()
23     {
24         cout<<"Welcome to the grade book for\n"<<getCourseName() //下面的main()函數(shù)中,沒(méi)有調(diào)用getCourseName()函數(shù)
25             <<"!"<<endl;
26     }
27 private:    // 私有的,在這個(gè)成員訪問(wèn)說(shuō)明符之后聲明的變量或者函數(shù),只可以被聲明它們的類(lèi)的成員函數(shù)所訪問(wèn)
28     string courseName;
29 };
30 
31 int main()
32 {
33     GradeBook gradeBook1("CS101 Introduction to C++ Programming"); //創(chuàng)建類(lèi)的對(duì)象,并把實(shí)參賦予形參name
34     GradeBook gradeBook2("CS102 Data Structures in C++");
35 
36     cout<<"gradeBook1 created for course: "<<gradeBook1.getCourseName()   //調(diào)用類(lèi)的成員函數(shù)getCourseName(),初始化類(lèi)的對(duì)象
37         <<"\ngradeBook2 created for course: "<<gradeBook2.getCourseName()<<endl;
38 }
39 
40 


PS:1)為類(lèi)提供默認(rèn)構(gòu)造函數(shù)的兩種方法:編譯器隱式地在沒(méi)有定義構(gòu)造函數(shù)的類(lèi)中創(chuàng)建一個(gè)默認(rèn)的構(gòu)造函數(shù),這樣的默認(rèn)構(gòu)造函數(shù)不初始化類(lèi)的數(shù)據(jù)成員,而是調(diào)用其他類(lèi)的對(duì)象的每個(gè)數(shù)據(jù)成員的默認(rèn)構(gòu)造函數(shù)。沒(méi)有初始化的變量通常包含“垃圾”值。
  程序員顯式定義一個(gè)不接受實(shí)參的構(gòu)造函數(shù)。

2)除非沒(méi)有必要初始化類(lèi)的數(shù)據(jù)成員(幾乎不可能),否則請(qǐng)?zhí)峁?gòu)造函數(shù),這樣可以保證當(dāng)類(lèi)的每一個(gè)新對(duì)象被創(chuàng)建時(shí),類(lèi)的數(shù)據(jù)成員都用有意義的值進(jìn)行了初始化。






          

posted @ 2011-09-22 00:01 hoshelly 閱讀(2243) | 評(píng)論 (0)編輯 收藏

先給出一個(gè)程序,C++寫(xiě)成。
#include<iostream>
int main()
{
    
int number1;
    
int number2;
    
int sum;
    std::cout
<<"Enter first integer:\n";
    std::cin
>>number1;
    std::cout
<<"Enter second integer:\n";
    std::cin
>>number2;
    sum
=number1+number2;
    std::cout
<<"Sum is"<<sum<<std::endl;//輸出變量sum;
    
return 0;
}


std::cout是標(biāo)準(zhǔn)輸出流對(duì)象,通常“連接”到屏幕;雙尖括號(hào)<<運(yùn)算符稱(chēng)為流插入運(yùn)算符,顯示輸入的值;
std::cin是輸入流對(duì)象,流提取運(yùn)算符>>是來(lái)獲取鍵盤(pán)輸入的值。
std::endl輸出一個(gè)換行符,然后“刷新輸出緩沖”。簡(jiǎn)單來(lái)說(shuō),在一些系統(tǒng)中,輸出在機(jī)器中積存,直到積累到“值得”輸出到屏幕上為止;而std::endl 則強(qiáng)制顯示所有積存的輸出。

運(yùn)算符的優(yōu)先級(jí)規(guī)則。
1)圓括號(hào)具有最高的優(yōu)先級(jí);
2)接下來(lái)是乘法、除法和求模運(yùn)算(%)。
3)最后是加法和減法運(yùn)算。加法和減法具有相同的運(yùn)算級(jí)。


聲明:using std::cout;是一個(gè)using 聲明,它可以消除重復(fù)使用std::前綴的需要。
更多程序員用using namespace std;使程序可以使用程序包含的任何標(biāo)準(zhǔn)的C++頭文件中的所有名字(如std)。


例子:編寫(xiě)一個(gè)完整的程序,計(jì)算并顯示三個(gè)整數(shù)的乘積。

#include<iostream>
using namespace std;
int main()
{
 int x;
 int y;
 int z;
 int result;
 cout<<"input three numbers:\n";
 cin>>x>>y>>z;
 result=x*y*z;
 cout<<"The product is "<<result<<endl;
 return 0;
}

 


posted @ 2011-09-19 23:22 hoshelly 閱讀(225) | 評(píng)論 (0)編輯 收藏

要求:編寫(xiě)一個(gè)遞歸函數(shù),將一個(gè)整數(shù)n轉(zhuǎn)換為字符串,例如輸入483,應(yīng)輸出字符串“483”。
設(shè)計(jì)思想:設(shè)置一個(gè)字符型數(shù)組str,用于存放轉(zhuǎn)換后的字符串,因?yàn)檫f歸函數(shù)中要反復(fù)使用它,所以將其設(shè)置為全局?jǐn)?shù)組變量。要實(shí)現(xiàn)整數(shù)n轉(zhuǎn)換成字符串的遞歸轉(zhuǎn)換,首先要將n的個(gè)位數(shù)n%10轉(zhuǎn)換為字符,插入到str字符串的最前面,然后將除個(gè)位后的高位部分n/10按照相同的方式來(lái)轉(zhuǎn)換,直到要轉(zhuǎn)換的數(shù)為0結(jié)束。
#include<stdio.h>
#include
<string.h>
void IntToStr(int n);
char str[80]={0};
void main()
{
    
int num;
    printf(
"input an integer number:");
    scanf(
"%d",&num);
    IntToStr(num);
    printf(
"The string is:%s\n",str);
}

void IntToStr(int n)
{
    
int i;
    
if(n==0)//整數(shù)為0時(shí),遞歸結(jié)束
        return;
    
for(i=strlen(str)-1;i>=0;i--//將字符串整個(gè)往后移一個(gè)字符
        str[i+1]=str[i];
    str[
0]=n%10+0x30;  //將該數(shù)的個(gè)位數(shù)轉(zhuǎn)換成字符放在字符數(shù)組的第一個(gè)元素的位置,+0x30表示十六進(jìn)制的0,其實(shí)可以不加

    IntToStr(n
/10);//將該數(shù)的商,即除個(gè)位外的其他數(shù)通過(guò)遞歸轉(zhuǎn)換
}

//遞歸過(guò)程:例如輸入n=148,那么第一次遞歸時(shí),str[0]存放的數(shù)是8,n/10=14,得到第二次遞歸的數(shù)是14;
//8原先存儲(chǔ)在str[0],但第二次遞歸向后移動(dòng)一個(gè)字符,變成存在str[1]內(nèi),而4存在str[0]內(nèi);
//第三次遞歸時(shí),同理可知8放在str[2],4放在str[1],而1放在str[0],這樣就將148轉(zhuǎn)換為字符串。


posted @ 2011-09-18 21:03 hoshelly 閱讀(396) | 評(píng)論 (0)編輯 收藏

注:斐波納契數(shù)列的第一項(xiàng)和第二項(xiàng)的值都為1,以后各項(xiàng)的值為其前兩項(xiàng)值之和。所以要計(jì)算第n項(xiàng)的值F(n),可以列出遞歸式F(n)=F(n-1)+F(n-2),當(dāng)n=1或n=2時(shí),其值為1;

用C語(yǔ)言代碼表示如下:


#include<stdio.h>
long F(int n);
void main()
{
    
int i;
    
for(i=1;i<=40;i++)
    {
        printf(
"F(%2d)=%-9ld",i,F(i));
        
if(i%4==0)
        printf(
"\n");
    }
}

long F(int n)//求第n項(xiàng)的值
{
    
if(n<=2)
        
return (1);
    
return(F(n-1)+F(n-2));
}



posted @ 2011-09-18 15:27 hoshelly 閱讀(1097) | 評(píng)論 (0)編輯 收藏

 冒泡排序的基本概念:
依次比較相鄰的兩個(gè)數(shù),將小數(shù)放在前面,大數(shù)放在后面。即在第一趟:首先比較第1個(gè)和第2個(gè)數(shù),將小數(shù)放前,大數(shù)放后。然后比較第2個(gè)數(shù)和第3個(gè)數(shù),將小數(shù)放前,大數(shù)放后,如此繼續(xù),直至比較最后兩個(gè)數(shù),將小數(shù)放前,大數(shù)放后。至此第一趟結(jié)束,將最大的數(shù)放到了最后。在第二趟:仍從第一對(duì)數(shù)開(kāi)始比較(因?yàn)榭赡苡捎诘?個(gè)數(shù)和第3個(gè)數(shù)的交換,使得第1個(gè)數(shù)不再小于第2個(gè)數(shù)),將小數(shù)放前,大數(shù)放后,一直比較到倒數(shù)第二個(gè)數(shù)(倒數(shù)第一的位置上已經(jīng)是最大的),第二趟結(jié)束,在倒數(shù)第二的位置上得到一個(gè)新的最大數(shù)(其實(shí)在整個(gè)數(shù)列中是第二大的數(shù))。如此下去,重復(fù)以上過(guò)程,直至最終完成排序。需要用二重循環(huán)排序。
Example:
#include<stdio.h>
int main() 

    
int i,j,temp,tag; 
    
int a[11];  //數(shù)組第0位空出
    
for(i=1;i<=10;i++
    scanf (
"%d,",&a[i]); 
    
for(j=1;j<=10;j++
    

       tag
=1;
       
for (i=1;i<=10-j;i++
       
{
        
if (a[i]>a[i+1]) 
       

           temp
=a[i]; 
           a[i]
=a[i+1]; 
           a[i
+1]=temp;
           tag
=0;
       }
 
       }


       
if(1==tag)
       
{
         
break;
       }

    }

        
for(i=0;i<10;i++)
            printf(
"%5d",a[i]);
            
return 0;
}




以下是選擇排序法:

每次外循環(huán)先將定位元素的小標(biāo)i值記錄到K,認(rèn)為a[k]是最小值,第一輪比較時(shí),若遇到比a[k]更小的數(shù),則交換兩數(shù)的下標(biāo),由下面的if語(yǔ)句進(jìn)行交換處理。
這樣第一輪就選出了最小的數(shù),第二輪,同理選出次小的數(shù)排在最小的數(shù)后面。如果是輸入10個(gè)數(shù),那么進(jìn)行9輪排序后就可完成整個(gè)排序過(guò)程。



#include<stdio.h>//選擇排序法
void main()
{
    
int i,j,t,a[10],k;
    printf(
"input 10 numbers:\n");
    
for(i=0;i<10;i++)
    scanf(
"%d",&a[i]);

    
for(i=0;i<9;i++)//這里也要注意i=0;i<9;
    {
        k
=i;
        
for(j=i+1;j<10;j++)
            
if(a[k]>a[j])
                k
=j;

            
if(k!=i)//如果k不等于i,改變了,則交換兩個(gè)數(shù)的位置
            {
                t
=a[i];
                a[i]
=a[k];
                a[k]
=t;
            }
    }
    
for(i=0;i<10;i++)//最后輸出已經(jīng)排好序的數(shù)
        printf("%5d",a[i]);
}




PS:大一剛開(kāi)始接觸這兩個(gè)排序算法時(shí),感覺(jué)有點(diǎn)亂,現(xiàn)在回過(guò)頭來(lái)仔細(xì)看,思路清晰了不少。時(shí)刻回顧過(guò)去的知識(shí),進(jìn)行整理,再認(rèn)識(shí),很重要呀。:-D












posted @ 2011-09-17 16:53 hoshelly 閱讀(371) | 評(píng)論 (0)編輯 收藏

輾轉(zhuǎn)相除法,又名歐幾里得算法,是求最大公約數(shù)的算法。

原理及其詳細(xì)證明

  設(shè)兩數(shù)為a、b(b<a),用gcd(a,b)表示a,b的最大公約數(shù),r=a mod b 為a除以b以后的余數(shù),輾轉(zhuǎn)相除法即是要證明gcd(a,b)=gcd(b,r)。
  第一步:令c=gcd(a,b),則設(shè)a=mc,b=nc
  第二步:根據(jù)前提可知r =a-kb=mc-knc=(m-kn)c
  第三步:根據(jù)第二步結(jié)果可知c也是r的因數(shù)
  第四步:可以斷定m-kn與n互素【否則,可設(shè)m-kn=xd,n=yd,(d>1),則m=kn+xd=kyd+xd=(ky+x)d,則a=mc=(ky+x)dc,b=nc=ycd,故a與b最大公約數(shù)成為cd,而非c】
  從而可知gcd(b,r)=c,繼而gcd(a,b)=gcd(b,r)。
  證畢。

用C表示則:

     int gcd(int a,int b)
  {
  int temp;
  if(a<b)/*交換兩個(gè)數(shù),使大數(shù)放在a上*/
  {
  temp=a;
  a=b;
  b=temp;
  }
  while(b!=0)/*利用輾除法,直到b為0為止*/
  {
  temp=a%b;
  a=b;
  b=temp;
  }
  return a;
  }




posted @ 2011-09-17 02:00 hoshelly 閱讀(2436) | 評(píng)論 (0)編輯 收藏

算法分析:因?yàn)閷?duì)于a與b兩個(gè)數(shù),當(dāng)a>b時(shí),如果a中含有與b相同的公約數(shù),則a-b也含有與b相同的公約數(shù),反復(fù)循環(huán),直到a和b相等為止,這時(shí)a或b就是它們的最大公約數(shù)。

 1 #include<stdio.h>
 2 int Maxcommonfactor(int a,int b);
 3 void main()
 4 {
 5     int a,b,c;
 6     printf("input two integer number:");
 7     scanf("%d%d",&a,&b);
 8     c=Maxcommonfactor(a,b);
 9     if(c!=-1)
10         printf("The biggest common factor of %d and %d is %d\n",a,b,c);
11     else
12         printf("The biggest common factor of %d and %d isn't exist\n",a,b);
13 }
14 int Maxcommonfactor(int a,int b)
15 {
16     if(a<=0||b<=0)
17         return(-1);
18     while(a!=b)
19     {
20         if(a>b)
21             a=a-b;
22         else if(b>a)
23             b=b-a;
24     }
25     return(a);//返回的值為最大公約數(shù)
26 }
27 
28 


posted @ 2011-09-16 18:35 hoshelly 閱讀(1107) | 評(píng)論 (0)編輯 收藏

 

 1 #include<stdio.h>
 2 #include<math.h>
 3 int pdss(int number);//定義一個(gè)函數(shù),判斷一個(gè)數(shù)是 否為素?cái)?shù)
 4 int main()
 5 {
 6     int n;
 7     printf("input the integer:\n");
 8        scanf("%d",&n);
 9     if(pdss(n))//如果是1,輸出素?cái)?shù)
10        printf("%d 是素?cái)?shù).",n);
11     else
12        printf("%d 不是素?cái)?shù).",n);
13     return 0;
14 }
15 
16 int pdss(int number)
17 {
18     int i;
19     if(number<=1)
20         return 0;
21     for(i=2;i<=sqrt(number);i++)//檢驗(yàn)一個(gè)數(shù)為素?cái)?shù)時(shí),用其平方根小或等于的數(shù)去整除所輸入的數(shù),即可判斷。為什么?
22         if(number%i==0)
23         return 0;
24         else 
25         return 1;
26         return 0;
27 }
28 

 

posted @ 2011-09-16 14:31 hoshelly 閱讀(885) | 評(píng)論 (0)編輯 收藏

僅列出標(biāo)題
共12頁(yè): First 4 5 6 7 8 9 10 11 12 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲国产成人久久| 亚洲图片欧洲图片av| 国产日韩欧美中文| 久久精品国产99| 欧美福利一区| 亚洲一区成人| 国产亚洲一级| 欧美v亚洲v综合ⅴ国产v| 亚洲免费电影在线| 久久黄金**| 91久久久久久国产精品| 欧美午夜女人视频在线| 欧美在线视频免费观看| 亚洲韩国一区二区三区| 亚洲一区二区三区中文字幕| 国产亚洲精品久| 欧美激情精品久久久久久免费印度 | 亚洲一区视频在线| 农村妇女精品| 亚洲专区一区| 亚洲黄色成人| 国产精品一区二区黑丝| 美国成人直播| 亚洲一二三区视频在线观看| 看片网站欧美日韩| 亚洲一区在线播放| 在线日韩一区二区| 国产欧美日韩精品专区| 欧美极品色图| 久久另类ts人妖一区二区| 日韩视频精品| 免费h精品视频在线播放| 亚洲在线免费| 亚洲精品美女在线观看播放| 国产手机视频精品| 欧美视频一区在线| 欧美国产成人在线| 久久久午夜精品| 亚洲欧美日韩精品综合在线观看 | 久久国产精品99精品国产| 亚洲精品久久久久久久久久久久久 | 亚洲精品中文在线| 国产综合香蕉五月婷在线| 国产精品爱啪在线线免费观看| 欧美成人官网二区| 久久亚洲一区| 久久大逼视频| 欧美亚洲一区二区三区| 一区二区三区四区国产精品| 亚洲欧洲精品一区二区三区| 免费看黄裸体一级大秀欧美| 久久狠狠亚洲综合| 欧美中文在线免费| 午夜精品美女久久久久av福利| 一本色道久久综合精品竹菊 | 一区二区高清视频| 亚洲欧洲另类国产综合| 狠狠网亚洲精品| 国产色爱av资源综合区| 国产精品女主播在线观看| 欧美午夜一区二区福利视频| 欧美日韩国产三区| 欧美日韩国产色站一区二区三区 | 久久中文字幕一区| 久久国产一区| 久久精品视频免费播放| 欧美一区在线直播| 欧美中文字幕在线播放| 欧美在线关看| 久久精品99无色码中文字幕| 久久精品国产一区二区电影 | 激情欧美日韩| 伊人春色精品| 亚洲国产精品久久人人爱蜜臀| 亚洲第一网站免费视频| 亚洲福利视频一区| 亚洲激情啪啪| 亚洲免费黄色| 亚洲一区二区免费在线| 欧美亚洲日本一区| 久久精品综合一区| 免费在线观看成人av| 欧美国产高潮xxxx1819| 亚洲黄色在线看| 日韩视频在线观看| 国产精品99久久久久久有的能看| 亚洲图片你懂的| 午夜精品久久久久影视| 久久久99爱| 欧美黑人多人双交| 日韩特黄影片| 午夜国产精品影院在线观看| 久久不射2019中文字幕| 可以免费看不卡的av网站| 欧美黄色片免费观看| 国产精品美腿一区在线看| 国产一区欧美日韩| 亚洲国产精品成人精品| 一区二区三区四区五区精品| 午夜精品久久久久影视| 欧美不卡高清| 日韩一级在线观看| 午夜精品久久久| 麻豆成人综合网| 国产精品mv在线观看| 国产一区二区三区成人欧美日韩在线观看| 一区二区三区亚洲| 一区二区三区精密机械公司| 久久精品视频网| 亚洲三级性片| 欧美在线一二三区| 欧美精品一区在线发布| 国产区亚洲区欧美区| 亚洲精品永久免费| 久久er精品视频| 欧美国产高清| 香蕉国产精品偷在线观看不卡| 蜜桃视频一区| 国产欧美日韩综合精品二区| 日韩亚洲欧美一区二区三区| 久久久另类综合| 一本色道久久99精品综合| 久久精品视频免费播放| 国产精品成人aaaaa网站| 在线精品视频在线观看高清 | 免费欧美日韩| 亚洲午夜一区| 欧美激情精品久久久久久久变态| 国产亚洲精品久久久| 亚洲网友自拍| 欧美国产三级| 欧美制服丝袜第一页| 国产精品激情| 99精品欧美一区二区三区综合在线 | 亚洲国产精品va在看黑人| 午夜精品亚洲| 欧美三级视频在线播放| 亚洲国产日韩欧美| 久久激情综合网| 这里只有视频精品| 欧美成人精品在线| 激情成人av| 欧美在线视频不卡| 一区二区日韩| 欧美久久一级| 亚洲乱码国产乱码精品精可以看| 蜜月aⅴ免费一区二区三区| 欧美亚洲免费高清在线观看| 国产精品久久久久av免费| 日韩一级在线观看| 亚洲二区视频在线| 久久综合九色| 尤物99国产成人精品视频| 欧美一区二区三区四区夜夜大片| 夜色激情一区二区| 欧美日韩一区免费| 宅男精品视频| 亚洲欧洲在线免费| 欧美91大片| 亚洲人www| 亚洲福利在线看| 久久综合九色综合欧美就去吻 | 亚洲精选一区| 亚洲成在人线av| 麻豆精品网站| 亚洲欧洲美洲综合色网| 亚洲第一天堂av| 欧美国产一区二区| 亚洲美女视频网| 亚洲片在线资源| 欧美日韩国产精品自在自线| 亚洲天堂久久| 亚洲伊人观看| 国产欧美一区二区三区久久人妖| 欧美一区视频在线| 欧美一级一区| 一区二区三区在线免费观看| 免费久久99精品国产| 免费日韩av电影| 日韩视频一区二区三区在线播放| 亚洲日本aⅴ片在线观看香蕉| 欧美日韩国产123| 亚洲精品小视频| 亚洲最新视频在线播放| 国产精品羞羞答答xxdd| 欧美有码在线视频| 久久精品国产一区二区三区免费看 | 亚洲私人影院| 国产视频自拍一区| 欧美大胆成人| 欧美日本免费一区二区三区| 亚洲免费综合| 欧美一区二区三区视频免费播放| 激情久久久久| 亚洲精品在线三区| 国产欧美日韩综合| 欧美黄色影院| 国产精品久久久久77777| 久久久噜噜噜久久中文字免| 麻豆91精品|