用了兩年的小米mix2s開APP流暢度

一、程和萬法稱為a
A.算法 B.程
2.( )是指設(shè)計(jì)、編制、調(diào)試程序的方法和過程,是尋找算法并用計(jì)算機(jī)能夠理解的語言表達(dá)出來的一種活動(dòng)。b3
A.算法 B.程序設(shè)計(jì) C.程序 D.編程
3.(c )程序設(shè)計(jì)方法采用“自頂向下,逐步求精”的設(shè)計(jì)思想,其理念是將大型的程序分解成小型和便于管理的任務(wù),如果其中的一項(xiàng)任務(wù)仍然較大,就將它分解成更小的任務(wù)。
A.軟件工程 B.軟件測(cè)試 C.結(jié)構(gòu)化 D.面向?qū)ο?/p>
4.( D)程序設(shè)計(jì)方法中的類通常規(guī)定了可以使用哪些數(shù)據(jù)和對(duì)這些數(shù)據(jù)執(zhí)行哪些操作,數(shù)據(jù)表示對(duì)象的靜態(tài)特征——屬性,操作表示對(duì)象的動(dòng)態(tài)特性——行為。
A.軟件工程 B.軟件測(cè)試 C.結(jié)構(gòu)化 D.面向?qū)ο?/p>
5.(d )是將所設(shè)計(jì)的算法變成計(jì)算機(jī)能夠識(shí)別并運(yùn)行的代碼的過程。
A.算法 B.程序 C.程序設(shè)計(jì) D.編程
6.計(jì)算機(jī)唯一可以讀懂的語言就是計(jì)算機(jī)的指令,叫做機(jī)器語言,被稱為(a )程序設(shè)計(jì)語言。
A.低級(jí) B.中級(jí) C.高級(jí) D.特級(jí)
7. C++是一種( c)程序設(shè)計(jì)語言。
A.低級(jí) B.中級(jí) C.高級(jí) D.特級(jí)
8.關(guān)于C++和C語言的描述中,錯(cuò)誤的是( c)。
A. C++是C語言的超集
B. C++對(duì)C語言進(jìn)行了擴(kuò)充
C. C++和C語言都是面向?qū)ο蟮某绦蛟O(shè)計(jì)語言
D. C++包含C語言的全部語法特征
9.每個(gè)C++程序都必須有且僅能有一個(gè)(a )。
A.主函數(shù) B.預(yù)處理命令 C.函數(shù) D.注釋
10.在C++中,表示行注釋開始的符號(hào)是(b )。
A.# B.// C./* D.;
11.在C++中,表示一條語句結(jié)束的符號(hào)是(d )。
A.# B.// C./* D.;
12.在C++中,函數(shù)體是由一對(duì)( )括起來的部分。
A.{ } B.[] C.<> D.(a )
13.在C++中,與cout一起使用的插入運(yùn)算符是( c)。
A.< B.> C.<< D.>>
14.在C++中,與cin一起使用的提取運(yùn)算符是( d)。
A.< B.> C.<< D.>>
15.下面合法的標(biāo)識(shí)符是(a )。
A. XYZ 12 B. main C.8num D. a$s二、
1.下列敘述中,正確的是(d )。
A.任何一個(gè)十進(jìn)制小數(shù)都可以用有限位二進(jìn)制小數(shù)精確地表示出來
B.在一種數(shù)制中,最小的數(shù)碼是“0”,而最大的數(shù)碼是基數(shù)本身
C.按字符的ASCⅡ碼比較,“C”比“c”大
D.負(fù)數(shù)的補(bǔ)碼的補(bǔ)碼是其原碼
2.字符的ASCⅡ碼在微機(jī)中的表示方法是:使用8位二進(jìn)制碼并且( c)。
A.最低位為0 B.最低位為1
C.最高位為0 D.最高位為1
3.下列無符號(hào)數(shù)中最大的是( b)。
A.100 B.(66)? ? C.( 143) ? D.(01100101)?
4.以下4個(gè)數(shù)未標(biāo)明屬于哪一種數(shù)制,但是可以斷定( b)不是八進(jìn)制數(shù)。
A.1001 B.8643 C.4523 D.1673
5.與十進(jìn)制數(shù)232等值的十六進(jìn)制數(shù)是( a)。
A. E8 B. F8 C. E4 D. F4
6.已知字母“0”的ASCII碼是48,則字母“9”的ASCII碼是( d)。
A.32 B.9 C.39 D.57
7.十進(jìn)制數(shù)-100的8位二進(jìn)制補(bǔ)碼是( a)。
A.10011100 B.11100100
C.00011011 D.10011011
8.在表示存儲(chǔ)器的容量時(shí),1KB的準(zhǔn)確含義是( b)字節(jié)。
A.1 000 B.1 024 C.512 D.2048
9.通常說一臺(tái)微型計(jì)算機(jī)的內(nèi)存容量為256M,指的是( c)。
A.256兆位 B.256兆字
C.256兆字節(jié) D.256000兆字
10.以下選項(xiàng)中,(d )不是字符型常量。
A.'\' B.'a' C.'0' D."W"
11.以下選項(xiàng)中,非法的變量名是(c )。
A. No 1 B. Name C.2degree D. sumOfGrade
12.下面的變量定義語句中,錯(cuò)誤的是( b)。
A. int x(1),y(1); B. int x=y=1;
C. int x=1,y=1; D. int x=1,y=x;
三、
1.運(yùn)算符優(yōu)先級(jí)按由高到低順序排列正確的是( c)。
A.=,| |,!=,% B.=,%,||,!=
C.%,!=,||;= D.| |,!= %,=
2.在C+干中,要求操作數(shù)必須是整型的運(yùn)算符是( a)。
A.% B.&& C./ D.<=
3.設(shè)1,j,k都是變量,下面不正確的賦值表達(dá)式是(d )。
A. i++ B.1=J=k C. i=j==k D. i+j=k
4.若m、n為整型,x為實(shí)型,ch為字符型,下列賦值語句中正確的是( b)。
A. m+n=x; B. m=ch+n; C. x=(m+n,++: D. m-x%n;
5若整型變量a、b、c、d、m、n、k的值均為1,運(yùn)行表達(dá)式m=a>=b)&&(n=c<=d)||k=0)后,m、n、k的值是(d )。
A.0,0,0 B.1 ,1 ,1 C.1,1,0 D.0,1,1
6.整型變量m,n的值相等,且不等于0,下列表達(dá)式中結(jié)果為0的是(d )。
A. n B. m&n C. m||n D. m<n
7.下面語句的輸出結(jié)果是( a)。
int x=6. y-3,
cout.<(x++--y,x%y,x/y)<<endl;
A.3 B.1 C.0 D.4
8.變量x表示成績,C++中表示0≤x≤100的表達(dá)式是( b)。
A.0<=x and<=100 B.0<=x&&x<=100
C.0<=x or<=100 D.0<=x||x<=100
9.下面說法正確的是(d )。
A.空語句就是一個(gè)空行 B.空語句是什么也不輸出的語句
C.復(fù)合語句就是多條語句 D.復(fù)合語句邏輯上是一條語句
10.常量3.14默認(rèn)的數(shù)據(jù)類型是( c)。
A. int B. float
C. double D. long double
11.常量1000默認(rèn)的數(shù)據(jù)類型是( a)。
A. int B. float
C. double D. long double
12.表達(dá)式2*2.14f+100的數(shù)據(jù)類型是(a )。
A. float B. double
C. long double D.錯(cuò)誤表達(dá)式
13.表達(dá)式sqrt(b*b-4*a*c)>=0&&a!=0. 是(c )表達(dá)式。
A.算術(shù) B.關(guān)系 C.邏輯 D.函數(shù)
14.已知數(shù)字字符'0'的ASCⅡ碼為48,若有以下程序,則程序運(yùn)行后的輸出結(jié)果是(b )。第4章 程序控制結(jié)構(gòu) 19
2.下面關(guān)于循環(huán)語句的敘述中,正確的是( D )。
A. for循環(huán)只能用于循環(huán)次數(shù)已知的情況
B. for循環(huán)與do…while循環(huán)一樣,都是先執(zhí)行循環(huán)體后判斷條件
C. for循環(huán)體內(nèi)不能出現(xiàn)while語句
D.無論哪種循環(huán),都可以從循環(huán)體內(nèi)轉(zhuǎn)移到循環(huán)體外
3.下面關(guān)于for循環(huán)的敘述中,不正確的是( B )。
A.在循環(huán)體中,可以改變循環(huán)控制變量的值
B.在循環(huán)體中,可以改變循環(huán)變量的初值和終值
C.循環(huán)變量可增可減
D.循環(huán)變量不是必須在表達(dá)式1中給出
4.下面的描述,不正確的是( C。
A.語句for(i=0;;i++)表示無限循環(huán)
B.語句for(;;)表示無限循環(huán)
C.語句for()表示無限循環(huán)
D. while(1)表示無限循環(huán)
5.下面關(guān)于break語句的描述中,不正確的是( B ) 。
A. break語句用于循環(huán)體內(nèi),將退出該循環(huán)
B. break語句用于if語句中,將退出該if語句
C. break語句用于switch語句中,將退出該switch語句
D. break語句在一個(gè)循環(huán)體內(nèi)可以多次出現(xiàn)
6. C++規(guī)定,else與( D ))相匹配。
A.同一列的if B.同一行上的if
C.之后最近的if D.之前最近的if
7.下面各組語句中,不是“死循環(huán)”的是( B )。
A. int i=0; B. int k=100;
do while( 1)
{ { k=k%100+1;
++i; if(k==20)break;
}while(i>=0); }
C. int j,sum(0); D. int a=3379;
for(j=1;;j++) while(a++%2+3%2)
sum++; a++;
8.下面程序段執(zhí)行后的輸出結(jié)果為( ) 。
A
int i,j,m ;
for(i=0,m=1;i<5;i++)
、for(j=0;j<i;j++)
m+=1;
cout<<m;
A.1 1 B.1 C.17 D.7
五、
3.有關(guān)函數(shù)的形參和實(shí)參的描述錯(cuò)誤的是( C ) 。
A.實(shí)參的數(shù)量要和相應(yīng)的形參一致
B.形參也是函數(shù)的局部變量
C.形參和實(shí)參不可以同名
D.由于是單向傳值,所以形參值的改變不會(huì)影響實(shí)參的值
4.以下函數(shù)聲明形式錯(cuò)誤的是( D ) 。
A. int fun(int,int); B. int fun(int x,int y);
C. void fun(); D. void fun(int x,y);
5.有函數(shù)調(diào)用語句?fin(x^{ \ast }y-1,abs(a-b)),?則fun函數(shù)的參數(shù)個(gè)數(shù)為(
B”。
A.1 B.2 C.3
6.關(guān)于函數(shù)類型和返回值表達(dá)式類型的描述中,錯(cuò)誤的是( D ) 。
A.函數(shù)類型不能在調(diào)用時(shí)被修改
B.函數(shù)類型應(yīng)該與返回值表達(dá)式的類型一致
C.返回值表達(dá)式類型與函數(shù)類型不一致時(shí),可能會(huì)導(dǎo)致錯(cuò)誤
D.上面的描述都不對(duì)
7.如果需要一個(gè)變量在同一個(gè)源文件中所有函數(shù)中都能使用,而不能被其他源文件中的函數(shù)使用,那么這個(gè)變量應(yīng)該定義為( D )。A.局部變量 B.全局變量
C.靜態(tài)局部變量 D.靜態(tài)全局變量
8.使用一個(gè)變量來記錄函數(shù)的調(diào)用次數(shù),那么這個(gè)變量應(yīng)該定義為( C )。
A.局部變量 B.全局變量
C.靜態(tài)局部變量 D.靜態(tài)全局變量
七;指針
1.指針就是一種用于存放(D )的數(shù)據(jù)類型。
A.值 B.類型 C.別名 D.內(nèi)存地址
2.變量的引用就是變量的( C)。
A.值 B.類型 C.別名 D.內(nèi)存地址
3.下面語句中完全正確的是( B)。
A. int a,*p;*p=&a;
B.inta,?p,?q=&a;p=q;
C. int a,*p,*q;q=p;*q=a;
D.inta=10,?p,?q;?p=a,q=p;
4.已有定義 “int a=10,*p1,*p2;p1=p2=&a;”, 下面語句中正確的是( A)。
A.a=?p1+?p2;
B.p2=a;
C.*p2=&a; D.&a=p2;
5 已有定義 “ int a=10,*p=&a;”, 則下面各組中兩個(gè)語句完全正確并且作用相同的是( A)。
A.*p=20;a=20; B. cout<<p;cout<<a;
C. p=20; &a=20; D. cout<<&p;cout<<&a;
6.已知“int a[3][4],(*p)[4]=a,*p2[3]={a[0],a[1],a[2]};”,下列各項(xiàng)不表示a[2][1]地址的是(D )。
A.&a[2][1] B.*(p+2)+1 C.p2[2]+1 D.*(*(p2+2)+1)
7.已知
“int?p=newint[3];”,
,若分配成功,則指針p 在堆中分配到的內(nèi)存尺寸為( C)字節(jié)。
A.3 B.4 C.12 D.不確定
若要釋放堆中的這些字節(jié),下列語句正確的是( B)。
A. delete p; B. delete p[];
C. delete[]p; D. delete p[3];
8.已知“double a[3][4];double(*p)[4]=a;”,則a[i][j]不可以表示為( B)。
A. p[i][j] B.*(p+i)+j
C.*(*(p+i)+j) D.*(p[i]+j)
9.已知“int a=10;int &r=a;a=a+10;cout<<r;”,則輸出為(B ).
A.10 B.20 C.30 D.不確定值
10.已知“int a=10,b=8;int &r=a;r=b;b=15;cout<<a<<","<<b<<","<<r;”,則輸出為( C)。
A.10,15,10 B.10,8,15 C.8,15,8 D 15,15,15
11.已知 “int a=10,*p;int*&r=p;r=&a;a=20;cout<<*p;”,則輸出為( B)。
A.10 B.20 C.不確定值 D.程序有錯(cuò)誤
12.用new運(yùn)算符創(chuàng)建一個(gè)含10個(gè)元素的一維整型數(shù)組的正確語句是( C)。
A. int *p=new a[10];
B.int?p=newint(10);
C.int?p=newint[10];
D. int*p=new int[10]={1,2,3,4,5};
13.對(duì)于int*p[5]的描述,正確的是(D )。
A. p是一個(gè)指向數(shù)組的指針,所指向的數(shù)組是5個(gè)int型元素
B. p是一個(gè)指向某數(shù)組中的第5個(gè)元素的指針,該元素是int型變量
C. p[5]表示某個(gè)數(shù)組的第5個(gè)元素的值
D. p是一個(gè)具有5個(gè)元素的指針數(shù)組,每個(gè)元素是一個(gè)int型指針
14.若定義“int a[]={1,2,3},*p=a;”當(dāng)執(zhí)行p++后,下列說法錯(cuò)誤的是(A )。
A. p向高地址移了一個(gè)字節(jié) B. p 向高地址移動(dòng)了一個(gè)存儲(chǔ)單元
C.*p與a[1]等價(jià) D. p 與a+1等價(jià)
15.假設(shè)堆內(nèi)存分配均成功,則下面程序段完全正確的是(A )。
A.int?p=newint(3);
B.int?p=newint[5];
cout<<*p;
cout<<*p;
for(int i=0;i<5;i++)
delete p; {
p[i]=i;cout<<p[i];
}
delete p;
C.int?p=newint[5];
D.以上程序段均正確
for(int i=0;i<5;i++,p++)
{
^{ \ast }p=i; \cot t<<^{ \ast }p;
^{ \ast }p=i; \cot t<<^{ \ast }p;
}
delete[]p;
16.下面關(guān)于const指針的語句中,正確的是(B )。
A. int a=10;const int *p=&a;*p=20;
B.inta=10;int*constp=&a;^*p=20;
B.inta=10;int*constp=&a;^*p=20;
C.inta=10,b=20;int^*constp=&a;p=&b;
C.inta=10,b=20;int^*constp=&a;p=&b;
D.inta=10,b=20;constint?constp=&a;p=8b;
八;字符串
選擇題
1.已知“char*s="abcdef";cout<<s+2;”, 輸出結(jié)果是( A)。
A. cdef B. c
C. abcdef D.字符
′c′
'的地址值
2.已有定義“char s[10];”, 則下面不表示s[1]的地址的是( B)。
A. s+1
B.?(s+1)
C.&s[0]+1 D.&s[1]
3.下列描述中正確的是(A )。
A.char?s="abcdefg";
等價(jià)于
char?s;s="abcdefg";
B. char s1[]="abcd"; 等價(jià)于
chars1[]=a′,b′,c′,d′;
C. char*s="abcdefg"; 等價(jià)于
char?s;?s="abcdefg";
4.已知
“char?s=”abcde";
則sizeof(s)的值為( C)?sizeof(*s) 的值為(A ), strlen(s)的值為( D)。
A.1 B.2 C.4 D.5 E.6
5.下面語句段中,正確的是( C)
A.char?sl=”abcdn,?s2=nefghijk″;strcpy(s1,s2);
B. char s1[]="abcd",s2[]="efghijk";strcpy(s1,s2);
C. char s1[20]="abcd",*s2="efghijk";strcpy(s1,s2);
D. char s1[]="abcd";strcpy(s1,"efghijk");
九;函數(shù)
1.下列對(duì)有關(guān)帶默認(rèn)參數(shù)的函數(shù)的描述中,正確的是( D)。
A.只能在函數(shù)定義時(shí)設(shè)置默認(rèn)參數(shù)值
B.只能在函數(shù)聲明時(shí)設(shè)置默認(rèn)參數(shù)值
C.函數(shù)調(diào)用時(shí),必須使用默認(rèn)的參數(shù)值,不能給出新的實(shí)參值
2.默認(rèn)形參值不可以是( C)。
A.全局常量 B.全局變量
C.局部變量 D.函數(shù)調(diào)用
3.對(duì)于重載函數(shù),程序在調(diào)用時(shí)根據(jù)(C )能夠區(qū)分開到底要調(diào)用哪個(gè)函數(shù)。
A.函數(shù)名 B.返回值類型
C.參數(shù)個(gè)數(shù)和類型 D.以上都可以
4.下列有關(guān)內(nèi)聯(lián)函數(shù)的描述中,錯(cuò)誤的是( D)。
A.內(nèi)聯(lián)函數(shù)必須在調(diào)用前以inline聲明,否則就是普通的函數(shù)
B.內(nèi)聯(lián)函數(shù)必須是一個(gè)小函數(shù),不能包含循環(huán)、switch等語句
C.內(nèi)聯(lián)函數(shù)在編譯程序時(shí)進(jìn)行內(nèi)聯(lián)置換
D.內(nèi)聯(lián)函數(shù)同樣需要在運(yùn)行時(shí)調(diào)用,并不節(jié)省運(yùn)行時(shí)間
5.以下說法正確的是( B)。
A.在一個(gè)函數(shù)的函數(shù)體中可以定義另一個(gè)函數(shù),但不可以調(diào)用另一個(gè)函數(shù)
B.在一個(gè)函數(shù)的函數(shù)體中不可以定義另一個(gè)函數(shù),但可以調(diào)用另一個(gè)函數(shù)
C.在一個(gè)函數(shù)的函數(shù)體中既可以定義另一個(gè)函數(shù),也可以調(diào)用另一個(gè)函數(shù)
D.在一個(gè)函數(shù)的函數(shù)體中既不可以定義另一個(gè)函數(shù),也不可以調(diào)用另一個(gè)函數(shù)
6.以下為重載函數(shù)的一組函數(shù)聲明的是(A )。
A. void print(int);void print(double);
B. void fun(int);int fun(int);
C. int max(int, int);int min(int, int);
D. void mm(int);int mm(int, int=3);
7.考慮函數(shù)原型void f(int a, int b=3, char c='*'),下面的函數(shù)調(diào)用中,不合法的調(diào)用是( C)。
A. f(5) B. f(5,8) C. f(6,,'#') D. f(0,0,'#')
8.若定義了函數(shù) ( double *f(),則函數(shù)f的返回值為( B)。
A.實(shí)數(shù)型 B.實(shí)數(shù)的地址
C.指向函數(shù)的指針 D.函數(shù)的地址
9.語句“int(*p)();”的含義是(A ),“int *p();”的含義是(B ),“int(*p)[4];”的含義是( D)。
A.定義p是函數(shù)指針變量,p可以指向一個(gè)無參數(shù)而返回值類型為int的函數(shù)
B.這是一個(gè)函數(shù)聲明,p是函數(shù)名,沒有參數(shù),返回值類型為整型指針
C.定義p是一個(gè)指向int 型的指針變量,可以讓p指向一個(gè)一維數(shù)組
D.定義p是一個(gè)指向行的指針變量,可讓p指向一個(gè)每行有4個(gè)元素的二維數(shù)組
10.已知“int max(int, int);int (*p)(int, int);p=max;”,則調(diào)用函數(shù)max()的錯(cuò)誤形式為(B )。
A. p(a,b); B.*p(a,b); C.( *p)(a,b); D. max(a,b);
十;構(gòu)造數(shù)據(jù)類型
1.以下各項(xiàng)中,不能正確把c1定義成結(jié)構(gòu)體變量的是(B )。
B. struct Color c1
{int red;
int blue;
int green;
};
2.“typedef long int (LINT;”的作用是( D)。
D.定義了一個(gè)新的數(shù)據(jù)類型標(biāo)識(shí)符
3.下列關(guān)于結(jié)構(gòu)體的說法中,錯(cuò)誤的是(C )。
A.結(jié)構(gòu)體是用戶自定義的一種數(shù)據(jù)類型
B.結(jié)構(gòu)體中可設(shè)定若干個(gè)不同數(shù)據(jù)類型的成員
C.在定義結(jié)構(gòu)體時(shí),可以為成員設(shè)置默認(rèn)值
D.結(jié)構(gòu)體中的成員的數(shù)據(jù)類型可以是另一個(gè)已經(jīng)定義的結(jié)構(gòu)體
4.若以下程序的輸出結(jié)果為:Zhanghong,則橫線處應(yīng)填入(D stu.name )。
5.假定有“struct Book {char title[40];float price;}book;”,則正確的語句為(B )。B. Book &x=book;
6.設(shè)有如下定義:
struct sk
{
int a;
float b;
}data,*p;
若“p=“p=”,則對(duì)data 中的成員a 的正確引用是( B)。B.(*p). a
7.設(shè)有如下定義:
struct sk
{ int a;float b;} data,*p;
若有“p=”,則對(duì)data 中的成員a 的不正確引用是(A )。A.*p. a
8.下面對(duì)枚舉類型的描述中,正確的是( )。
C.可以定義枚舉類型如下:
enum Week{Monday, Tuesday, Wednesday=5, Thursday, Friday=5};
9.定義枚舉類型如下:
enum Day{Monday, Tuesday, Wednesday, Thursday, Friday=2};
則下列語句描述中,正確的是( )。
A.表達(dá)式Wednesday==Friday 的值是true
1.閏年
#include <iostream>
using namespace std;
int main() {
int year;
cout << "請(qǐng)輸入年份:";
cin >> year;
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
cout << year << "是閏年";
} else {
cout << year << "不是閏年";
}
return 0;
}
2.分?jǐn)?shù)段
#include <iostream>
using namespace std;
int main() {
int score;
cout << "請(qǐng)輸入學(xué)生成績:";
cin >> score;
switch (score / 10) {
case 10:
case 9:
cout << "A";
break;
case 8:
cout << "B";
break;
case 7:
cout << "C";
break;
default:
cout << "D";
break;
}
return 0;
}
3.計(jì)算s
#include <iostream>
using namespace std;
int main()
{
double S = 1.0; // 初始化為第一項(xiàng)
for (int i = 2; i <= 100; i += 2) {
if (i % 4 == 2) { // 如果i是2的倍數(shù)但不是4的倍數(shù),則減去當(dāng)前項(xiàng)
S -= 1.0 / i;
} else { // 否則加上當(dāng)前項(xiàng)
S += 1.0 / i;
}
}
cout << "S = " << S << endl;
return 0;
}
4.金字塔
#include <iostream>
using namespace std;
int main()
{
int n = 6; // 設(shè)置金字塔的總層數(shù)
for (int i = 1; i <= n; i++) { // 外層循環(huán)控制層數(shù)
for (int j = 1; j <= n - i; j++) { // 打印每層左側(cè)的空格
cout << " ";
}
for (int k = 1; k <= 2 * i - 1; k++) { // 打印每層的星號(hào)
cout << "* ";
}
cout << endl; // 換行進(jìn)入下一層
}
return 0;
}
5.fibo數(shù)列
#include <iostream>
using namespace std;
int main() {
int fib1 = 1, fib2 = 1, fib3;
cout << "Fibonacci數(shù)列的前20項(xiàng)為:" << endl;
for(int i = 1; i <= 20; i++) {
if(i == 1 || i == 2) { // 前兩項(xiàng)為1
fib3 = 1;
}
else {
fib3 = fib1 + fib2;
fib1 = fib2;
fib2 = fib3;
}
cout << fib3 << " ";
if(i % 5 == 0) { // 每行輸出5個(gè)數(shù)
cout << endl;
}
}
return 0;
}
6.判斷質(zhì)數(shù)
#include <iostream>
#include <cmath>
using namespace std;
int isPrime(int n) {
if (n <= 1) {
return 0;
}
int sqrtn = sqrt(n);
for (int i = 2; i <= sqrtn; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int n;
cout << "Enter a positive integer: ";
cin >> n;
if (isPrime(n)) {
cout << n << " is prime." << endl;
} else {
cout << n << " is not prime." << endl;
}
return 0;
}
3.三角形面積
#include <iostream>
#include <cmath>
using namespace std;
float triArea(float a, float b, float c) {
if (a + b <= c || b + c <= a || a + c <= b) { // 判斷是否可以構(gòu)成三角形
cout << "無法構(gòu)成三角形" << endl;
return 0;
}
else {
float p = (a + b + c) / 2; // 計(jì)算半周長
float area = sqrt(p * (p - a) * (p - b) * (p - c)); // 應(yīng)用海倫公式計(jì)算面積
return area;
}
}
int main() {
float a, b, c;
cin >> a >> b >> c;
float area = triArea(a, b, c);
cout << "三角形面積為:" << area << endl;
return 0;
}
逆序存儲(chǔ)
#include<iostream>
using namespace std;
int main()
{
const int N = 10; //數(shù)組長度
int a[N]={1,2,3,4,5,6,7,8,9,10}; //初始化數(shù)組
int i, t;
//打印算法處理前數(shù)組中的存放數(shù)據(jù)
cout<<"算法處理前:";
for(i=0;i<N;i++)
cout<<a[i]<<" ";
cout<<endl;
//逆序數(shù)組元素
for(i=0;i<N/2;i++)
{
t=a[i];
a[i]=a[N-i-1];
a[N-i-1]=t;
}
//打印算法處理后數(shù)組中的存放數(shù)據(jù)
cout<<"算法處理后:";
for(i=0;i<N;i++)
cout<<a[i]<<" ";
cout<<endl;
return 0;
}
數(shù)組平均值
#include<iostream>
using namespace std;
int main()
{
const int N = 10; //數(shù)組長度
double a[N]={77,65.76,32,75,82,67,95,85,56,78}; //初始化數(shù)組
double sum=0.0, avg;
int i, count=0;
//計(jì)算數(shù)組元素的和
for(i=0;i<N;i++)
sum+=a[i];
//計(jì)算數(shù)組元素的平均值
avg=sum/N;
//輸出平均值
cout<<"平均值為:"<<avg<<endl;
//查找高于平均值的數(shù)及其下標(biāo)值
cout<<"高于平均值的數(shù)及其下標(biāo)值為:"<<endl;
for(i=0;i<N;i++)
{
if(a[i]>avg)
{
cout<<"下標(biāo):"<<i<<" 值:"<<a[i]<<endl;
count++;
}
}
//如果沒有高于平均值的數(shù),則輸出提示信息
if(count==0)
cout<<"沒有高于平均值的數(shù)!"<<endl;
return 0;
}
冒泡排序法.
#include<iostream>
using namespace std;
int main()
{
const int N = 10; //數(shù)組長度
double a[N]={77,65.76,32,75,82,67,95,85,56,78}; //初始化數(shù)組
double temp;
int i, j, flag;
//冒泡排序
for(i=0;i<N-1;i++)
{
flag = 0; //標(biāo)記這一趟是否進(jìn)行了交換
for(j=0;j<N-i-1;j++)
{
if(a[j]>a[j+1]) //如果前面的數(shù)比后面的數(shù)大,則交換它們的位置
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
flag = 1; //進(jìn)行了交換,修改標(biāo)記
}
}
if(flag == 0) //如果這一趟沒有進(jìn)行交換,說明已經(jīng)有序,提前結(jié)束排序過程
break;
}
//輸出排序后的數(shù)組
cout<<"排序后的數(shù)組為:"<<endl;
for(i=0;i<N;i++)
cout<<a[i]<<" ";
return 0;
}
最大公約數(shù)
#include <iostream>
using namespace std;
int gcd(int m, int n) {
int r;
while (n != 0) {
r = m % n;
m = n;
n = r;
}
return m;
}
int main() {
int m, n;
cout << "請(qǐng)輸入兩個(gè)自然數(shù)m和n: ";
cin >> m >> n;
cout << "它們的最大公約數(shù)為:" << gcd(m, n) << endl;
return 0;
}
銀行利息
#include <iostream>
#include <cmath>
using namespace std;
int calculateMonths(double d, double p, double r) {
double m = log(p / (p - r * d)) / log(1 + r);
return ceil(m);
}
int main() {
double d, p, r;
cout << "請(qǐng)輸入貸款數(shù)額d(元):";
cin >> d;
cout << "請(qǐng)輸入每月計(jì)劃償還數(shù)額p(元):";
cin >> p;
cout << "請(qǐng)輸入月利率r:";
cin >> r;
int months = calculateMonths(d, p, r);
cout << "需要" << months << "個(gè)月才能還清貸款。" << endl;
return 0;
}