版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第四章數(shù)組、指針、字符串和自定義數(shù)據(jù)類型1本章主要內(nèi)容數(shù)組指針動(dòng)態(tài)存儲(chǔ)分配指針與數(shù)組指針與函數(shù)字符串2數(shù)組的概念數(shù)組是具有一定順序關(guān)系的若干相同類型變量的集合體,組成數(shù)組的變量稱為該數(shù)組的元素。數(shù)組屬于構(gòu)造類型。數(shù)組3一維數(shù)組的聲明與引用一維數(shù)組的聲明類型說(shuō)明符數(shù)組名[常量表達(dá)式];
例如:inta[10];
表示a為整型數(shù)組,有10個(gè)元素:a[0]...a[9]引用必須先聲明,后使用。只能逐個(gè)引用數(shù)組元素,而不能一次引用整個(gè)數(shù)組
例如:a[0]=a[5]+a[7]-a[2*3]數(shù)組名的構(gòu)成方法與一般變量名相同。數(shù)組4例一維數(shù)組的聲明與引用#include<iostream>usingnamespacestd;intmain(){ int
A[10],B[10];
inti; for(i=0;i<10;i++) {
A[i]=i*2-1;
B[10-i-1]=A[i]; }數(shù)組
for(i=0;i<10;i++){
cout<<"A["<<i<<"]="<<A[i];
cout<<"B["<<i<<"]="<<B[i]<<endl; }}5一維數(shù)組的存儲(chǔ)順序數(shù)組元素在內(nèi)存中順次存放,它們的地址是連續(xù)的。例如:具有10個(gè)元素的數(shù)組a,在內(nèi)存中的存放次序如下:數(shù)組名字是數(shù)組首元素的內(nèi)存地址。數(shù)組名是一個(gè)常量,不能被賦值。a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]a數(shù)組6一維數(shù)組的初始化可以在編譯階段使數(shù)組得到初值:在聲明數(shù)組時(shí)對(duì)數(shù)組元素賦以初值。
例如:staticinta[10]={0,1,2,3,4,5,6,7,8,9};可以只給一部分元素賦初值。
例如:staticinta[10]={0,1,2,3,4};在對(duì)全部數(shù)組元素賦初值時(shí),可以不指定數(shù)組長(zhǎng)度。
例如:staticinta[]={1,2,3,4,5}數(shù)組7#include<iostream>usingnamespacestd;intmain(){inti;staticintf[20]={1,1};//初始化第0、1個(gè)數(shù)
for(i=2;i<20;i++)f[i]=f[i-2]+f[i-1];//求第2~19個(gè)數(shù)
for(i=0;i<20;i++)//輸出,每行5個(gè)數(shù)//{if(i%5==0)cout<<endl; cout.width(12);//設(shè)置輸出寬度為12
cout<<f[i];}}例:用數(shù)組來(lái)處理求Fibonacci數(shù)列問(wèn)題8例:用數(shù)組來(lái)處理求Fibonacci數(shù)列問(wèn)題運(yùn)行結(jié)果:
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 67659一維數(shù)組應(yīng)用舉例循環(huán)從鍵盤讀入若干組選擇題答案,計(jì)算并輸出每組答案的正確率,直到輸入ctrl+z為止。每組連續(xù)輸入5個(gè)答案,每個(gè)答案可以是'a'..'d'。數(shù)組10#include<iostream>usingnamespacestd;intmain(){
charkey[]={'a','c','b','a','d'}; charc; int ques=0,numques=5,numcorrect=0; cout<<"Enterthe"<<numques<<"questiontests:"<<endl;
while(cin.get(c)) {if(c!='\n') if(c==key[ques]) {numcorrect++; cout<<""; } else cout<<"*"; else{
cout<<"Score"<<float(numcorrect)/numques*100<<"%"; ques=0; //resetvariables numcorrect=0; cout<<endl; continue; } ques++; }return0;}1111運(yùn)行結(jié)果:acbba**Score60%acbadScore100%abbda***Score40%bdcba*****Score0%1212二維數(shù)組的聲明及引用數(shù)據(jù)類型標(biāo)識(shí)符[常量表達(dá)式1][常量表達(dá)式2]…;例:
inta[5][3];
表示a為整型二維數(shù)組,其中第一維有5個(gè)下標(biāo)(0~4),第二維有3個(gè)下標(biāo)(0~2),數(shù)組的元素個(gè)數(shù)為15,可以用于存放5行3列的整型數(shù)據(jù)表格。數(shù)組13存儲(chǔ)順序按行存放,上例中數(shù)組a的存儲(chǔ)順序?yàn)椋?/p>
二維數(shù)組的聲明類型說(shuō)明符數(shù)組名[常量表達(dá)式][常量表達(dá)式]例如:floata[3][4];a00a01a02a03a10a11a12a13a20a21a22a23a[0]——a00a01a02a03a[1]——a10a11a12a13
a[2]——a20a21a22a23a可以理解為:引用例如:b[1][2]=a[2][3]/2
下標(biāo)不要越界二維數(shù)組的聲明及引用數(shù)組14將所有數(shù)據(jù)寫在一個(gè){}內(nèi),按順序賦值例如:staticinta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};分行給二維數(shù)組賦初值例如:staticinta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};可以對(duì)部分元素賦初值例如:staticinta[3][4]={{1},{0,6},{0,0,11}};二維數(shù)組的初始化數(shù)組15數(shù)組作為函數(shù)參數(shù)數(shù)組元素作實(shí)參,與單個(gè)變量一樣。數(shù)組名作參數(shù),形、實(shí)參數(shù)都應(yīng)是數(shù)組名,類型要一樣,傳送的是數(shù)組首地址。對(duì)形參數(shù)組的改變會(huì)直接影響到實(shí)參數(shù)組。數(shù)組16例
使用數(shù)組名作為函數(shù)參數(shù)主函數(shù)中初始化一個(gè)矩陣并將每個(gè)元素都輸出,然后調(diào)用子函數(shù),分別計(jì)算每一行的元素之和,將和直接存放在每行的第一個(gè)元素中,返回主函數(shù)之后輸出各行元素的和。數(shù)組17#include<iostream>usingnamespacestd;voidRowSum(intA[][4],intnrow){ intsum; for(inti=0;i<nrow;i++) { sum=0;
for(intj=0;j<4;j++)
sum+=A[i][j]; cout<<"Sumofrow"<<i
<<"is"<<sum<<endl;A[i][0]=sum; }}1818intmain(){ intTable[3][4]={{1,2,3,4},{2,3,4,5},{3,4,5,6}}; for(inti=0;i<3;i++) { for(intj=0;j<4;j++) cout<<Table[i][j]<<""; cout<<endl; } RowSum(Table,3);
for(inti=0;i<3;i++)
cout<<Table[i][0]}1919運(yùn)行結(jié)果:123423453456Sumofrow0is10Sumofrow1is14Sumofrow2is181014182020關(guān)于內(nèi)存地址內(nèi)存空間的訪問(wèn)方式通過(guò)變量名訪問(wèn)通過(guò)地址訪問(wèn)地址運(yùn)算符:&例:int
var;則&var
表示變量var在內(nèi)存中的起始地址21聲明例:staticinti;staticint*i_pointer=&i;
指向整型變量的指針指針變量的概念概念指針:內(nèi)存地址,用于
間接訪問(wèn)內(nèi)存單元指針變量:
用于存放地址的變量20003i_pointer*i_pointeri2000內(nèi)存用戶數(shù)據(jù)區(qū)變量i變量j變量
i_pointer362000200020043010引用例1:i=3;例2:*i_pointer=3;指針22指針變量的初始化語(yǔ)法形式
存儲(chǔ)類型數(shù)據(jù)類型*指針名=初始地址;例:int*pa=&a;注意事項(xiàng)用變量地址作為初值時(shí),該變量必須在指針初始化之前已說(shuō)明過(guò),且變量類型應(yīng)與指針類型一致??梢杂靡粋€(gè)已賦初值的指針去初始化另一個(gè)指針變量。不要用一個(gè)內(nèi)部auto變量去初始化static指針。指針23指針變量的賦值運(yùn)算指針名=地址“地址”中存放的數(shù)據(jù)類型與指針類型必須相符。向指針變量賦的值必須是地址常量或變量,不能是普通整數(shù)。但可以賦值為整數(shù)0,表示空指針。指針的類型是它所指向變量的類型,而不是指針本身數(shù)據(jù)值的類型,任何一個(gè)指針本身的數(shù)據(jù)值都是unsignedlongint型。允許聲明指向void類型的指針。該指針可以被賦予任何類型對(duì)象的地址。例:void*general;指針24例
指針的聲明、賦值與使用#include<iostream>usingnamespacestd;intmain(){ int*i_pointer; //聲明int型指針i_pointer
inti; //聲明int型數(shù)i
i_pointer=&i; //取i的地址賦給i_pointer i=10; //int型數(shù)賦初值
cout<<"Outputinti="<<i<<endl;//輸出int型數(shù)的值
cout<<"Outputintpointeri="<<*i_pointer<<endl;//輸出int型指針?biāo)傅刂返膬?nèi)容}指針25程序運(yùn)行的結(jié)果是:Outputinti=10Outputintpointeri=102626例
void類型指針的使用voidvobject;//錯(cuò),不能聲明void類型的變量void*pv; //對(duì),可以聲明void類型的指針int*pint;inti;intmain(){
pv=&i; //void類型指針指向整型變量
//void指針賦值給int指針需要類型強(qiáng)制轉(zhuǎn)換:pint=(int*)pv;}指針27指向常量的指針不能通過(guò)指針來(lái)改變所指對(duì)象的值,但指針本身可以改變,可以指向另外的對(duì)象。例1char*name1="John";//name1是一般指針*name1='A';//編譯正確,運(yùn)行出錯(cuò)例2constchar*name1="John";//指向常量的指針chars[]="abc";name1=s;//正確,name1本身的值可以改變*name1='1';//編譯時(shí)指出錯(cuò)誤指針28指針類型的常量若聲明指針常量,則指針本身的值不能被改變。例:char*constname2="John";name2="abc";//錯(cuò)誤,指針常量值不能改變29指針變量的算術(shù)運(yùn)算指針與整數(shù)的加減運(yùn)算指針p加上或減去n,其意義是指針當(dāng)前指向位置的前方或后方第n個(gè)數(shù)據(jù)的地址。這種運(yùn)算的結(jié)果值取決于指針指向的數(shù)據(jù)類型。指針加一,減一運(yùn)算指向下一個(gè)或前一個(gè)數(shù)據(jù)。例如:y=*px++相當(dāng)于y=*(px++)
(*和++優(yōu)先級(jí)相同,自右向左運(yùn)算)指針30papa-2pa-1pa+1pa+2pa+3*(pa-2)*pa*(pa+1)*(pa+2)*(pa+3)*(pa-1)short*pa3131pb-1pbpb+1pb+2*(pb-1)*pb*(pb+1)*(pb+2)long*pb3232關(guān)系運(yùn)算指向相同類型數(shù)據(jù)的指針之間可以進(jìn)行各種關(guān)系運(yùn)算。指向不同數(shù)據(jù)類型的指針,以及指針與一般整數(shù)變量之間的關(guān)系運(yùn)算是無(wú)意義的。指針可以和零之間進(jìn)行等于或不等于的關(guān)系運(yùn)算。例如:p==0或p!=0賦值運(yùn)算向指針變量賦的值必須是地址常量或變量,不能是普通整數(shù)。但可以賦值為整數(shù)0,表示空指針。指針變量的關(guān)系運(yùn)算指針33指針例:
(1)int*p=NULL和*p=NULL有什么區(qū)別?(2)int*p;*p=NULL;正確嗎?(3)如何對(duì)內(nèi)存地址為0x12ff7c的單元賦值?34指向數(shù)組元素的指針聲明與賦值例:inta[10],*pa;pa=&a[0];或pa=a;通過(guò)指針引用數(shù)組元素經(jīng)過(guò)上述聲明及賦值后:*pa就是a[0],*(pa+1)就是a[1],...,*(pa+i)就是a[i].a[i],*(pa+i),*(a+i),pa[i]都是等效的。不能寫a++,因?yàn)閍是數(shù)組首地址是常量。指針35例設(shè)有一個(gè)int型數(shù)組a,有10個(gè)元素。用三種方法輸出各元素:使用數(shù)組名和下標(biāo)使用數(shù)組名和指針運(yùn)算使用指針變量指針36intmain(){
inta[10];
inti;for(i=0;i<10;i++)
cin>>a[i];
cout<<endl;for(i=0;i<10;i++)
cout<<a[i];return0;}使用數(shù)組名和下標(biāo)3737intmain(){
inta[10];
inti;for(i=0;i<10;i++)
cin>>a[i];
cout<<endl;for(i=0;i<10;i++)
cout<<*(a+i);return0;}使用數(shù)組名指針運(yùn)算38使用指針變量intmain(){
inta[10];
int*p,i;
for(i=0;i<10;i++)
cin>>a[i];
cout<<endl;for(p=a;p<(a+10);p++)
cout<<*p;return0;}39指針數(shù)組數(shù)組的元素是指針型例:Point*pa[2];
由pa[0],pa[1]兩個(gè)指針組成指針40例
利用指針數(shù)組存放單位矩陣#include<iostream>usingnamespacestd;intmain(){ intline1[]={1,0,0};//聲明數(shù)組,矩陣的第一行
intline2[]={0,1,0};//聲明數(shù)組,矩陣的第二行
intline3[]={0,0,1};//聲明數(shù)組,矩陣的第三行
int*p_line[3]; //聲明整型指針數(shù)組
p_line[0]=line1; //初始化指針數(shù)組元素
p_line[1]=line2; p_line[2]=line3;指針41
//輸出單位矩陣
cout<<"Matrixtest:"<<endl;
for(inti=0;i<3;i++) //對(duì)指針數(shù)組元素循環(huán)
{
for(intj=0;j<3;j++) //對(duì)矩陣每一行循環(huán)
{cout<<p_line[i][j]<<"";}
cout<<endl; }return0;}輸出結(jié)果為:Matrixtest:1,0,00,1,00,0,14242例
二維數(shù)組舉例#include<iostream>usingnamespacestd;intmain(){ intarray2[2][3]={{11,12,13},{21,22,23}};
for(inti=0;i<2;i++){cout<<*(array2+i)<<endl;
for(intj=0;j<3;j++){cout<<*(*(array2+i)+j)<<"";//或者cout<<array2[i][j]<<"";}
cout<<endl; }return0;}指針43在某次運(yùn)行之后,程序的輸出結(jié)果為:0X0065FDE011,12,130X0065FDEC21,22,234444以指針作為函數(shù)參數(shù)以地址方式傳遞數(shù)據(jù),可以用來(lái)返回函數(shù)處理結(jié)果。實(shí)參是數(shù)組名時(shí)形參可以是指針。
指針與函數(shù)45例題目:讀入三個(gè)浮點(diǎn)數(shù),將整數(shù)部分和小數(shù)部分分別輸出#include<iostream>usingnamespacestd;voidsplitfloat(floatx,int*intpart,
float*fracpart){//形參intpart、fracpart是指針
*intpart=int(x); //取x的整數(shù)部分
*fracpart=x-*intpart;//取x的小數(shù)部分}
指針與函數(shù)46intmain(){ inti,n; floatx,f;
cout<<"Enterthree(3)floatingpointnumbers"
<<endl; for(i=0;i<3;i++) { cin>>x; splitfloat(x,&n,&f);//變量地址做實(shí)參 cout<<"IntegerPartis"<<n
<<"FractionPartis"<<f<<endl; }return0;}4747運(yùn)行結(jié)果:Enterthree(3)floatingpointnumbers4.7IntegerPartis4FractionPartis0.78.913IntegerPartis8FractionPartis0.913-4.7518IntegerPartis-4FractionPartis-0.75184848例:
輸出數(shù)組元素的內(nèi)容和地址#include<iostream>#include<iomanip>usingnamespacestd;voidArray_Ptr(long*P,intn){ inti; cout<<"Infunc,addressofarrayis"
<<unsignedlong(P)<<endl; cout<<"Accessingarrayinthefunctionusingpointers"
<<endl; for(i=0;i<n;i++) { cout<<"Addressforindex"<<i<<"is"
<<unsignedlong(P+i); cout<<"Valueis"<<*(P+i)<<endl; }}
指針與函數(shù)49intmain(){ longlist[5]={50,60,70,80,90};
cout<<"Inmain,addressofarrayis"<<unsignedlong(list)<<endl; cout<<endl;
Array_Ptr(list,5);return0;}50運(yùn)行結(jié)果:Inmain,addressofarrayis6684132Infunc,addressofarrayis6684132AccessingarrayinthefunctionusingpointersAddressforindex0is6684132Valueis50Addressforindex1is6684136Valueis60Addressforindex2is6684140Valueis70Addressforindex3is6684144Valueis80Addressforindex4is6684148Valueis905151指針型函數(shù)當(dāng)函數(shù)的返回值是地址時(shí),該函數(shù)就是指針形函數(shù)。聲明形式存儲(chǔ)類型數(shù)據(jù)類型*函數(shù)名()
指針與函數(shù)52聲明形式存儲(chǔ)類型數(shù)據(jù)類型(*函數(shù)指針名)();
含義:數(shù)據(jù)指針指向數(shù)據(jù)存儲(chǔ)區(qū),而函數(shù)指針指向的是程序代碼存儲(chǔ)區(qū)。指向函數(shù)的指針
指針與函數(shù)53例函數(shù)指針#include<iostream>usingnamespacestd;void(*function_pointer)(float); intmain() { floatpi=(float)3.14159; floattwo_pi=(float)2.0*pi;
function_pointer=print_stuff;
function_pointer(pi);
function_pointer=print_message;
function_pointer(two_pi);return0;}
指針與函數(shù)54voidprint_stuff(float
data_to_ignore){ cout<<"Thisistheprintstufffunction.\n";}voidprint_message(float
list_this_data){ cout<<"Thedatatobelistedis"<<list_this_data<<endl;}5555運(yùn)行結(jié)果:Thisistheprintstufffunction.Thedatatobelistedis6.283180Thedatatobelistedis13.0000005656動(dòng)態(tài)申請(qǐng)內(nèi)存操作符newnew類型名T(初值列表)功能:在程序執(zhí)行期間,申請(qǐng)用于存放T類型的內(nèi)存空間,并依初值列表賦以初值。結(jié)果值:成功:T類型的指針,指向新分配的內(nèi)存。失?。?(NULL)
動(dòng)態(tài)存儲(chǔ)分配57釋放內(nèi)存操作符deletedelete[]指針P功能:釋放指針P所指向的內(nèi)存。P必須是new操作的返回值。加括號(hào)表對(duì)數(shù)組操作,不是數(shù)組則不加。
動(dòng)態(tài)存儲(chǔ)分配58動(dòng)態(tài)存儲(chǔ)分配函數(shù)void*malloc(size);參數(shù)size:欲分配的字節(jié)數(shù)返回值:成功,則返回void型指針。
失敗,則返回空指針。頭文件:<cstdlib>和<cmalloc>
動(dòng)態(tài)存儲(chǔ)分配59動(dòng)態(tài)內(nèi)存釋放函數(shù)voidfree(void*memblock);參數(shù)memblock:
指針,指向需釋放的內(nèi)存。返回值:無(wú)頭文件:<cstdlib>和<cmalloc>
動(dòng)態(tài)存儲(chǔ)分配60用字符數(shù)組存儲(chǔ)和處理字符串字符數(shù)組的聲明和引用例:staticcharstr[8]={112,114,111,103,114,97,109,0};
staticcharstr[8]={'p','r','o','g','r','a','m','\0'};
staticcharstr[8]="program";
staticcharstr[8]={"program"}; staticcharstr[]="program";字符串字符串常量,例如:"china"沒(méi)有字符串變量,用字符數(shù)組來(lái)存放字符串字符串以'\0'為結(jié)束標(biāo)志字符數(shù)組的初始化
字符串61字符串的輸入/輸出方法逐個(gè)字符輸入輸出將整個(gè)字符串一次輸入或輸出
例:charc[]="China";
cout<<c;注意輸出字符不包括'\0'輸出字符串時(shí),輸出項(xiàng)是字符數(shù)組名,輸出時(shí)遇到'\0'結(jié)束。輸入多個(gè)字符串時(shí),以空格分隔;輸入單個(gè)字符串時(shí)其中不能有空格。
字符串62例
輸出一個(gè)字符串#include<iostream>usingnamespacestd;intmain(){charc[10]={'I','','a','m','','a','','b','o','y'};
inti;
for(i=0;i<10;i++)//
cout<<c[i];
cout<<endl;return0;}運(yùn)行結(jié)果:
Iamaboy
字符串63例
輸出一個(gè)字符串#include<iostream>#include<string>usingnamespacestd;intmain(){stringc="Iamaboy";
cout<<c<<endl;return0;}運(yùn)行結(jié)果:
Iamaboy
字符串64例
輸出一個(gè)字符串#include<iostream>usingnamespacestd;intmain(){char*c="Iamaboy";
cout<<c<<endl;return0;}運(yùn)行結(jié)果:
Iamaboy
字符串65整行輸入字符串cin.getline(字符數(shù)組名St,字符個(gè)數(shù)N,結(jié)束符);功能:一次連續(xù)讀入多個(gè)字符(可以包括空格),直到讀滿N個(gè),或遇到指定的結(jié)束符(默認(rèn)為'\n')。讀入的字符串存放于字符數(shù)組St中。讀取但不存儲(chǔ)結(jié)束符。cin.get(字符數(shù)組名St,字符個(gè)數(shù)N,結(jié)束符);功能:一次連續(xù)讀入多個(gè)字符(可以包括空格),直到讀滿N個(gè),或遇到指定的結(jié)束符(默認(rèn)為'\n')。讀入的字符串存放于字符數(shù)組St中。
既不讀取也不存儲(chǔ)結(jié)束符。
字符串66整行輸入字符串舉例#include<iostream>usingnamespacestd;intmain(void){ charcity[80]; charstate[80];
inti; for(i=0;i<2;i++) {cin.getline(city,80,',');
cin.getline(state,80,'\n');
cout<<"City:"<<city<<"State:"
<<state<<endl; }return0;}
字符串67運(yùn)行結(jié)果Beijing,ChinaCity:BeijingCountry:ChinaShanghai,ChinaCity:ShanghaiCountry:China68字符串處理函數(shù)strcat(連接),strcpy(復(fù)制),
strcmp(比較),strlen(求長(zhǎng)度),
strlwr(轉(zhuǎn)換為小寫),
strupr(轉(zhuǎn)換為大寫)頭文件<cstring>
字符串69typedef語(yǔ)句為一個(gè)已有的數(shù)據(jù)類型另外命名語(yǔ)法形式typedef
已有類型名新類型名表;例如typedefdoublearea,volume;typedef
int
natural;naturali1,i2;areaa;volumev;自定義數(shù)據(jù)類型70枚舉類型—enum只要將需要的變量值一一列舉出來(lái),便構(gòu)成了一個(gè)枚舉類型。枚舉類型的聲明形式如下:enum
枚舉類型名{變量值列表};例如:enumweekday{sun,mon,tue,wed,thu,fri,sat};自定義數(shù)據(jù)類型71枚舉類型—enum枚舉類型應(yīng)用說(shuō)明:對(duì)枚舉元素按常量處理,不能對(duì)它們賦值。例如,不能寫:sun=0;
枚舉元素具有缺省值,它們依次為:0,1,2,......。也可以在聲明時(shí)另行指定枚舉元素的值,如:enumweekday{sun=7,mon=1,tue,wed,thu,fri,sat};枚舉值可以進(jìn)行關(guān)系運(yùn)算。整數(shù)值不能直接賦給枚舉變量,如需
要將整數(shù)賦值給枚舉變量,應(yīng)進(jìn)行強(qiáng)
制類型轉(zhuǎn)換。自定義數(shù)據(jù)類型72例設(shè)某次體育比賽的結(jié)果有四種可能:勝(win)、負(fù)(lose)、平局(tie)、比賽取消(cancel),編寫程序順序輸出這四種情況。分析:由于比賽結(jié)果只有四種可能,所以可以聲明一個(gè)枚舉類型,聲明一個(gè)枚舉類型的變量來(lái)存放比賽結(jié)果。自定義數(shù)據(jù)類型73#include<iostream>usingnamespacestd;enumgame_result{WIN,LOSE,TIE,CANCEL};intmain(){game_resultresult;
enumgame_resultomit=CANCEL;
intcount;for(count=WIN;count<=CANCEL;count++){result=(game_result)count;if(result==omit){cout<<"Thegamewascancelled\n";}else{cout<<"Thegamewasplayed";if(result==WIN)cout<<"andwewon!";if(result==LOSE)cout<<"andwelost.";
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2012年高考語(yǔ)文試卷(安徽)(空白卷)
- 《離子濃度大小比較》課件
- 挑戰(zhàn)與突破自我
- 探索物理定律的奧秘
- 《痛苦的職場(chǎng)人》課件
- 工作調(diào)研報(bào)告(合集三篇)
- 2023年項(xiàng)目部安全管理人員安全培訓(xùn)考試題附參考答案(達(dá)標(biāo)題)
- 2023年項(xiàng)目部安全管理人員安全培訓(xùn)考試題(1套)
- 母親節(jié)新媒體策劃
- 初中語(yǔ)文教師教學(xué)工作總結(jié)11篇
- 墩柱施工操作平臺(tái)相關(guān)計(jì)算
- 高職院校油層物理說(shuō)課
- 計(jì)算機(jī)課件:計(jì)算機(jī)安全
- SCH壁厚等級(jí)對(duì)照表
- 道路減速帶減速模型分析
- 35kv及以下架空線路施工及驗(yàn)收規(guī)范
- 身體健康狀況自測(cè)表
- PID控制原理與調(diào)整方法
- 山東昌樂(lè)二中“271高效課堂”解讀
- 配電工程竣工資料
- 花鍵強(qiáng)度校核程序
評(píng)論
0/150
提交評(píng)論