Diễn Đàn Chia SẻĐăng Nhập

Trang chia sẻ tài liệu, kiến thức, thủ thuật... và mọi thứ bạn cần

Khi đàn ông im lặng là họ đang suy nghĩ, khi đàn bà im lặng là họ đang suy diễn

Mấy đại ca vào giúp aloxinh đẹp trai với

Tình hình đang rất là tình hình. Mà tình hình là đang ngồi code thì gặp chút rắc rối về kĩ thuật
Topics tagged under define on Diễn Đàn Chia Sẻ Cll

Ai giúp em cái code này với Mad

file khaibao.h

Mã:

#include<iostream>

#include <stdlib.h>

#include <time.h>

#define MAX 100

using namespace std;

void intputarray(int a[], int n);

void outputarray(int a[], int n);

int binarysearch (int a[], int n, int x,int left = 0,int right = 20);

file caidat.cpp

Mã:

#include "Header.h"

void intputarray(int a[], int n)

{

for( int i= 0; i<n; i++)

{

a[0] = rand()%n;

a[i] =a[i-1] + rand()%n ;

}

}

void outputarray(int a[], int n)

{

for(int i=0; i<n; i++)

cout<<a[i]<<"\t";

}

int binarysearch (int a[], int n, int x,int left = 0,int right = 20)

{

int mid = (left + right)/2;

if( left >= right)

return -1;

if(x == a[mid])

return mid;

if(x < a[mid])

return binarysearch(a,n,x,left,mid -1);

else

return binarysearch(a,n,x,mid +1,right);

}

file main.cpp

Mã:

#include"Header.h"

void main()

{

srand((unsigned int) time (NULL));

int a[MAX], n = 20, x, kq;

intputarray(a,n);

cout<<"newly created array:\n";

outputarray(a,n);

cout<<"\nPlease enter x which you want to find: ";

cin>>x;

kq = binarysearch(a,n,x);

if(kq = -1)

cout<<"\nNot Found x!";

else

cout<<"\nElement be located at position is: "<<kq;

cout<<endl;

}

Lỗi :

1>d:\save_baitap_tien\timkiem\binarysearch\install.cpp(23): error C2572: 'binarysearch' : redefinition of default parameter : parameter 5

1> d:\save_baitap_tien\timkiem\binarysearch\header.h(10) : see declaration of 'binarysearch'

1>d:\save_baitap_tien\timkiem\binarysearch\install.cpp(23): error C2572: 'binarysearch' : redefinition of default parameter : parameter 4

1> d:\save_baitap_tien\timkiem\binarysearch\header.h(10) : see declaration of 'binarysearch'

Tạm dich: sai tham số mặc định. Nhưng tình hình rất là tình hình, và tình hình là chưa biết sửa chỗ nào
Topics tagged under define on Diễn Đàn Chia Sẻ V

Các anh giúp em bài C này với ạ :( phần cuối em gọi hàm sai hay sao ý

#include"conio.h"

#include"stdio.h"

#include"string.h"

#define N 100

typedef struct

{

int phantu[N];

int n;

}list;

void themdau(list *ds,int phantu);

void themcuoi(list*ds,int phantu);

void nhap(list*ds);

void nhapnguoc(list*ds);

void xuat(list ds);

void taorong(list*ds);

void taorong(list *ds)

{

(*ds).n=0;

}

void themdau(list *ds,int phantu)

{ int i;

for(i=(*ds).n;i>=1;i--)

(*ds).phantu=(*ds).phantu[i+1];

(*ds).phantu[1]=phantu;

(*ds).n++;

}

void themcuoi(list *ds,int phantu)

{

(*ds).n++;

(*ds).phantu[(*ds).n]=phantu;

}

void nhap (list *ds)

{

int i;

char str[99];

printf("\n nhap vao 1 day so nguyen :");

gets(str);

for(i=1;i<=strlen(str);i++)

themcuoi(ds,str[i-1]-48);

}

void nhapnguoc(list*ds)

{

int i;

char str[99];

printf("\n nhap vao 1 day so nguyen ");

gets(str);

for(i=1;i<=strlen(str);i++)

themdau(ds,str[i-1]-48);

}

void xuat(list ds)

{

int i;

for( i=1;i<=ds.n;i++)

printf("%d",ds.phantu);

}

int main()

{

list ds;

taorong(&ds);

themdau(&ds);

themcuoi(&ds);

nhap(&ds);

nhapnguoc(&ds);

xuat(ds);

getch();

}

Giúp về mảng có cấu trúc C++

COde mình bị lỗi mong pro vào giúp :

file Khaibao.h

Mã:

#include <iostream>

#include <string.h>

#define MAX 100

using namespace std;

typedef struct VIDEO

{

char tenphim[MAX];

char theloai[20];

char namedaodien[MAX];

char nameactor[30];

char nameactress[30];

int namsx;

char hangsx[30];

};

void Nhap1phim( VIDEO &p);

void Xuat1phim( VIDEO p);

void Nhapdsvideo( VIDEO a[MAX], int &n);

void Xuatdsvideo( VIDEO a[MAX], int n);

void Search_type( char s1[MAX]);

file caidat.cpp

Mã:

#include "Khaibao.h"

void Nhap1phim( VIDEO &p)

{

cout<<" \nName film: :";

cin.ignore();

cin.getline(p.tenphim,30);

cout<<" \nThe type of film: ";

cin.getline(p.theloai, 30);

cout<<" \nName of director: ";

cin.getline(p.namedaodien,30);

cout<<" \nName of actor: ";

cin.getline(p.nameactor, 30);

cout<<" \nName of actress: ";

cin.getline(p.nameactress, 30);

cout<<"\nProduction year :";

cin>>p.namsx;

cout<<"\nThe production:";

cin.ignore();

cin.getline(p.hangsx,30);

}

void Xuat1phim( VIDEO p)

{

cout<<"\n"<<p.tenphim<<"\t\t"<<p.theloai<<"\t"<<p.namedaodien<<"\t"<<p.nameactor<<"\t"<<p.nameactress<<"\t\t"<<p.namsx<<"\t"<<p.hangsx;

}

void Nhapdsvideo( VIDEO a[MAX], int &n)

{

do{

cout<<"\nThe number of film wants to enter: ";

cin>>n;

if(n<=0)

cout<<"Sorry! Number of invalid clicks original film. Please re-enter !";

}while( n <=0);

for( int i=0; i<n; i++)

{

Nhap1phim(a[i]);

cout<<endl;

}

}

void Xuatdsvideo( VIDEO a[MAX], int n)

{

for(int i=0; i<n; i++)

{

Xuat1phim(a[i]);

cout<<endl;

}

}

void Search_type( char s1[MAX])

{

VIDEO s;

cout<<"\nEnter type of film which you want to find:";

cin.getline(s1,30);

if (strcmp(s1,s.theloai)==0)

{

cout<<"\nFilms which you want:\n ";

Xuat1phim(s);

}

else

{

cout<<"Not Found !";

}

}

hàm main()

Mã:

#include "Khaibao.h"

void main()

{

int n;

VIDEO vd, a[MAX];

char s1[MAX];

Nhapdsvideo(a,n);

cout<<"\nName film"<<"\t"<<"Type"<<"\t"<<"Name director"<<"\t"<<"Actor"<<"\t"<<"actress"<<"\t\t"<<"production year"<<"\t"<<"porduction";

Xuatdsvideo(a,n);

Search_type(s1);

cout<<endl;

}

error
Topics tagged under define on Diễn Đàn Chia Sẻ YH5BAEAAAAALAAAAAABAAEAAAIBRAA7
ebug error !

Thanks pro trước :yy73:

Bài Tập Trắc Nghiệm Lập Trình C, Có Đáp Án

Download Bài Tập Trắc Nghiệm Lập Trình C + Đáp Án

Câu 1: Ngôn ngữ lập trình C được Dennish phát triển dựa trên ngôn ngữ lập trình nào:

A) Ngôn ngữ B.

B) Ngôn ngữ BCPL.

C) Ngôn ngữ DEC PDP.

d) Ngôn ngữ B và BCPL.

Câu 2: Ngôn ngữ lập trình được Dennish đưa ra vào năm nào?

A) 1967.

b) 1972.

C) 1970.

D) 1976.

Câu 3: Ngôn ngữ lập trình nào dưới đây là ngôn ngữ lập trình có cấu trúc?

A) Ngôn ngữ Assembler.

b) Ngôn ngữ C và Pascal.

C) Ngôn ngữ Cobol.

D) a, b và c.

Câu 4: Những tên biến nào dưới đây được viết đúng theo quy tắc đặt tên của ngôn ngữ lập trình C?

A) diem toan

B) 3diemtoan

c) _diemtoan

D) -diemtoan

Câu 5: Một biến được gọi là biến toàn cục nếu:

A) Nó được khai báo tất cả các hàm, ngoại trừ hàm main ().

b) Nó được khai báo ngoài tất cả các hàm kể cả hàm main ().

C) Nó được khai báo bên ngoài hàm main ().

D) Nó được khai báo bên trong hàm main ().

Câu 6: Một biến được gọi là một biến địa phương nếu:

a) Nó được khai báo bên trong các hàm hoặc thủ tục, kể cả hàm main ().

B) Nó đươc khai báo bên trong các hàm ngoại trừ hàm main ().

C) Nó được khai báo bên trong hàm main ().

D) Nó được khai báo bên ngoài các hàm kể cả hàm main ().

Câu 7: Nếu x là một biến toàn cục và x không phải là một con trỏ thì:

A) Miền nhớ dành cho x có thể thay đổi trong quá trình thực hiện chương trình.

B) Miền nhớ dành cho x chỉ có thay đổi bởi những thao tác với x bên trong hàm main ().

C) Miền nhớ dành cho x sẽ thay đổi bởi những thao tác với x trong tất cả các hàm, kể cả hàm main ().

d) Miền nhớ giành cho x không bị thay đổi trong quá trình thực hiện chương trình.

Câu 8: Kiểu dữ liệu nào dưới đây được coi là kiểu dữ liệu cơ bản trong ngôn ngữ lập trình C:

a) Kiểu double.

B) Kiểu con trỏ.

C) Kiểu hợp.

D) Kiểu mảng.

Câu 9: Giả sử a, b là hai số thực. Biểu thức nào dưới đây viết không đúng theo cú pháp của ngôn ngữ lập trình C:

A) (a+=b).

B) (a*=b).

C) (a=b).

D) (a&=b).

Câu 10: Giả sử a và b là hai số thực. Biểu thức nào dưới đây là không được phép theo cú pháp của ngôn ngữ lập trình C:

A) (ab).

B) (a-=b).

c) (a>>=b).

D) (a*=b).

Câu 11: Xâu định dạng nào dưới đây dùng để in ra một số nguyên hệ 16:

A) "%d".

b) "%x".

C) "%i".

D) "%u".

Câu 12: Xâu định dạng nào dưới đây dùng để in ra một số nguyên ở hệ 8:

A) "%ld".

B) "%x".

c) "%o".

D) "%u".

Câu 13: Xâu định dạng nào dưới đây dùng để in ra một kí tự:

A) "%f".

B) "%x".

C) "%s".

d) "%c".

Câu 14: Xâu định dạng nào dưới đây dùng để in ra một xâu kí tự:

A) "%f".

B) "%x".

c) "%s".

D) "%c".

Câu 15: Xâu định dạng nào dưới đây dùng để in ra một số nguyên dài:

A) "%ld" .

B) "%x".

C) "%d".

D) "%o".

Câu 16: Xâu định dạng nào dưới đây dùng để in ra địa chỉ của một biến:

A) "%u".

B) "%e".

C) "%o".

d) "%p".

Câu 17: Xâu định dạng nào dưới đây dùng để in ra một số nguyên:

A) "%u".

B) "%e".

c) "%d".

D) "%p".

Câu 18: Xâu định dạng nào dưới đây dùng để in ra một số thực có độ chính xác kép:

A) "%u".

b) "%e".

C) "%o".

D) "%p".

Câu 19: Xâu định dạng nào sau đây dùng để in ra một số thực có độ chính xác đơn:

A) "%u".

B) "%e".

c) "%f".

D) "%o".

Câu 20: Kiểu dữ liệu int (kiểu số nguyên) có thể xử lí số nguyên nằm trong khoảng nào:

A) 0.. 255.

b) -32768.. 32767.

C) -128.. 127.

D) 0.. 65535.

Câu 20: Cho a=3, b=2 và c là 3 biến nguyên. Biểu thức nào sau viết sai cú pháp trong ngôn ngữ lập trình C:

a) (c=a & b).

B) (c=a && b).

C) (c= a/b).

D) (c= a<<b).

Câu 21: Giả sử a và b là 2 số thực. Biểu thức nào dưới đây là không được phép:

A) (a+=b).

B) (a-=b).

c) (a>>=b).

D) (a*=b).

Câu 22: Cho a=3, b=2. Biến c= (a<<=b) sẽ có giá trị nào dưới đây:

A) c=9.

b) c=12. [ c = (a= (a<<=b)) = (a= a. 2b) ] .

C) c=6.

D) c=8.

Câu 23: Kết quả hiển thị ra màn hình của chương trình sau là gì:

#include <stdio. H>

Void main ()

{

Int a, b ;

A=100 ;

B=56 ;

Printf (" %d", (a<b) ? A: b) ;

}

a) 56.

B) 100.

C) Báo lỗi khi thực hiện xây dựng chương trình.

D) Kết quả khác.

Câu 24: Trong các hàm sau, hàm nào là hàm không định dạng để in một chuỗi kí tự ra màn hình:

a) puts ().

B) printf ().

C) scanf ().

D) gets ().

Câu 25: Kết quả của chương trình sau:

#include "stdio. H"

Void main ()

{

Int i;

I=10;

Printf ( "%o", i) ;

}

a) 12.

B) 10.

C) 8.

D) Kết quả khác.

Câu 26: Sử dụng cách truyền nào trong hàm sẽ không làm thay đổi giá trị của biến trong chương trình chính:

a) Truyền bằng trị.

B) Truyền bằng giá trị địa chỉ của tham số.

C) Cả a và b đều đúng.

D) Cả a và b đều sai.

Câu 27: Cho biết giá trị của biểu thức 5>1:

A) -1.

B) 0.

c) 1.

D) Không câu nào đúng.

Câu 28: Cho biết giá trị của biểu thức 2+4>2&&4<2:

A) 1.

b) 0.

C) -1.

D) Không câu nào đúng.

Câu 29: Biến con trỏ có thể chứa:

a) Địa chỉ vùng nhớ của một biến khác.

B) Giá trị của một biến khác.

C) Cả a và b đều đúng.

D) Cả a và b đều sai.

Câu 30: Dữ liệu kí tự bao gồm:

A) Các kí tự số chữ số.

B) Các kí tự chữ cái.

C) Các kí tự đặc biệt.

d) Cả a, b và c.

Câu 31: Nếu hàm được gọi trước khi nó định nghĩa thì điều kiện là gì:

A) Kiểu trả về của hàm phải là kiều void.

B) Kiểu đầu vào của hàm phải là kiểu void.

c) Trước khi gọi hàm nó phải được khai báo.

D) Hàm chỉ trả về kiểu dữ liệu boolean.

Câu 32: Kiểu dữ liệu float có thể xử lí dữ liệu trong phạm vi nào:

a) 3.4*10-38đến 3.4*1038.

B) -32768 đến 32767.

C) -128 đến 127.

D) 0.. 65535.

Câu 33: Kiểu dữ liệu nào dưới đây không được coi là kiểu dữ liệu cơ bản trong ngôn ngữ lập trình C:

a) Kiểu mảng.

B) Kiểu enum.

C) Kiểu short int.

D) Kiểu unsigned.

Câu 34: Lệnh nào trong các lệnh sau cho phép chuyển sang vòng lặp tiếp theo mà không cần phải thực hiện phần còn lại của vòng lặp:

A) break.

B) goto.

c) continue.

D) return.

Câu 35: Giả sử có câu lệnh ch='A'. Vậy ch sẽ chứa bao nhiêu byte:

a) 1.

B) 2.

C) 3.

D) 4.

Câu 36: Giả sử có câu lệnh ch[] = "A". Ch chứa bao nhiêu bytes:

A) 1.

b) 2.

C) 3.

D) 4.

Câu 37: Kết quả in ra màn hình của chương trình sau:

#include <stdio. H>

Void main ()

{

Int ch='A';

Printf ( "%d", ch) ;

}

A) A.

B) a.

c) 65.

D) Kết quả khác.

Câu 38: Kết quả của chương trình sau:

#include <stdio. H>

Void main ()

{

Int i=98;

Printf ( "%c", i) ;

};

A) 98.

b) b.

C) B.

D) Kết quả khác.

Câu 39: Kết quả in ra màn hình của chương trình sau:

#include <stdio. H>

Void main ()

{

Int i=5, j=6;

I= i- --j;

Printf ( "%d", i) ;

};

A) 6.

B) 5.

C) 1.

d) 0.

Câu 40: Dạng tổng quát của hàm printf () là: Printf ( "dãy mã quy cách", dãy mã biểu thức) ; Trong đó, dãy mã quy cách sẽ là:

a) Dãy các mã định dạng dữ liệu hiển thị.

B) Con trỏ của xâu kí tự.

C) Các xâu kí tự mang tính chất thông báo.

D) Cả 3 phương án trên.

Câu 41: Trong các hàm sau, hàm nào là hàm không định dạng để nhập một kí tự từ bàn phím.

A) scanf () ;

b) getchar () ;

C) getch () ;

D) getche () ;

Câu 42: Trong các hàm sau, hàm nào để nhập một kí tự từ bàn phím ngay sau khi gõ, không chờ nhấn Enter và không hiện ra màn hình:

A) scanf () ;

B) getchar () ;

c) getch () ;

D) getche () ;

Câu 43: Hàm nào đọc kí tự từ bàn phím ngay sau khi gõ, không chờ nhấn Enter. Các kí tự có hiện ra màn hình:

A) scanf () ;

B) getchar () ;

C) getch () ;

d) getche () ;

Câu 44: Kết quả in ra màn hình của chương trinh sau là gì:

#include <stdio. H>

Void main ()

{

Int i;

For (i=2; i<=4; i+=2)

Printf ( "%3d", i) ;

};

A) "1 2 3 4".

B) "2 3 4".

c) "2 4".

D) Chương trình không chạy được.

Câu 45: Kết quả in ra màn hình của chương trình sau là gì:

#include <stdio. H>

Void main ()

{

Int i;

For (i=2; ; i++)

Printf ( "%3d", i) ;

};

a) Vòng lặp vô hạn.

B) "2".

C) "1 2".

D) Kết quả khác.

Câu 46: Lệnh nào trong các lệnh sau cho phép đã chuyển tới một nơi nào đó đã được gán nhãn.

A) break.

b) goto.

C) continue.

D) exit.

Câu 47: Lệnh nào trong các lệnh sau cho phép dừng câu lệnh điều khiển:

A) break.

B) goto.

C) continue.

d) Cả 3 phương án trên.

Câu 48: Trong ngôn ngữ C, khai báo "int array[3] [5]" có nghĩa là:

A) Các phần tử của mảng là các số nguyên.

b) Là một mảng hai chiều tối đa là 15 phần tử và mỗi phần tử là một số nguyên .

C) array[3] [5] là một phần tử của mảng.

D) Tất cả đều sai.

Câu 49: Tìm lỗi sai trong chương trình sau (in ra kết quả là tổng của 453 và 343) :

#include <stdio. H>

Void main ()

{

Int sum;

Sum= 453+343

Printf ( "\Ket qua la:" sum) ;

} ;

A) Thiếu dấu chấm phẩy (
Topics tagged under define on Diễn Đàn Chia Sẻ 3
.

B) Thiếu dấu phẩy ().

C) Thiếu kí tự đặc tả.

d) Cả 3 ý trên.

Câu 50: Kết quả của chương trình sau là gì:

#include <stdio. H>

Void main ()

{

Int i, j;

For (i=1; i<4; i++)

J=i;

Printf ( "%3d", j) ;

};

A) "1 2 3 4".

B) "4".

c) "3".

D) Kết quả khác.

Câu 51: Độ ưu tiên đối với các toán tử logic là:

A) AND, NOT, OR.

B) NOT, OR, AND.

C) OR, NOT, AND.

d) NOT, AND, OR.

Câu 52: Kết quả của chương trình sau là gì:

#include <stdio. H>

Void main ()

{

Int a=40, b=4;

While (a! =b)

If (a>b) a=a-b;

Else b=b-a;

Printf ( "%d", a) ;

};

A) 2.

B) 16.

c) 4.

D) Kết quả khác.

Câu 53: Giả sử trong ngôn ngữ C sử dụng khai báo "double a[12]", phần tử a[7] là phần tử thứ bao nhiêu trong mảng a:

A) Thứ 6.

B) Thứ 7.

c) Thứ 8.

D) Thứ 9.

Câu 54: Kết quả của chương trình sau là gì:

#include <stdio. H>

Void hoanvi (int *px, int *py)

{

Int z ;

Z=*px;

*px=*py ;

*py=z ;

} ;

Void main ()

{

Int a=15, b=21 ; hoanvi (a, b) ;

Printf ( "%d %d", a, b) ;

};

A) "15 21".

b) "21 15".

C) Báo lỗi khi thực hiện chương trình.

D) Kết quả khác.

Câu 55: Kết quả chương trình sau là gì:

#include <stdio. H>

Void hoanvi (int px, int py)

{

Int pz;

Pz=px; px=py; py=pz;

};

Void main ()

{

Int a=15, b=21; hoanvi (a, b) ;

Printf ( "%d %d", a, b) ;

};

A) "21 15".

b) "15 21".

C) Báo lỗi khi thực hiện chương trình.

D) Kết quả khác.

Câu 56: Phát biểu nào sau đây không phài là lợi ích của việc dùng hàm:

A) Tránh dư thừa, lặp lại nhiều lần một đoạn lệnh.

B) Dễ bảo trì.

C) Khả năng sử dụng lại đoạn lệnh.

d) Tất cả đều sai.

Câu 57: Khai báo các biến:

Int m, n; float x, y;

Lệnh nào sai:

A) n=5 ;

B) x=10 ;

C) y=12.5 ;

d) m=2.5 ;

Câu 58: Kết quả in ra màn hình của chương trình sau:

#include <stdio. H >

Void main ()

{

Char *s;

S= "chao cac ban"; strcpy (&s[5], &s[9] ) ;

Printf ( "%s", s) ;

};

A) "chao".

B) "chao cac".

c) "chao ban".

D) "chao cac ban".

Câu 59: Kết quả in ra màn hình của chương trình sau:

#include <stdio. H>

Void main ()

{

Int a=100, b=6;

Double f;

F= (double) a/ (double) b;

Printf ( "%2.2f", f) ;

};

A) "16".

B) "16.00".

c) "16.67".

D) Kết quả khác.

Câu 60: Kết quả in ra màn hình của biểu thức sau là gì: -3+4%5/2.

a) -1.

B) -3.

C) 1.

D) Kết quả khác.

Câu 61: Có các khai báo sau: Int x=15; int *p; Muốn p là con trỏ trỏ tới x phải thực hiện lệnh nào:

A) p=x;

b) p=&x;

C) p=*x;

D) Tất cả các lệnh đều đúng.

Câu 62: Nếu có các khai báo sau:

Char msg[10] ;

Char value;

Câu nào sau đây sẽ là đúng:

a) msg[2] =value;

B) msg=value;

C) Cả hai câu trên.

D) Không câu nào đúng.

Câu 63: Nếu có các khai báo sau:

Char msg[10] ;

Char *ptr;

Char value;

Câu nào sau đây là đúng:

A) ptr=value;

b) ptr=msg;

C) Cả hai câu trên đều đúng.

D) Cả hai câu trên đều sai.

Câu 64: Kí hiệu nào là con trỏ của phẩn tử thứ 3 của màng a có 4 kí tự:

A) * (a+3) ;

b) * (a+2) ;

C) *a+3;

D) * (a+4) ;

Câu 65: Cho các khai báo sau:

Void *tongquat;

Int *nguyen;

Char *kitu;

Phép gán nào là không hợp lệ:

A) tongquat=nguyen;

b) *nguyen=*tongquat;

C) kitu= (char) tongquat;

D) tongquat=kitu;

Câu 66: Cho biết kết quả của đoạn chương trình sau:

Int p=4;

P=10+ ++p;

A) 14.

b) 15.

C) 16.

D) Kết quả khác.

Câu 67: Có các khai báo sau:

Char tb, mang[15] ;

Trong các câu lệnh sau, câu nào đúng:

A) tb= "chào bạn";

b) gets (mang) ;

C) mang= "chaoban";

D) gets (tb) ;

Câu 68: Phép cộng 1 con trỏ với một số nuyên sẽ là:

a) Một con trỏ có cùng kiểu.

B) Một số nguyên.

C) Cả hai kết quả đều đúng.

D) Cả hai kết quả đều sai.

Câu 69: Phép trừ 2 con trỏ có cùng kiểu sẽ là:

A) Một con trỏ có cùng kiểu.

b) Một số nguyên.

C) Kết quả khác.

D) Không thực hiện được.

Câu 70: Phép toán 1 ngôi nào dùng để xác định địa chỉ của đối tượng mà con trỏ chỉ tới:

A) *;

B) ! ;

c) &;

D) Kết quả khác.

Câu 71: Sự hiệu chỉnh các kiểu dữ liệu số học khi tính toán là:

a) int à long à float à double à long double.

B) int à float à long à double à long double.

C) int à double à float àlong à long double.

D) long à int à float àdouble à long double.

Câu 72: Chương trình:

#include <stdio. H>

Void main ()

{

Char c;

Int n;

Scanf ( "%d%c", &n, &c) ;

Printf ( "%3d%c", n, c) ;

};

Giả sử khi chạy chương trình ta gõ từ bản phím: "29h b".

Kết quả in ra n và c tương ứng sẽ là:

A) "29b".

B) "29h b".

c) "29h".

D) Kết quả khác.

Câu 73: Khi khai báo mảng, ta khởi tạo luôn giá trị của mảng như sau:

Int x[3] ={4, 2, 6}; Nghĩa là:

A) x[1] =4, x[2] =2, x[3] =6.

b) x[0] =4, x[1] =2, x[2] =6;

C) Khai báo không đúng.

D) Kết quả khác.

Câu 74: Khi biến con trỏ không chứa bất kì một địa chỉ nào thì giá trị của nó sẽ là:

A) 0.

B) NULL.

c) Cả hai phương án trên đều đúng.

D) Cả hai phương án trên đều sai.

Câu 75: Các kí hiệu đặc trưng cho sự tác động lên dữ liệu gọi là:

A) Hàm.

B) Biểu thức.

C) Biến.

d) Toán tử.

Câu 76: Kết quả của chương trình sau là gì:

#include <stdio. H>

Void main ()

{

Int x, *p;

X=3; x=6; p=&x;

*p=9; printf ( "%d", x) ;

Printf ( "%d", *p) ; printf ( "%d", x) ;

};

A) "369".

B) "696".

c) "999".

D) Kết quả khác.

Câu 77: Kết quả của chương trình sau là gì:

#include <stdio. H>

Int change (int a)

{

A=10;

Return a;

};

Void main ()

{

Int a=5;

Change (i) ;

Printf ( "%d", i) ;

};

a) 5.

B) 10.

C) 0.

D) Báo lỗi khi thực hiện chương trình.

Câu 78: Những phát biểu nào sau đây là đúng:

A) Rẽ nhánh là việc chọn ra một trong hai hay nhiều con đường cho việc thực hiện tính toán sau đó.

B) Lưu đồ có thể có nhiều điểm bắt đầu và kết thức.

C) Kiểu kí tự chứa một kí tự nằm trong dấu nháy kép.

d) Trong các lệnh if lồng nhau, else thuộc về if phía trước gần nó nhất.

Câu 79: Kết quả của chương trình sau là gì:

#include <stdio. H>

Int change (int *a)

{

*a=10;

Return *a;

};

Void main ()

{

Int i=5;

Change (&i) ;

Printf ( "%d", i) ;

};

A) 5.

b) 10.

C) 0.

D) Báo lỗi khi thực hiện xây dựng chương trình.

Câu 80: Kết quả của chương trình sau là gì:

#include <stdio. H>

Void main ()

{

Int x, *p;

X=6; p=&x;

Printf ( "%d", x) ;

Printf ( "%d", *p) ;

};

A) 69.

b) 66.

C) Lỗi khi xây dựng chương trình.

D) Kết quả khác.

Câu 81: Kết quả của chương trình sau là gì:

#include <stdio. H>

Void main ()

{

Printf ( "%d", 3<2

6) ;

};

A) true.

B) 0.

c) 1.

D) Kết quả khác.

Câu 82: Cái gì quyết định kích thước của vùng nhớ được cấp phát cho các biến:

A) Tên biến.

b) Kiểu dữ liệu của biến.

C) Giá trị của biến.

D) Tất cả đều đúng.

Câu 83: Kết quả của chương trình sau là gì:

#include <stdio. H>

Void main ()

{

Int i, k;

For (i=1; ; i++) k=5;

Printf ( "%d", i) ;

};

A) 0.

B) 5.

c) Vòng lặp vô hạn.

D) Kết quả khác.

Câu 84: Kết quả của chương trình sau là gì:

#include <stdio. H>

Void main ()

{

Int i=1, k=0;

For (; i<5; i++) k++;

Printf ( "%d", k) ;

}

A) 0.

b) 4.

C) 5.

D) Vòng lặp vô hạn.

Câu 85: Lệnh nào trong các lệnh sau cho phép nhảy ra khỏi vòng lặp đến vị trí bất kì mong muốn:

A) break;

B) continue;

c) goto;

D) Không có phương án nào.

Câu 86: Trong các hàm sau, hàm nào không định dạng để in một kí tự ra màn hình:

A) puts () ;

B) printf () ;

c) putchar () ;

D) 2 và 3.

Câu 87: Khi nhập vào đòng văn bản: "Chao Cac Ban". Kết quả của chương trình sau là gì:

#include <stdio. H>

#include <conio. H>

Int main ()

{

Clrscr () ;

Char str[80] ;

Fflush (stdin) ;

Scanf ( "%s", str) ;

Cprintf ( "Dong van ban vua nhap la: %s", str) ;

Getch () ;

Return 0;

};

A) "Chao Cac Ban".

B) "Chao Cac".

c) "Chao".

D) Không hiện kết quả gì.

Câu 88: Kết quả của chương trình sau là gì:

#include <stdio. H>

#include <conio. H>

Void main ()

{

Clrscr () ;

Int i;

For (i=1; i<=24; i++) ;

Printf ( "\n%d", i) ;

Getch () ;

Return;

};

A) In ra màn hình các số từ 1 đến 24.

B) Lỗi khi xây dựng chương trình.

c) Kết quả khác.

D) In ra màn hình các số từ 1 đến 24, mỗi số một dòng.

Câu 89: Lệnh fflush (stdin) dùng để làm gì:

A) Đọc kí tự từ bàn phím.

b) Xóa sạch bộ nhớ đệm.

C) Xóa bộ nhớ đệm.

D) Kết quả khác.

Câu 90: Kết quả của đoạn chương trình sau là gì:

Char c;

Int n;

Scanf ( "%d%c", &n, &c) ;

Nếu gõ vào: "10 T".

a) n=10, c=' '.

B) n=10, c='T'.

C) Lỗi khi xây dựng chương trình.

D) Kết quả khác.

Câu 91: Kết quả in ra màn hình của chương trình sau:

#include <stdio. H>

Void main ()

{

Int i=100;

Printf ( "%c", i) ;

};

a) "d".

B) "D".

C) "100".

D) Kết quả khác.

Câu 91: Hằng có thể được định nghĩa theo cách nào:

A) #define <indentifier> string

B) const tên_kiểu tên_biến_hằng = giá trị;

C) Không có cách định nghĩa chung.

d) 1 và 2.

Câu 92: Hàm gotoxy (int x, int y) là hàm:

A) Đặt con trỏ tại dòng x, cột y.

b) Đặt con trỏ tại cột x, dòng y.

C) Lưu dữ tọa độ của con trỏ màn hình cột x, dòng y.

D) Lưu dữ tọa độ của con trỏ màn hình dòng x, cột y.

Câu 93: Kết quả của chương trình sau là gì:

#include <stdio. H>

#include <conio. H>

Float x[] = {63.2, -45.6, 70.1, 3.6, 14.5 };

Int n=sizeof (x) /sizeof (float) ;

Void main ()

{

Clrscr () ;

Int i, j;

Floar c;

For (i=0, j=n-1; i<j; i++, j--) ;

{

C=x;

X=x[j] ;

X[j] =c;

};

Printf ( "\nDay ket qua la: \n") ;

For (i=0 ; i<n ; i++)

Printf ( "%8.2f", x) ;

Getch () ;

Return ;

} ;

a) Dãy kết quả là: 63.20, -45.60, 70.10, 3.60, 14.50.

B) Dãy kết quả là: 14.50, 3.60, 70.10, -45.60, 63.20.

C) Kết quả khác.

D) 1 và 2.

Câu 94: Kết quả của chương trình sau là gì:

#include <stdio. H>

#include <conio. H>

#include <ctype. H>

#define EOL '\n'

Void main ()

{

Clrscr () ;

Char chu[80] ;

Int tong, dem;

For (dem=0; dem<tong; dem++) ;

Tong=dem;

For (dem=0; dem<tong; ++dem)

Putchar (toupper (chu[dem])) ;

Getch () ;

Return;

};

A) Nhập vào một kí tự thường, sau đó chuyển sang chữ hoa rồi in ra màn hình.

B) Nhập một kí tự hoa, sau đó chuyển sang chữ thường rồi in ra màn hình.

C) 1 và 2.

d) Kết quả khác.

Câu 95: Phép toán % có ý nghĩa gì:

A) Đổi dấu một số thực hoặc một số nguyên.

B) Chia hai số thực hoặc nguyên.

c) Lấy phần dư của phép chia hai số nguyên.

D) 1 và 2.

Câu 96: Hàm clrscr () là hàm gì:

A) Là hàm xóa toàn bộ màn hình, sau khi xóa, con trỏ sẽ ở bên trái màn hình.

B) Dùng để xóa sạch bộ nhớ đệm bàn phím.

C) Là hàm xóa kí tự nằm bên trái con trỏ.

D) Là hàm xóa kí tự nằm bên phải con trỏ.

Câu 97: Kết quả của đoạn chương trình sau là gì:

Char c;

Int n;

Scanf ( "%c%d", &n, &c) ;

Nếu gõ vào: "R 45".

A) n=45, c=' '.

B) n=45, c='r'.

C) Lỗi khi xây dựng chương trình.

d) Kết quả khác .

Câu 97: Hàm scanf ( "%[^\n]", str) ; tương với lệnh nào sau đây:

A) getch () ;

B) getche () ;

C) macro getchar () ;

d) gets (str) ;

Câu 98: Cho đoạn chương trình sau:

#include <stdio. H>

#include <conio. H>

Void main ()

{

Char c;

Clrscr () ;

Do c=getchar () ;

While (c! ='*') ;

Getch () ;

};

Yêu cầu của đoạn chương trình trên là:

a) Nhập vào 1 kí tự cho đến khi gặp kí tự '*'.

B) Nhập vào các kí tự cho tới khi gặp kí tự '*'.

C) Nhập các kí tự '*'.

D) Lỗi khi xây dựng chương trình.

Câu 99: Kết quả của chương trình sau là gì:

#include <stdio. H>

Void main ()

{

Printf ( "%d", 3<7&&8>6) ;

};

a) 1.

B) 0.

C) true.

D) Kết quả khác.

Câu 99: Toán tử "++n" được hiểu:

A) Giá trị n giảm đi sau khi giá trị của nó được sử dụng.

B) Giá trị n giảm đi trước khi giá trị của nó được sử dụng.

C) Giá trị của n được tăng sau khi giá trị của nó được sử dụng.

d) Giá trị của n được tăng lên trước khi giá trị của nó được sử dụng.

Tuyển chọn các dạng bài tập C++ hay

bài tập C++ chọn lọc

Câu 1: Giải phương trình bậc nhất.

Spoiler

PHP:

#include <stdio.h>

void main()

{

float a, b;

printf("\nGiai phuong trinh bac nhat AX + B = 0");

printf("\nCho biet ba he so A B : ");

scanf("%f%f", &a, &b);

if (a==0)

if (b!=0)

printf("Phuong trinh vo nghiem");

else

printf("Phuong trinh co nghiem khong xac dinh");

else

printf("Dap so cua phuong trinh tren = %f", -b/a);

getch();

}

Câu 2: Giải phương trình bậc hai.

Spoiler

PHP:

#include <stdio.h>

#include <math.h>

void main()

{

float x,x1,x2,a,b,c,delta;

printf("Nhap vao tham so cua phuong trinh bac 2 \(a b c\) : "); scanf("%f%f%f",&a,&b,&c);

if (a==0)

if (b==0) printf("Phuong trinh vo nghiem\n");

else {x=-c/b; printf("Phuong trinh co mot nghiem x = %.3f\n",x);}

else {

delta=b*b-4*a*c;

if (delta<0)

printf("Phuong trinh vo nghiem thuc\n");

else

if (delta==0)

{x=-b/(2*a);

printf("Phuong trinh co mot nghiem duy nhat x = %.3f\n",x);}

else {

x1=(-b+sqrt(delta))/(2*a);

x2=(-b-sqrt(delta))/(2*a);

printf("Phuong trinh co nghiem 2 nghiem thuc :\n x1 = %.3f\n x2 = %.3f\n",x1,x2);

}

}

}

Câu 3: Giải hệ phương trình bậc nhất.

Spoiler

PHP:

#include <stdio.h>

#include <conio.h>

void main()

{

int a, b, c, d, e, f, dthuc;

float x, y;

printf("\nNhap vao cac he so a,b,c,d,e,f : ");

scanf("%d%d%d%d%d%d", &a, &b, &c, &d, &e, &f);

dthuc = b*d - e*a;

if (dthuc != 0)

{

y = (float)(c*d-a*f)/dthuc;

x = (float)(b*f-c*e)/dthuc;

printf("Nghiem x = %f, y = %f", x, y);

}

else

printf("\nHe phuong trinh vo ngiem.");

getch();

}

Câu 4: Tính căn bậc 2 theo phương pháp hàm Newton

Spoiler

PHP:

#include <stdio.h>

#include <math.h>

void main()

{

double a, xn, ketqua;

printf("\nNhap vao so muon tinh can bac hai : ");

scanf("%lf", &a);

xn = (a+1)/2;

do {

ketqua = xn;

xn = 0.5 * (xn + a/xn);

} while (fabs(xn-ketqua) > 0.0001);

printf("\nKet qua = %lf", xn);

getch();

}

Câu 5: In ra màn hình tam giác cân

Spoiler

PHP:

#include <stdio.h>

#include <conio.h>

void main() {

clrscr();

short d[]={1,2};

printf("Nhap chieu cao tam giac: ");

int i,num,space;

scanf("%d",&i);

num=2*i+1;

for(int n=0;n<i;++n) {

space=(num-(2*n+1))/2;

while(space-->0)

printf(" ");

int index;

for(int j=0;j<2*n+1;++j) {

index=(j%2)?1:0;

printf("%d",d[index]);

}

printf("\n");

}

getch();

}

Câu 6: In ra bảng cửu chương.

Spoiler

PHP:

#include <stdio.h>

#include <conio.h>

#include <string.h>

void main()

{

int i, j;

char chuoi[] = "B A N G C U U C H U O N G";

char ten[10][5] = {"","","Hai", "Ba", "Bon", "Nam",

"Sau", "Bay", "Tam", "Chin"};

clrscr();

textcolor(YELLOW);

gotoxy((80 - strlen(chuoi)) / 2, 1);

cprintf("%s\n\n", chuoi);

for (i=2; i<=9; i++)

{

gotoxy(10*(i-2) + (10 - strlen(ten[i]))/2, 4);

textcolor(i);

cprintf("%s", ten[i]);

}

for (j=1; j<=10; j++)

for (i=2; i<=9; i++)

{

gotoxy(10*(i-2) + 1, j+4);

textcolor(i);

cprintf("%dx%2d = %2d", i, j, i*j);

}

getch();

}

Câu 7: In ra năm âm lịch tương ứng với năm nhập vào.

Spoiler

PHP:

#include <stdio.h>

#include <conio.h>

void main()

{

unsigned nam;

char can[][5] = {"Giap", "At", "Binh", "Dinh", "Mau", "Ky",

"Canh", "Tan", "Nham", "Quy"};

char chi[][5] = {"Ty", "Suu", "Dan", "Meo", "Thin", "Ty",

"Ngo", "Mao", "Than", "Dau", "Tuat", "Hoi"};

printf("\nNhap nam can biet : ");

scanf("%d", &nam);

printf("Nam am lich cua %d la %s %s", nam, can[(nam+6)%10], chi[(nam+Cool%12]);

getch();

}

Câu 8 Tính số ngày trong một tháng, một năm bất kỳ

Spoiler

PHP:

#include<iostream.h>

#include<conio.h>

#include<math.h>

void main()

{

long int thang, nam;

cout<<"Nhap thang va nam: ";

cin>>thang>>nam;

if ((thang>12||thang<1)||(nam<0))

cout<<"Nhap thang hoac nam sai";

else

{

bool namnhuan=((nam%4==0&&nam%100!=0)||(nam%400==0&&nam%100==0));

int songay;

if(thang==4||thang==6||thang==9||thang==11)

songay = 30;

else

{

if(thang==2)

songay = namnhuan?29:28;

else

songay=31;

}

cout<<"So ngay cua thang "<<thang<<" trong nam "<<nam<<" la: "<<songay<<endl;

}

getch();

}

Câu 9: Nhập chuỗi và in chuỗi

Spoiler

PHP:

#include <stdio.h>

#include <conio.h>

void main()

{

char name[80];

printf("\nXin cho biet ten cua ban : ");

gets(name);

printf("Chao %s\n", name);

getch();

}

Câu 10: Đảo chuỗi

Spoiler

PHP:

#include<stdio.h>

#include<conio.h>

#include<string.h>

#include<stdlib.h>

int main ()

{

clrscr ();

char* p;

int i,n;

p = (char*)malloc(128);

printf("\n Nhap xau ki tu :");

gets (p);

n = strlen(p);

printf("\n xau dao: \n");

for( i = n-1; i>=0; i --)

putchar(p[i]);

printf("\n");

free(p);

getch ();

return 0;

}

Câu 11: Đếm số lần xuất hiện của các ký tự trong chuỗi

Spoiler

PHP:

#include <stdio.h>

#include <ctype.h>

void main()

{

char chuoi[80];

int i = 0, count = 0;

printf("\nNhap vao mot chuoi bat ky : ");

gets(chuoi);

while (chuoi[i] != 0)

{

if (isalpha(chuoi[i++]))

count++;

}

printf("So ky tu trong chuoi = %d", count);

getch();

}

Câu 12: Loại bỏ khoảng trống thừa trong chuỗi.

Spoiler

PHP:

#include <stdio.h>

#include <string.h>

#include <conio.h>

#pragma warn -pia

char *trim(char *chuoi)

{

char *p;

while (p = strstr(chuoi, " "))

memmove(p, p+1, strlen(chuoi) - (p - chuoi));

if (chuoi[0] == ' ')

memmove(chuoi, chuoi+1, strlen(chuoi) - 1);

if (chuoi[strlen(chuoi)-1] == ' ')

chuoi[strlen(chuoi)-1] = 0;

return chuoi;

}

void main()

{

char chuoi[125];

printf("\nNhap chuoi mau : ");

textattr(0x1e);

gets(chuoi);

trim(chuoi);

printf("\nChuoi sau khi da trim : ");

textattr(0x1e);

cputs(chuoi);

getch();

}

Câu 13: In chuỗi theo các từ mỗi từ một dòng

Spoiler

PHP:

#include <stdio.h>

#include <conio.h>

#include <string.h>

void main()

{

char s[50];

int i, len;

printf("\nNhap vao mot chuoi : ");

gets(s);

len = strlen(s);

i = 0;

while (i<len)

{

while (s[i] == ' ' && i<len)

i++;

while (s[i] != ' ' && i<len)

putc(s[i++], stdout);

putc('\n', stdout);

}

getch();

}

Câu 14: Chương trình đếm số ký tự trong một chuỗi ASCII

Spoiler

PHP:

#include <stdio.h>

#include <ctype.h>

#include<conio.h>

void main()

{

char chuoi[80];

int i = 0, count = 0;

printf("\nNhap vao mot chuoi bat ky : ");

gets(chuoi);

while (chuoi[i] != 0)

{

if (isalpha(chuoi[i++]))

count++;

}

printf("So ky tu trong chuoi = %d", count);

getch();

}

Câu 15: Cho biết kích thước 1 file

Spoiler

PHP:

#include <stdio.h>

#include <io.h>

#include <fcntl.h>

#include <sys\stat.h>

int main()

{

int fp;

long file_size;

if ((fp = open("f:/cprojects/urls.txt", O_RDONLY)) == -1)

printf("Error opening the file \n");

else

{

file_size = filelength(file_handle);

printf("The file size in bytes is %ld\n", file_size);

close(fp);

}

return 0;

}

Câu 16: Đọc nội dung 1 file

Spoiler

PHP:

#include <stdio.h>

void main(void)

{

FILE *fp;

char ch;

fp = fopen("websites.txt","r");

ch = getc(fp);

while(ch!=EOF)

{

putchar(ch);

ch = getc(fp);

}

printf("\n\n");

}

Câu 17: Đếm tần suất 1 kí tự trong 1 file

Spoiler

PHP:

# include <stdio.h>

# include <string.h>

main()

{

FILE *fp;

char in[100];

long int freq[257];

int i;

printf("\nFile frequency table generator\n\n");

printf("\nInput file:");

scanf("%s",in);

fp=fopen(in,"rb");

if(fp==NULL)

{

printf("\nCould not open input file.Aborting\n");

return 1;

}

for(i=0;i<257;i++)

freq[i]=0;

while(i=fgetc(fp),i!=EOF)

{

freq[i]++;

}

fcloseall();

fp=fopen("count.txt","w");

fprintf(fp,"\nCharacter frequency table of %s\n",in);

fprintf(fp,"\nCharacter ASCII frequency\n\n");

for(i=0;i<256;i++)

{

if(i==26)

{

fprintf(fp,"\t 26\t %ld\n",freq[26]);

}

else if(i==9)

{

fprintf(fp,"\t 9\t %ld",freq[9]);

}

else if(i<10)

{

fprintf(fp,"%c\t %d\t %ld\n",i,i,freq[i]);

}

else if(i<100)

{

fprintf(fp,"%c\t %d\t %ld\n",i,i,freq[i]);

}

else

{

fprintf(fp,"%c\t %d\t %ld\n",i,i,freq[i]);

}

}

fcloseall();

printf("\nFrequency table copied to count.txt\n");

}

Câu 18: Cho biêt thông tin FAT

Spoiler

PHP:

#include <stdio.h>

#include <dos.h>

void main(void)

{

struct fatinfo fat;

getfatd(&fat);

printf("Sectors per cluster %d\n", fat.fi_sclus);

printf("Clusters per disk %u\n", fat.fi_nclus);

printf("Bytes per cluster %d\n", fat.fi_bysec);

printf("Disk type %x\n", fat.fi_fatid & 0xFF);

}

Câu 19: Bài toán trâu ăn cỏ

Spoiler

PHP:

/* Giai bai toan co :

Tram trau tram co

Trau dung an nam

Trau nam an ba

Trau gia an mot

*/

#include <stdio.h>

#include <conio.h>

void main()

{

int tdung, tnam, tgia, phuongan=0;

for (tdung = 1; tdung <= 98; tdung ++)

for (tnam = 1; tnam < 99 - tdung; tnam ++)

for (tgia = 1; tgia < 99 - (tdung + tnam); tgia++)

if ((tdung*5 + tnam*3 + tgia) == 100)

{

printf("\nTrau dung : %5d ; Trau nam : %5d ; Trau gia : %5d",

tdung, tnam, tgia);

phuongan++;

}

printf("\nTong cong co %d phuong an.", phuongan);

getch();

}

Câu 20: Bài toán 8 Hoàng Hậu

Spoiler

PHP:

#include <stdio.h>

#include<conio.h>

int dong[8], cot[8], cheoxuoi[15], cheonguoc[15];

void print ()

{

int i;

printf("\n");

for (i=0; i<8; i++)

printf("%3d", dong[i]);

}

void thu(int i)

{

int j;

for (j=0; j<8; j++)

{

if (cot[j] == 1 && cheoxuoi[i+j] ==1 && cheonguoc[i-j+7] == 1)

{

dong[i] = j;

cot[j] = 0;

cheoxuoi[i+j] = 0;

cheonguoc[i-j+7] = 0;

if (i<7)

thu(i+1);

else

print();

cot[j] = 1;

cheoxuoi[i+j] = 1;

cheonguoc[i-j+7] = 1;

}

}

}

void tim()

{

int i, q;

for (i=0; i<8; i++)

{

cot[i] = 1;

dong[i] = -1;

}

for (i=0; i<15; i++)

{

cheoxuoi[i] = 1;

cheonguoc[i] = 1;

}

thu(0);

}

void main()

{

tim();

getch();

}

Câu 21 Bài kiểm tra số nguyên tố

Spoiler

PHP:

#include<iostream.h>

#include<conio.h>

#include<math.h>

bool LaNguyenTo(int n);

void main()

{

int n;

cout<<"Nhap vao mot so bat ky: ";cin>>n;

if(LaNguyenTo(n))

cout<<"La so nguyen to";

else

{

cout<<"Khong la so nguyen to vi no chia het cho ";

for(int j=2;j<n;j++)

{

if(n%j==0)

cout<<j<<" va ";

}

cout<<"The thoi";

}

getch();

}

bool LaNguyenTo(int n)

{

bool co=true;

if(n<2)

{cout<<"Du lieu nhap sai va so do ";

return !co;}

else

{

for(int i=2;i<=sqrt(n)+1;i++)

{

if(n%i==0)

{

co=false;

break;

}

}

}

return co;

}

Câu 22: Liệt kê các hoán vị của N phần tử

Spoiler

PHP:

#include <stdio.h>

#include <conio.h>

#define MAX 10

int mang[MAX], n;

void swap (int *x, int *y)

{

int tmp;

tmp = *x;

*x = *y;

*y = tmp;

}

void hoanvi(int k)

{

int j;

if (k==1)

{

printf("\n");

for (j=0; j<n; j++)

printf("%d ", mang[j]);

}

else

for (j=k-1; j>=0; j--)

{

swap(&mang[k-1], &mang[j]);

hoanvi(k-1);

swap(&mang[j], &mang[k-1]);

}

}

void main()

{

int i;

printf("\nCho biet so phan tu (N < 10) : ");

scanf("%d", &n);

for (i=0; i<n; i++)

mang[i] = i;

hoanvi(n);

getch();

}

Câu 23: Tính tổ hợp chập K của N phần tử

Spoiler

PHP:

#include <stdio.h>

#include <conio.h>

unsigned long giaithua(int n)

{

unsigned long ketqua = 1;

int i;

for (i=2; i<=n; i++)

ketqua *= i;

return ketqua;

}

unsigned long to_hop_chap(int k, int n)

{

return giaithua(n) / (giaithua(k) * giaithua(n-k));

}

void main()

{

int n, k;

printf("\nNhap vao gia tri N va K : ");

scanf("%d%d", &n, &k);

printf("Top hop chap %d cua %d = %lu", k, n, to_hop_chap(k, n));

getch();

}

Câu 24: Bài tập tìm max min của 4 số.

Spoiler

PHP:

#include<iostream.h>

#include<conio.h>

#include<math.h>

float max(int a, int b);

float min(int a, int b);

void main()

{

int a,b,c,d;

cout<<"Nhap vao so thu 1: ";cin>>a;

cout<<"Nhap vao so thu 2: ";cin>>b;

cout<<"Nhap vao so thu 3: ";cin>>c;

cout<<"Nhap vao so thu 4: ";cin>>d;

cout<<"max= "<<max(max(max(a,b),max(b,c)),max(c,d))<<" min= "<<min(min(min(a,b),min(b,c)),min(c,d))<<endl;

cout<<"Vay trung binh cong cua 4 so do la: "<<(a+b+c+d)/4;

getch();

}

float max(int a, int b)

{

if(a>b)

return a;

else

return b;

}

float min(int a, int b)

{

if(a>b)

return b;

else

return a;

}

Câu 25: Chương trình đọc số có 3 chữ số

Spoiler

PHP:

#include<iostream.h>

#include<conio.h>

void main()

{

int a;

cout<<"Nhap vao mot so co 3 hay 2 tham chi 1 chu so: ";

cin>>a;

int hangtram=a/100;

int hangchuc=((a/10)%10);

int hangdonvi=a%10;

switch(hangtram)

{

case 1 :cout<<"Mot tram ";break;

case 2 :cout<<"Hai tram ";break;

case 3 :cout<<"Ba tram ";break;

case 4 :cout<<"Bon tram ";break;

case 5 :cout<<"Nam tram ";break;

case 6 :cout<<"Sau tram ";break;

case 7 :cout<<"Bay tram ";break;

case 8 :cout<<"Tam tram ";break;

case 9 :cout<<"Chin tram ";break;

}

switch(hangchuc)

{

case 0:

if(hangdonvi==0)

cout<<"";

else

{if(hangchuc==0&&hangtram==0)

cout<<"";

else

cout<<"ninh";}

break;

case 1:cout<<"muoi";break;

case 2:cout<<"hai muoi";break;

case 3:cout<<"ba muoi";break;

case 4:cout<<"bon muoi";break;

case 5:cout<<"nam muoi";break;

case 6:cout<<"sau muoi";break;

case 7:cout<<"bay muoi";break;

case 8:cout<<"tam muoi";break;

case 9:cout<<"chin muoi";break;

}

switch(hangdonvi)

{

case 0:cout<<"Khong";break;

case 1:

if(hangchuc==1||(hangtram==0&&hangchuc==0))

cout<<" mot";

else

cout<<" mo't";

break;

case 2:cout<<" hai";break;

case 3:cout<<" ba";break;

case 4:

if(hangchuc==1)

cout<<" bon";

else

{if(hangchuc==0&&hangtram==0)

cout<<"bon";

else

cout<<" tu";}

break;

case 5:

if(hangchuc==0&&hangtram==0)

cout<<" nam";

else

cout<<" lam";

break;

case 6:cout<<" sau";break;

case 7:cout<<" bay";break;

case 8:cout<<" tam";break;

case 9:cout<<" chin";break;

}

getch();

}

Câu 26 Tìm phần tử lớn nhất nhỏ nhất trong mảng một chiều

Spoiler

PHP:

#include <conio.h>

#include <stdlib.h>

void main()

{

int mang[20];

int i, minval, maxval;

/* Khoi tao mang ngau nhien */

randomize();

for (i=0; i<20; i++)

mang[i] = random(100);

/* Tim gia tri lon nhat va nho nhat */

minval = maxval = mang[0];

for (i=1; i<20; i++)

{

if (maxval < mang[i])

maxval = mang[i];

else if (minval > mang[i])

minval = mang[i];

}

/* In mang */

clrscr();

for (i=0; i<20; i++)

{

if (mang[i] == maxval)

textcolor(YELLOW);

else if (mang[i] == minval)

textcolor(RED);

else

textcolor(WHITE);

cprintf("%3d", mang[i]);

}

getch();

}

Câu 27: Trộn 2 dãy giảm thành 1 dãy tăng

Spoiler

PHP:

#include <stdio.h>

#include <conio.h>

#define MAX 10

void main()

{

int a[MAX], b[MAX], c[2*MAX], n1, n2, i, i1, i2;

printf("\nCho biet so phan tu cua mang thu nhat : ");

scanf("%d", &n1);

printf("Nhap vao cac phan tu (giam dan) cua mang thu nhat : ");

for (i=0; i<n1; i++)

scanf("%d", &a[i]);

printf("\nCho biet so phan tu cua mang thu hai : ");

scanf("%d", &n2);

printf("Nhap vao cac phan tu (giam dan) cua mang thu hai : ");

for (i=0; i<n2; i++)

scanf("%d", &b[i]);

i1 = n1-1;

i2 = n2-1;

for (i=0; i<n1 + n2; i++)

{

if (i1 < 0 || i2 < 0)

break;

if (a[i1] < b[i2])

{

c[i] = a[i1];

i1--;

}

else

{

c[i] = b[i2];

i2--;

}

}

if (i1 >= 0)

while (i1 >= 0)

c[i++] = a[i1--];

if (i2 >= 0)

while (i2 >= 0)

c[i++] = b[i2--];

printf("\nCac phan tu cua mang tron : ");

for (i=0; i<n1+n2; i++)

printf("%d ", c[i]);

getch();

}

Câu 28: Dãy tăng dần

Spoiler

PHP:

#include <stdio.h>

void main()

{

int a[10], i, maxstart, maxend, maxlen, tmpstart, tmpend, tmplen;

printf("\nNhap vao 10 phan tu nguyen cua day :");

for (i=0; i<10; i++)

scanf("%d", &a[i]);

printf("Day da cho :\n");

for (i=0; i<10; i++)

printf("%6d", a[i]);

maxstart = maxend = tmpstart = tmpend = 0;

maxlen = tmplen = 1;

for (i=1; i< 10; i++)

{

if (a[i] < a[tmpend])

{

if (maxlen < tmplen)

{

maxstart = tmpstart;

maxend = tmpend;

maxlen = tmplen;

}

tmpstart = tmpend = i;

tmplen = 1;

}

else

{

tmplen++;

tmpend++;

}

}

if (maxlen < tmplen)

{

maxstart = tmpstart;

maxend = tmpend;

}

printf("\nDay tang co so phan tu nhieu nhat la : \n");

for (i=maxstart; i<=maxend; i++)

printf("%6d", a[i]);

getch();

}

Câu 29: Dãy tăng có dãy dài nhất

Spoiler

PHP:

#include <stdio.h>

void main()

{

int a[10], i, maxstart, maxend, maxtotal, tmpstart, tmpend, tmptotal;

printf("\nNhap vao 10 phan tu nguyen cua day :");

for (i=0; i<10; i++)

scanf("%d", &a[i]);

printf("Day da cho :\n");

for (i=0; i<10; i++)

printf("%6d", a[i]);

maxstart = maxend = tmpstart = tmpend = 0;

maxtotal = tmptotal = a[0];

for (i=1; i< 10; i++)

{

if (a[i] < a[tmpend])

{

if (maxtotal < tmptotal)

{

maxstart = tmpstart;

maxend = tmpend;

maxtotal = tmptotal;

}

tmpstart = tmpend = i;

tmptotal = a[i];

}

else

{

tmptotal += a[i];

tmpend++;

}

}

if (maxtotal < tmptotal)

{

maxstart = tmpstart;

maxend = tmpend;

}

printf("\nDay tang co tong nhieu nhat la : \n");

for (i=maxstart; i<=maxend; i++)

printf("%6d", a[i]);

getch();

}

Câu 30: Tìm tất cả ước của một số N

Spoiler

PHP:

[HTML]#include <stdio.h>

#include <conio.h>

void main()

{

int n, i;

printf("Cho gia tri N = ");

scanf("%d", &n);

printf("Cac uoc so cua %d la :\n", n);

for (i=1; i<n; i++)

if ((n % i) == 0)

printf("%5d", i);

getch();

} [/HTML]

Câu 31: Bội số chung và ước số chung

Spoiler

PHP:

#include <stdio.h>

#include <conio.h>

unsigned USCLN (unsigned n, unsigned m)

{

while (n != 0 && m != 0)

if (n>m)

n -= m;

else

m -= n;

if (n == 0)

return m;

else

return n;

}

unsigned BSCNN (unsigned n, unsigned m)

{

return n * m / USCLN(n, m);

}

void main()

{

unsigned n, m;

printf("\nNhap hai vao so nguyen duong : ");

scanf("%u%u", &n, &m);

printf("\nUSCLN cua %u va %u = %u", n, m, USCLN(n,m));

printf("\nBSCNN cua %u va %u = %u", n, m, BSCNN(n,m));

getch();

}

Câu 32: Ma phương

Spoiler

PHP:

#include <stdio.h>

#include <conio.h>

// func declaration

void matrix( int n );

// main()

int main(void)

{

int n;

// input until it's valid.

do

{

printf("\n Plz input size of matrix [ odd size & n < 20 ]: n = ");

scanf("%d",&n);

if ( n % 2 == 0 ) printf("\n Invalid input value .. Plz re-input ... \n");

}

while ( n % 2 == 0 );

if ( n > 20 ) { n = 19 ; // in case of n is greater than 20

printf("\n %d is greater than 20 & set to be default as 19 .",n ); } // end if

// call matrix()

matrix(n);

// stop to watch

getch();

return 0;

}

// function matrix(int n)

void matrix( int n )

{

int a[20][20];

int i, j, row, col, count = 1;

int old_row, old_col, sum = 0;

// set starting value of array

for ( i = 0 ; i < n ; i++ )

for ( j = 0 ; j < n ; j++ )

a[i][j] = 0;

// set the 1st value to start

row = 0; col = (n-1) / 2;

while ( count < n*n + 1 )

{

a[row][col] = count++ ; // set value for elements

old_row = row ; old_col = col; // save the last addresses

// define whether going out of array

row -= 1; if ( row == -1 ) row = n - 1;

col += 1; if ( col == n ) col = 0;

// in case of already having number

if ( a[row][col] != 0 )

{

row = old_row + 1;

col = old_col;

} // end if

} // end while

// print result

printf("\n");

for ( i = 0 ; i < n ; i++ )

{

for ( j = 0 ; j < n ; j++ )

printf("%4d",a[i][j]);

printf("\n");

} // end for

// calculate sum

for ( j = 0 ; j < n ; j++ )

sum += a[0][j];

printf("\n Sum of each row - column - diagonal line is : %d " , sum);

return;

}

Câu 33: Tổng 2 ma trận

Spoiler

PHP:

#include <iostream.h>

#include <conio.h>

#include <stdlib.h>

void congmt(float a[][10],float b[][10],float c[][10],int hang,int cot);

void nhapmt(float a[][10],int hang,int cot);

void inmt(float a[][10],int hang,int cot);

void main()

{

system("color 3e");

float a[10][10],b[10][10],c[10][10];

int hang1,cot1;

cout<<"Moi ban nhap vao ma tran a: \n";

cout<<"Nhap vao so hang cua ma tran a: ";

cin>>hang1;

cout<<"Nhap vao so cot cua ma tran a: ";

cin>>cot1;

nhapmt(a,hang1,cot1);

inmt(a,hang1,cot1);

int hang2,cot2;

cout<<"Moi ban nhap vao ma tran b: \n";

do

{

cout<<"Nhap vao so hang cua ma tran b: ";

cin>>hang2;

}while(hang2 != hang1);

do

{

cout<<"Nhap vao so cot cua ma tran b: ";

cin>>cot2;

}while(cot2 != cot1);

nhapmt(b,hang2,cot2);

inmt(b,hang2,cot2);

cout<<"\nVay tong cua hai ma tran a,b la: \n";

congmt(a,b,c,hang1,cot1);

inmt(c,hang1,cot1);

getch();

}

void congmt(float a[][10],float b[][10],float c[][10],int hang,int cot)

{

for (int i=0; i<hang; i++)

for (int j=0; j<cot; j++)

c[i][j] = a[i][j] + b[i][j];

}

void nhapmt(float a[][10],int hang,int cot)

{

for(int i = 0;i < hang;i++)

{

for(int j = 0; j < cot; j++)

{

cout<<"Nhap vao phan tu ["<<i<<";"<<j<<"]: ";

cin>>a[i][j];

}

}

}

void inmt(float a[][10],int hang,int cot)

{

for(int i = 0; i < hang; i++)

{

for(int j = 0; j < cot; j++)

{

cout<<a[i][j]<<"\t";

}

cout<<endl;

}

}

Câu 34: Tích 2 ma trận

Spoiler

PHP:

#include<conio.h>

#include<stdio.h>

#include<alloc.h>

void main()

{

int *a,*b,*c;

int m,n;

int i,j;

clrscr();

//Nhap so hang so cot

printf("Nhap vao m:");scanf("%d",&m);

printf("Nhap vao n:");scanf("%d",&n);

//Cap phat bo nho

a=(int*)calloc(m*n,sizeof(int));

b=(int*)calloc(m*n,sizeof(int));

c=(int*)calloc(m*n,sizeof(int));

// Nhap so lieu va tinh toan

for(i=1;i<=m;i++)

for(j=1;j<=n;j++)

{

printf("Nhap vao a[%d,%d]=",i,j);scanf("%d",&a[(i-1+j)+((i-1)*(n-1))]);

}

for(i=1;i<=m;i++)

for(j=1;j<=n;j++)

{

printf("Nhap vao b[%d,%d]=",i,j);scanf("%d",&b[(i-1+j)+((i-1)*(n-1))]);

c[(i-1+j)+((i-1)*(n-1))]=a[(i-1+j)+((i-1)*(n-1))]+b[(i-1+j)+((i-1)*(n-1))];

}

// xuat cac mang a,b,c ra man hinh

for(i=1;i<=m;i++)

for(j=1;j<=n;j++)

{

printf("\t%d",a[(i-1+j)+((i-1)*(n-1))]);

if(j==n)printf("\n");

}

printf("\n===========\n");

for(i=1;i<=m;i++)

for(j=1;j<=n;j++)

{

printf("\t%d",b[(i-1+j)+((i-1)*(n-1))]);

if(j==n)printf("\n");

}

printf("\n===========\n");

for(i=1;i<=m;i++)

for(j=1;j<=n;j++)

{

printf("\t%d",c[(i-1+j)+((i-1)*(n-1))]);

if(j==n)printf("\n");

}

getch();

}

Câu 35: Kiểm tra xem ma trận B có là con của ma trận A không?

Spoiler

PHP:

#include<stdio.h>

#include<conio.h>

#define N 2

#define M 5

void search(int b[N][N],int a[M][M])

{

int i,j,k,l,m,x,y,dem,demx,demy;

int timthay=1;

for(k=0;k<=M-N;++k)

{

for(l=0;l<=M-N;++l)

{

dem=demx=demy=0;

x=l;y=k;

for(i=0;i<N;++i)

{

for(j=0;j<N;++j)

{

if(b[i][j]==a[y][x])dem++;

++x;++demx;

if(demx==N){demx=0;x=l;}

}

++y;++demy;

if(demy==N){demy=0;y=k;}

}

if(dem==N*N)break;

}

if(dem==N*N)break;

}

if(dem!=N*N)timthay=0;

if(timthay==0)printf("\nKo tim thay");

else printf("\nTim thay");

}

void main()

{

clrscr();

int a[M][M]={ 1, 2, 3, 4, 5,

6, 7, 8, 9,10,

11,12,13,14,15,

16,17,18,19,20,

21,22,23,24,25};

int b[N][N]={4, 5,

9,10};

search(b,a);

getch();

}

Phép chia 2 số nguyên lớn

:facebook4:

ở đây mình làm bằng mảng cho đơn giản

nhưng bù lại thì sẽ tốn bộ nhớ, làm với số âm dc nhưng phức tạp và chỉ chia lấy phần dư

đây là code

2 số nguyên lớn bạn chỉ cần nhập vào số chữ số còn lại con số là ngẫu nhiên

muốn kết quả đẹp hơn thì sử dụng hàm "xoa0"

:think: thời gian ở đây sẽ RẤT LÂU nhưng bù lại dc cái đơn giản
Topics tagged under define on Diễn Đàn Chia Sẻ V

[AH]

Mã:

#include<stdio.h>

#include<time.h>

#include<stdlib.h>

#include<conio.h>

#define MAX 90000

void test(int a[], int max)

{

printf("\n");

for ( int i = 0 ; i <= max ; i ++)

printf("%d ",a[i]);

}

void xoa0(int a[], int &m , int max)

{

m = max;

while(a[0] == 0)

{

for (int j = 0 ; j < m ; j ++)

a[j]=a[j+1];

m--;

}

}

int sosanh ( int a[], int b[] , int m)

{

int dem=0;

for (int i = 0 ; i <= m ; i++)

{

if(a[i]>b[i])

return 0;

if(a[i]<b[i])

return -1;

if(a[i]==b[i])

dem++;

}

if (dem == m+1)

return 1;

}

void tinhtoantru(int a[], int n, int b[], int m, int max1, int c[])

{

int c2[MAX];

for( int i = max1 ; i >= 1 ; i --)

c2[i]=b[i];

for( int i = max1 ; i >= 1 ; i --)

{

if (a[i] < b[i])

{

a[i] = a[i]+10;

c2[i-1]=c2[i-1]+1;

}

c[i]= a[i]-c2[i];

}

}

void chia1(int a[], int n, int b[], int m , int max1)

{

int dem=0;

int c1[MAX];

while (sosanh(a,b,max1) != -1)

{

tinhtoantru(a,n,b,m,max1,c1);

for ( int i = 0 ; i <= max1 ; i ++)

a[i] = c1[i];

dem++;

}

printf("\kq phep chia la %d",dem);

printf("\n");

printf("du la: ");

for ( int i = 0 ; i <= max1 ; i ++)

printf("%d ",a[i]);

}

int main()

{

int m,n,max1;

int a[MAX],b[MAX],c[MAX];

scanf("%d %d",&n,&m);

if( m > n)

max1 = m;

else max1 = n;

srand((int)time(NULL));

for ( int i = max1-n+1 ; i <= max1 ; i ++)

a[i] = rand()%9+1;

for ( int i = max1-m+1 ; i <= max1 ; i ++)

b[i] = rand()%9+1;

test(a,max1);

test(b,max1);

// xoa0(a,n,max1);

// xoa0(b,m,max1);

printf("\n\n");

chia1(a,n,b,m,max1);

char *_="%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c";

int __=3**_+5;

printf("\n\n\t\t\t\t");

printf(_,__+59,__-32,__-19,__-4,__-21,__-40,__+17,__-7,__-21,__-44,__-19,__-17,__-9,__-15,__-2,__+58);

getch();

}

[/AH]