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

Tính số PI dựa vào phương pháp xác xuất thống kê

các bước

1, tạo random số từ 0-1, cho vào 2 mảng X,Y, tất cả các điểm này thuộc hình vuông đơn vị

2, so sánh xem cặp tọa độ trong X,Y có thuộc hình tròn đơn vị hay k

3, pi = 4* ( số điểm thuộc hình tròn / số điểm thuộc hình vuông)

có thể bỏ qua bước tạo mảng, khi vừa có 1 cặp số thì ta sẽ so sánh ngay nó thuộc hình tròn k, như thế sẽ tiết kiệm bộ nhớ

code

Mã:

#include<stdio.h>

#include<ctime>

#include<stdlib.h>

#include<math.h>

void taotoado(int n,float X[],float Y[])

{

srand(time(NULL));

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

{

X[i] = (float)rand()/(float)RAND_MAX;

Y[i] = (float)rand()/(float)RAND_MAX;

}

}

int thuochinhtron(int n,float X[],float Y[])

{

int sodiem=0;

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

{

if ( sqrt ( pow( (X[i]-0.5),2 ) + pow( (Y[i]-0.5),2 ) ) <= (0.5))

sodiem = sodiem+1;

}

return sodiem;

}

int main()

{

long int n,sodiem;

float X[100000],Y[100000],pi;

scanf("%d",&n);

taotoado(n,X,Y);

pi = (float)4*((float)thuochinhtron(n,X,Y)/(float)n);

printf("pi = %f",pi);

}

số điểm n càng cao thì pi càng chính xác khoản trên 50k
Topics tagged under include on Diễn Đàn Chia Sẻ YH5BAEAAAAALAAAAAABAAEAAAIBRAA7

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 include 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 include on Diễn Đàn Chia Sẻ V

Bài tập C nhập số nguyên dương n hãy cho biết chứ số lớn nhất và chữ số nhỏ nhất.

/em mới tìm được chữ số lớn nhất ạ chữ số nhỏ nhất em ko hiểu sao chạy ctrinh n toàn ra số 1 ak @@ giúp em với @@/

#include"stdio.h"

#include"conio.h"

#include"math.h"

main()

{

int k,n,max=n%10,min=n%10;

printf("Nhap n = ");

scanf("%d",&n);

while(n>0)

{

k=n%10;

printf("%d\n",k);

n=n/10;

if(k>max)

{

max=k;

}

}

printf("\nChu so lon nhat la : %d",max);

while(n>0)

{

k=n%10;

n=n/10;

if(min>k)

{

min=k;

}

}

printf("\nchu so be nhat la :%d",min);

getch();

}

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();

}

Ai giúp mình code bài này với

<mình muốn hiện thêm dòng dãy khóa đầu với lại dòng dãy khóa sau khi sắp xếp vào. Ai biết giúp mình với>

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

#include <dos.h>

#include <string.h>

#include <math.h>

typedef struct node{

int infor;

struct node *next;

} *NODEPTR;

void Init(NODEPTR *plist){

*plist = NULL;

}

int IsEmpty(NODEPTR *plist){

if (*plist == NULL)

return 1;

return 0;

}

NODEPTR Getnode(void){

NODEPTR p;

p = (NODEPTR)malloc(sizeof(struct node));

return(p);

}

void Inserttop(NODEPTR *plist, int x){

NODEPTR p;

p = Getnode();

p->infor = x;

if (IsEmpty(plist) == 1){

p->next = NULL;

*plist = p;

return;

}

p->next = *plist;

*plist = p;

}

void Input(NODEPTR *plist)

{

int n, x, i;

printf("Nhap so pt cua ds: \t");

scanf("%d", &n);

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

{

printf("Nhap gia tri: \t");

scanf("%d", &x);

Inserttop(plist, x);

}

}

void Freenode(NODEPTR p){

free(p);

}

void output(NODEPTR plist)

{

NODEPTR p;

p = plist;

if (IsEmpty(&plist) == 1)

{

printf("\n Danh sach rong");

return;

}

while (p != NULL)

{

printf("\n%-5d % -20s", p->infor);

p = p->next;

}

Freenode(p);

}

//

void Sortnode(NODEPTR *plist){

NODEPTR p, q; int temp;

for (p = *plist; p != NULL; p = p->next){

for (q = p->next; q != NULL; q = q->next){

if (p->infor>q->infor){

temp = p->infor; p->infor = q->infor;

q->infor = temp;

}

}

}

printf("\n Danh sach duoc sap xep");

for (p = *plist; p != NULL; p = p->next)

{

printf("\n%-5d % -20s", p->infor);

}

Freenode(p);

}

int main(){

NODEPTR plist;

Init(&plist);

Input(&plist);

output(plist);

Sortnode(&plist);

getch();

return 0;

}

Giúp sửa lỗi bài tập C: sắp xếp tên theo thứ tự ABC

bài toán: nhap vào danh sách tên các học sinh của một lớp, với số học sinh n <= 10 nhap tu ban phím

1. sắp xếp theo thứ tự ABC.

2. đưa danh sách đã sắp xếp ra màn hình.

#include <stdio.h>

#include <conio.h>

#include <string.h>

main()

{

int i, j, n;

char dslop[10][30], x[30];

printf("nhap so hoc sinh");

scanf("%d", &n);

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

{

printf("%d ", i + 1);

fflush(stdin);

gets(dslop);

printf("\n");

}

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

{

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

{

if( strcmp(dslop, dslop[j]) > 0)

{

strcpy(x, dslop);

strcpy(dslop[j], dslop);

strcpy(dslop[j], x);

}

}}

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

{

printf("%s\n", dslop);

}

getch();

}

Giúp mình bài tập C dùng lệnh getchar này với

#include <stdio.h>

int main()

{

char c;

char ten[20];

printf("Nhap ten, nhan ENTER de ket thuc\n");

int i = 0;

do {

c=getchar();

ten = c;

i++;

} while (c != "\n");

printf("xin chao %s\n", ten);

return 0;

}

Mình ấn Run và nhập chữ xong ấn Enter mà nó không chạy hiển thị kết quả là sao ạ? Thanks

Bài tập code?

Mã:

#include <stdio.h>

int main()

{

char ten[10];

int tuoi;

float tien;

char ky_tu;

printf("Nhap vao ten, tuoi, so tien dang co, ky tu bat ky.\n");

scanf ("%s", ten);

scanf("%d %f %c", &tuoi, &tien, &ky_tu);

printf("%s %d $%.2f %c\n", ten, tuoi, tien, ky_tu);

return 0;

}

Cùng thuộc tính char sao dấu & chỉ đặt trước cái ky_tu mà không có ở chỗ ''ten''. Ai cho em quy ước về cái này với ạ ?

Code sai ở đâu?

Mã:

#include <stdio.h>int main(void)

{

char string[]="Day la vi du\n";

putchar(65);

puts (string);

return 0;

}

Nhập y trong sách mà nó toàn lỗi là sao nhỉ
Topics tagged under include on Diễn Đàn Chia Sẻ YH5BAEAAAAALAAAAAABAAEAAAIBRAA7
Help me please !

Tin11C++ Viết chương trình nhập vào bàn phím xâu kí tự không quá 100. Cho biết trong xâu có bn số

Viết chương trình nhập vào bàn phím một xâu kí tự không quá 100. Hãy cho biết trong xâu có bao nhiêu số.

#include<bits/stdc++.. h>

Using namespace std;

Int main ()

{

Int dem= 0, d =0;

String S;

For (int i = S. Length () -1;i >=0; i--)

If (S [ i] >=0 && S[ i] <=9)

{Dem =dem +1}

Cout << "so luong so trong xau la" << d;

Return 0;

}

Demo Dữ Liệu Cấu Trúc trong C Quản lý đội bóng

VD 1 : Đê quản lí các cầu thủ của một đội bóng , dùng kiểu bản ghi gồm các trường : HT ( Họ Tên ) , SBT ( Số bàn thắng ) , SP : số phút , T : Tiền thưởng . Thực Hiện yêu cầu :

1 . Nhập HT, SBT , SP của n cầu thủ .

2 . Tính tiền thưởng ( T ) của từng cầu thủ biết rằng nếu thi đấu từ 500 phút trở lên hoặc ghi 3 bàn trở lên thì được thưởng 3 triệu . Nếu đạt cả 2 điều kiện thì được thưởng 5 triệu . Nếu không đạt điều kiện nào không được thưởng .

In danh sách cầu tủ với đầy đủ 4 trường .

3 . In các thông tin của các cầu thủ có tiền thưởng cao nhất .

---------------------------------------- BÀI GIẢI ------------------------------------------------

#include<stdio.h>

#include<conio.h>

#include<conio.h>

#include<stdlib.h>

#include<ctype.h>

// Khai bao cac truong trong cau truc //

struct CauThu

{

char HT[30];

int SBT , SP , T ;

};

void Nhap1(CauThu &a)

{

fflush(stdin);

printf("\n Nhap vao Ho Ten : ");

gets(a.HT);

printf("\n Nhap so ban thang : ");

scanf("%d",&a.SBT);

printf("\n Nhap so phut thi dau : ");

scanf("%d",&a.SP);

}

void Nhapdanhsachcauthu(CauThu a[],int n)

{

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

{

printf("\n\n \t\t\t NHAP THONG TIN CAU THU THU %d \n ",i);

Nhap1(a);

}

}

void Xuli_YC(CauThu a[] , int n )

{

int i ;

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

{

if(a.SP>= 500 && a.SBT >= 3)

{

a.T = 5000000 ;

}

else if(a.SP>=500 ||a.SBT >= 3)

{

a.T = 3000000;

}

else

a.T = 0 ;

}

printf("\n\t\t\t DANH SACH THONG TIN CAU THU \n ");

printf("\n STT || Ho & Ten || So Ban Thang || So Phut TD || Tien Thuong \n ");

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

{

printf("\n\n%d %30s %5d %5d %15d ",i ,a.HT ,a.SBT,a.SP,a.T);

}

// In thong tin cau thu co tien thuong cao nhat doi //

int Max = a[0].T ;

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

{

if( a.T > Max )

{

Max = a.T ;

}

}

printf("\n\n \t\t DS THONG TIN CAU THU CO TIEN THUONG CAO NHAT \n ");

printf("\n STT || Ho & Ten || SBT || So phut TD || Tien thuong ");

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

{

if( a.T == Max)

{

printf("\n\n %d %30s %5d %5d % 15d ",i , a.HT,a.SBT,a.SP,a.T) ;

}

}

}

int main()

{

int n ;

printf("\n Nhap so cau thu n = ");

scanf("%d",&n);

CauThu a[100];

Nhapdanhsachcauthu(a,n);

Xuli_YC(a,n);

getch();

}

Dữ liệu cấu trúc và Thao tác với tệp trong C _ Quản lí lương nhân viên

Đề Bài :

Cho tệp Văn bản chứa dữ liệu của n nhân viên . Mỗi nhân viên là một bản ghi gồm các trường : MaNV ( Mã nhân viên ) , HT ( Họ Tên ) , HS ( Hệ số lương ) , LCB ( Lương cơ bản ) và Luong ( Lương = Hệ số lương nhân Lương cơ bản ) . Tệp có cấu trúc như sau :

Dòng đầu chứa số nguyên n . Dòng thứ i+1 ( i = 2,3,4...) chứa Mã nhân viên , Học Tên , HS , LCB .

Hãy đọc danh sách n nhân viên từ tệp . Sau đó :

1 . In ra màn hình danh sách nhân viên gồm 5 trường theo số lương giảm dần .

2 . In 1 nhân viên có số lương cao nhất .

3 . Tìm kiếm nhân viên theo mã nhân viên ( nhập từ bàn phím ) .

4 . In danh sách nhân viên có số lương > 700000000 VND:V

--------------------------------------BG ------------------------------------------

Mã:

#include<stdio.h>#include<conio.h>

#include<string.h>

#include<stdlib.h>

typedef struct Luong;

int main()

fclose(f);

// Tinh luong NV , sap xep theo chieu giam dan //

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

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

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

}

printf("\n\t ----------- * CHUONG TRINH QUAN LI NHAN VIEN * -----------");

printf("\n\n\t\t\t DANH SACH LUONG NHAN VIEN \n ");

printf("\n STT || MA NV || Ho & Ten || HS luong || Luong CB || Luong ");

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

// In thong tin nhan vien co so luong cao nhat //

printf("\n\n Nhan vien co so luong cao nhat la : ");

printf("\n\n 1. %10s%20s %4.2f %15d %15d ",a[1].MaNV,a[1].HT,a[1].HS,a[1].LCB,a[1].Luong);

// Tim kiem 1 NV theo Ma Nhan Vien //

printf("\n\n Nhap Ma nhan vien can tim kiem : ");

fflush(stdin);

gets(Mnvtim);

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

}

if( i > n )

printf("\n\n Khong tim thay nhan vien tren ! ");

// In cac NV co so luong > 7000000 //

printf("\n\n Danh sach nhan vien co so luong > 7 tr la : ");

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

}

=> Kết Quả CT :

Topics tagged under include on Diễn Đàn Chia Sẻ Vl4kdL7

Hỏi về hàm getch() và return() trong C

ở đây mình có 2 ví dụ

[AH]

Mã:

#include<stdio.h>

#include<conio.h>

#include<string.h>

int main()

{

int i, j, dem = 0;

char s[100];

printf("\n Nhap chuoi: ");

gets(s);

for(i=0,j=strlen(s)-1; i<j; i++, j--)

{

if(s[i]!=s[j])

{

printf("\n khong doi xung");

getch();

return 0;

}

else

{

dem++;

}

}

printf("\n co doi xung");

printf("\n So chhu giong nhau trong chuoi: %d", dem);

return 0;

}

[/AH]

[AH]

Mã:

#include<stdio.h>

#include<conio.h>

#include<string.h>

int main()

{

int i, j, dem = 0;

char s[100];

printf("\n Nhap chuoi: ");

gets(s);

for(i=0,j=strlen(s)-1; i<j; i++, j--)

{

if(s[i]!=s[j])

{

printf("\n khong doi xung");

//getch();

//return 0;

}

else

{

dem++;

}

}

printf("\n co doi xung");

printf("\n So chhu giong nhau trong chuoi: %d", dem);

return 0;

}

[/AH]

khác nhau ở dòng 16 và 17

mấy pro cho mình hỏi là tại sao khi có

Mã:

getch();

return 0;

thì chương trình tới đây là dừng k chạy 2 lệnh

Mã:

printf("\n co doi xung");

printf("\n So chhu giong nhau trong chuoi: %d", dem);

, k có

Mã:

getch()

hoặc

Mã:

return 0

vẫn dừng

còn nếu thiếu cả 2 lệnh trên thì chương trình chạy tuần tự xong vẫn chạy 2 câu lệnh

Mã:

printf("\n co doi xung");

printf("\n So chhu giong nhau trong chuoi: %d", dem);

Vậy tác dụng của cặp lệnh

Mã:

getch();

return 0;

là gì mong mấy a đi trước chỉ dạy

Giải bài toán "Con rắn" lớp 3 bằng C

Topics tagged under include on Diễn Đàn Chia Sẻ 36AQvp9

các số k giống nhau

code trên C

[AH]

#include<stdio.h>

int main()

}

Nhấn để mở rộng...

[/AH]

4 Code C Sắp Xếp Đơn Giản: Chèn, Chọn, Đổi chỗ, nổi bọt

4 code sắp xếp đơn giản

gồm:

Chọn trực tiếp

Chèn trực tiếp

Đổi chổ trực tiếp

và Nổi bọt

Ưu điểm: code đơn giản, làm việc nhanh với số phần tử nhỏ

Nhược: thời gian chạy lâu với số phần tử lớn

Code

[AH]

Mã:

#include<stdio.h>

void hoanvi(int &a, int &b);

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

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

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

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

int main()

{

int a[]={84,32,13,64,1,55,48};

int n = 7;

// sortchontructiep(a,n);

// sortchentructiep(a,n);

// sortdoichotructiep(a,n);

// sortnoibot(a,n);

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

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

}

void sortchontructiep(int a[],int n)

{

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

{

int min = i;

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

if(a[min]>a[j])

min = j;

hoanvi(a[i],a[min]);

}

}

void sortchentructiep(int a[], int n)

{

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

{

int tmp = i-1;

int tmp1 = a[i];

while( tmp >= 0 && a[tmp] > tmp1)

{

a[tmp+1] = a[tmp];

tmp--;

}

a[tmp+1]= tmp1;

}

}

void sortdoichotructiep(int a[], int n)

{

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

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

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

hoanvi(a[i],a[j]);

}

void sortnoibot(int a[], int n)

{

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

for ( int j = n-1 ; j > i ; j --)

if( a[j] < a[j-1])

hoanvi(a[j],a[j-1]);

}

void hoanvi(int &a, int &b)

{

int tmp;

tmp = a ;

a = b ;

b = tmp;

}

[/AH]

Quản lý sinh viên đơn giản

Đề bài

[AH]

Mã:

- Khai báo kiểu dữ liệu về sinh viên trong lớp: Họ tên SV, MSSV, Điểm Giữa kỳ, Thường kỳ, Thi Cuối kỳ, Xếp loại.

- Nhập liệu lớp n sinh viên, trong đó chưa có cột cuối kỳ.

- Đưa ra danh sách thí sinh được dự thi cuối kỳ (Giữa Kỳ >= 3).

- Nhập dữ liệu kết quả thi kết thúc môn.

- Đưa ra danh sách đậu và học lại, xếp loại tương ứng.

- Liệt kê thông tin 5 sinh viên được khen thưởng

- thực hiện việc thống kê % sinh viên giỏi, khá, TB, số lượng sv bị cấm thi và thi rớt.

- Sắp xếp Kq của môn học theo thứ tự giảm dần.

[/AH]

Code

[AH]

Mã:

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

#include<string.h>

struct SinhVien

{

char Ten[30];

char MSSV[5];

float dGK,dTK,dCK;

char XepLoai[15];

};

void TaoDSSV(SinhVien a[], int n)

{

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

{

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

a[i].Ten[j] = 65 + rand()%25; // random ngay nhien ku ty vao ten

a[i].Ten[11] = 0;

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

a[i].MSSV[j] = 65 + rand()%25;// random ngay nhien ku ty vao mssv

a[i].MSSV[5] = 0; // ky tu cuoi cung cua chuoi

a[i].dTK = rand() % 10;

a[i].dGK = rand() % 10;

}

}

void XuatDSSV(SinhVien a[], int n)

{

printf("\n--------------------DS sinh vien-------------------\n");

printf("\n%5s | %10s %8s %5s","MSSV","Ho Va Ten","Diem TK", "Diem GK");

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

printf("\n%-5s | %s %4.2f %4.2f",a[i].MSSV,a[i].Ten,a[i].dTK, a[i].dGK);

// xuat thong tin sinh vien

}

void XuatDSDT(SinhVien a[], int n)

{

printf("\n----------------DS duoc thi cuoi ky----------------\n");

printf("\n%5s | %10s %8s %5s","MSSV","Ho Va Ten","Diem TK", "Diem GK");

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

{

if( a[i].dGK >= 3)

printf("\n%-5s | %s %4.2f %4.2f",a[i].MSSV,a[i].Ten,a[i].dTK, a[i].dGK);

}

}

void NhapDCK(SinhVien a[], int n)

{

// printf("\n----------------NHAP DIEM CUOI KY----------------\n");

// printf("\n%5s | %10s %8s %5s %8s","MSSV","Ho Va Ten","Diem TK", "Diem GK","Diem CK");

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

{

// if( a[i].dGK >= 3)

// {

// printf("\n%-5s | %s %4.2f %4.2f ",a[i].MSSV,a[i].Ten,a[i].dTK, a[i].dGK);

// scanf("%f",&a[i].dCK);

// }

/// khuc o tren tu nhap diem cuoi ky = tay, xuat ra day sach roi nhap nhu bang diem cua gv

if( a[i].dGK >= 3)

a[i].dCK = rand() % 10;

// gan ngau nhien gia tri diem cuoi ky luon

// 2 cai tieu de o tren la nhap = tay

}

}

void XuatKQ(SinhVien a[], int n)

{

printf("\n------------------KQ Sau khi ket thuc mon hoc------------------\n");

printf("\n%5s | %10s %8s %5s %8s %7s %9s","MSSV","Ho Va Ten","Diem TK", "Diem GK","Diem CK","Ket Qua","Xep Loai");

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

{

if(a[i].dGK < 3)

{

printf("\n%-5s | %s %4.2f %4.2f %4d %5s",a[i].MSSV,a[i].Ten,a[i].dTK,a[i].dGK, 0,"Rot");

}

float dtb = (a[i].dTK*2+a[i].dGK*3+a[i].dCK*5)/10;

if(a[i].dGK >= 3 && dtb < 4)

printf("\n%-5s | %s %4.2f %4.2f %4.2f %5s",a[i].MSSV,a[i].Ten,a[i].dTK,a[i].dGK, a[i].dCK,"Rot");

if(a[i].dGK >= 3 && dtb >= 4)

{

if(dtb < 5)

strcpy(a[i].XepLoai,"Yeu");

if(dtb >= 5 && dtb < 6.5 )

strcpy(a[i].XepLoai,"Trung Binh");

if(dtb >= 6.5 && dtb < Cool

strcpy(a[i].XepLoai,"Kha");

if(dtb >= 8 )

strcpy(a[i].XepLoai,"Gioi");

printf("\n%-5s | %s %4.2f %4.2f %4.2f %5s\t%s",a[i].MSSV,a[i].Ten,a[i].dTK,a[i].dGK, a[i].dCK,"Dau",a[i].XepLoai);

}

}

}

int check(int a[], int spt, int GT)

{

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

if(a[i] == GT)

return 0;

return 1;

}

void Xuat1SV(SinhVien a)

{

printf("\n%-5s | %s %4.2f %4.2f %4.2f %5s\t%s",a.MSSV,a.Ten,a.dTK,a.dGK, a.dCK,"Dau",a.XepLoai);

}

void XuatSVDK(SinhVien a[], int n)

{

int dem = 0;

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

{

if(a[i].dGK >= 3)

{

if((a[0].dTK*2+a[0].dGK*3+a[0].dCK*5)/10 >= 4 )

dem++;

}

}

if(dem ==0)

{

printf("\n-------------------Khong co sv nao dc khen----------------------\n");

return ;

}

printf("\n-----------------------DS SV dc khen thuong --------------------\n");

printf("\n%5s | %10s %8s %5s %8s %7s %9s","MSSV","Ho Va Ten","Diem TK", "Diem GK","Diem CK","Ket Qua","Xep Loai");

if(dem != 5)

{

if(dem > 5)

dem = 5;

int b[5],spt=0;

while(dem != 0)

{

float dtb = (a[0].dTK*2+a[0].dGK*3+a[0].dCK*5)/10;

float max = dtb;

SinhVien tmp;

int tmp1;

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

{

if(a[i].dGK < 3)

continue;

dtb = (a[i].dTK*2+a[i].dGK*3+a[i].dCK*5)/10;

if(max <= dtb && check(b,spt,i)==1)

{

max = dtb;

tmp = a[i];

tmp1 = i;

}

}

b[spt] = tmp1;

spt++;

dem--;

Xuat1SV(tmp);

}

}

}

void ThongKe(SinhVien a[], int n)

{

int demG = 0,demK=0,demTB=0,demCT=0,demTR=0;

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

{

if(a[i].dGK >= 3)

{

float dtb = (a[i].dTK*2+a[i].dGK*3+a[i].dCK*5)/10;

if(dtb < 4 )

demTR++;

if(dtb >= Cool

demG++;

if(dtb<8 && dtb >=6.5)

demK++;

if(dtb>5 && dtb < 6.5)

demTB++;

}

if(a[i].dGK < 3)

demCT++;

}

printf("\nPhan tram so sv bi cam thi la: %.3f \n",(float)(100*demCT/n));

printf("Phan tram so sv thi rot la: %.3f \n",(float)(100*demTR/n));

printf("Phan tram so sv xep loai trung binh la: %.3f \n",(float)(100*demTB/n));

printf("Phan tram so sv xep loai kha la: %.3f \n",(float)(100*demK/n));

printf("Phan tram so sv xep loai gioi la: %.3f \n",(float)(100*demG/n));

}

void SapXep(SinhVien a[], int n)

{

int dem =1;

int n1 = n;

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

if(a[i].dGK < 3)

{

SinhVien tmp = a[i];

a[i] = a[n-dem];

a[n-dem] = tmp;

dem++;

i--;

n1--;

}

// dua het nhung dua nao bi cam thi ra sau cung;

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

{

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

{

if((a[i].dTK*2+a[i].dGK*3+a[i].dCK*5) < (a[j].dTK*2+a[j].dGK*3+a[j].dCK*5))

{

SinhVien tmp = a[j];

a[j] = a[i];

a[i] = tmp;

}

}

}

printf("\n========================DA XEP XONG===========================");

// li do tai sao phai xep nhung dua bi cam thi ra dang sau//

// nhung dua bi cam thi thi k co diem cuoi ki

// nen k tinh dc diem trung binh

// o day co the cho dua nao cam thi co diem cuoi ky la 0 nhung nhu the thi don gian qua

}

int menu()

{

printf("\n+++++++++++++++++++++++CHON DI++++++++++++++++++++++++++++++\n");

printf("1.Tao danh sach sinh vien \n");

printf("2.Xem nhung sinh vien duoc thi cuoi ki\n");

printf("3.Nhap diem thi cuoi ki\n");

printf("4.Xem ket qua cua mon hoc\n");

printf("5.Xem ds sinhvien duoc khen htuong\n");

printf("6.Thong ke danh sach\n");

printf("7.Sap Xep\n");

printf("-------------------------0.THOAT-----------------------------\n");

int n;

scanf("%d",&n);

return n;

}

int main()

{

int n ;

scanf("%d",&n);

SinhVien a[n];

srand(time(NULL));

int chon;

do

{

chon = menu();

switch(chon)

{

case 1:

TaoDSSV(a,n);

printf("\nDa Tao Xong\n");

break;

case 2:

XuatDSDT(a,n);

break;

case 3:

NhapDCK(a,n);

printf("\nDa Nhap tu dong xong\n");

break;

case 4:

XuatKQ(a,n);

break;

case 5:

XuatSVDK(a,n);

break;

case 6:

ThongKe(a,n);

break;

case 7:

SapXep(a,n);

break;

case 0:

printf("+++++++++++++++++++++++++++Thoat+++++++++++++++++++++++++++");

break;

default:

printf("chon sai roi ");

break;

}

}while(chon != 0);

printf("\n\n");

}

[/AH]

// Giải thích chút ý về code //

// qua môn thì có điểm trung bình lớp hơn hoặc bằng 4

// được thi cuối kỳ thì điểm giữa kỳ phải lớp hơn hoặc bằng 3

// điểm trung bình để xếp loại = thường ký * 2 + giữa kỳ * 3 + cưới kỳ * 5 tất cả chia 10

// mọi dữ liệu đề được tạo random( từ họ tên mã cho tới điểm) chỉ có số sinh viên là nhập tay

Chỉ giúp em cách sửa chỗ sai với ạ

#include<stdio.h>

#include<conio.h>

#include<math.h>

int main()

{

float A,B,C,x,f;

printf("\n nhap x= ");

scanf("%f%f%f%f%f",&A&B&C&x&f);

f=A*sin(3*x)+B*cos(3*x)+C;

A=pow(log(2*sin(2*x)+22),2)+x;

B=cos(5*x);

C=A+B;

printf("\n gia tri cua f= ");

getch();

return 0;

}

nó báo sai chỗ &A&B&C&x&f

Tán gái bằng C++

Để chạy được chương trình này bạn cần một phần mềm để có thể viết được code c++ (google)

Còn đây là code
Topics tagged under include on Diễn Đàn Chia Sẻ Troll

Mã:

/* Kế hoạch kiếm bạn gái */

#include

#include

# define Cô bé xinh xắn

main ( )

{

đi học;

scanf("100%", &các em);

if (em= = Xinh)

line + +;

while (! phản hồi)

{

printf ("Anh yêu Em");

scanf("100%", &phản hồi);

}

if(phản hồi = = "Lesbian đây")

main( ); /* trở về và lặp lại quá trình */

else(phản hồi = = "Đi shopping nhé anh")

exit(1);

else if(phản hồi = = "Ứ... ừ")

{

người yêu = = Xinh;

tình yêu = = (có trái tim *)malloc(vẻ ngoài quyến rũ(người yêu));

}

đi nhà hàng;

nhà hàng:

{

đồ ăn + +;

cười đùa + +;

trả -> tiền = người yêu -> tiền;

trở lại (trường);

if (thời gian = = 2.30)

đi rạp phim;

rạp phim:

{

xem + +;

if(thời gian nghỉ)

{

nước ngọt + +;

bim bim;

}

}

if(thời gian = = 6.30)

đi công viên;

}

}

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 include on Diễn Đàn Chia Sẻ YH5BAEAAAAALAAAAAABAAEAAAIBRAA7
ebug error !

Thanks pro trước :yy73:

C++: Nhập vào 2 số nguyên a, b. Tính tổng hiệu tích thương và in kết quả ra màn hình

Bài tập C yêu cầu Viết chương trình nhập vào 2 số nguyên a, b. Tính tổng, hiệu, tích, thương của 2 số trên và in kết quả ra màn hình.

Đây là dạng bài tập nhập --> xử lý --> xuất cơ bản nhất trong C++ với 2 hàm cin và cout các bạn có thể tham khảo lời giải dưới đây. Cần lưu ý khi xử lý tính toán hoặc dùng các hàm về toán học các bạn cần include thư viện math.h để đẩy đủ.

Mã:

#include <iostream.h>

#include <stdio.h>

#include <conio.h>

#include <math.h>

int main()

{

int a,b;

float tong,hieu,tich,thuong;

cout<<"Nhap a="<<"\n";

cin>>a;

cout<<"Nhap b="<<"\n";

cin>>b;

tong=a+b;

hieu=a-b;

tich=a*b;

thuong=a/b;

cout<<"tong= "<<tong<<"\n";

cout<<"hieu= "<<hieu<<"\n";

cout<<"tich= "<<tich<<"\n";

cout<<"thuong= "<<thuong<<"\n";

return 0;

}

C++: Viết chương trình Nhập vào hai số nguyên a, b. In ra màn hình giá trị lớn nhất

Bài tập C++ yêu cầu viết 1 chương trình Nhập vào hai số nguyên a, b. In ra màn hình giá trị lớn nhất

Đây là dạng bài tập nhập xuất cơ bản kết hợp thêm hàm if để xử lý so sánh giá trị trước khi xuất ra màn hình đúng theo yêu cầu

Lời giải tham khảo

Mã:

#include <iostream.h>

#include <stdio.h>

#include <conio.h>

#include <math.h>

int main()

{

int a,b;

cout<<"nhap a="<<"\n";

cin>>a;

cout<<"nhap b="<<"\n";

cin>>b;

if(a>b)

cout<<"a la so lon nhat";

else

cout<<"b la so lon nhat";

return 0;

}

C++: Viết chương trình nhập 3 số a b c từ bàn phím. Tìm giá trị lớn nhất và in ra kết quả

Bài tập lập trình C++ cơ bản Cho ba số a, b, c đọc vào từ bàn phím. Hãy tìm giá trị lớn nhất của ba số trên và in ra kết quả

Bạn chỉ việc sử dụng hàm nhập xuất cơ bản của C++ cin và cout. Cũng có rất nhiều cách giải khác nhau nhưng đơn giản có thể dùng hàm if so sánh và xuất luôn ra kết quả không phải dùng biến phụ

Mã:

#include <stdio.h>

#include <conio.h>

void main()

{

float a,b,c,max;

printf("\n Nhap a,b,c:");

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

max=a;

if (max<b) max=b;

if (max<c) max=c;

printf("\n Max=%f",max);

getch();

}

C++: Nhập vào 3 số a b c. In ra màn hình thứ tự tăng dần các số

Bài tập C++ viết chương trình nhập vào ba số a, b, c đọc vào từ bàn phím. Hãy in ra màn hình theo thứ tự tăng dần các số. (Chỉ được dùng thêm biến phụ

Các bạn có thể tham khảo hướng dãn dưới đây dùng 1 biến phụ để hoán đổi giá trị các số để có thể in lần lượt theo thứ tự a là số nhỏ nhất, sau đó tới b và c là số lớn nhất

Mã:

#include <iostream.h>

#include <stdio.h>

#include <conio.h>

#include <math.h>

int main()

{

float a,b,c,tam;

cout<<"nhap a="<<"\n";

cin>>a;

cout<<"nhap b="<<"\n";

cin>>b;

cout<<"nhap c="<<"\n";

cin>>c;

if(a>b)

{

tam=a;

a=b;

b=tam;

}

if(a>c)

{

tam=a;

a=c;

c=tam;

}

if(b>c)

{

tam=b;

b=c;

c=tam;

}

cout<<"so thu tu tang dan: "<<a<<" "<<b<<" "<<c<<"\n";

}

Bài tập C++: Viết chương trình giải phương trình bậc 1: ax + b = 0 nhập 2 số a b từ bàn phím

Bài tập môn học lập trình C++: Viết chương trình giải phương trình bậc nhất 1: ax + b = 0 nhập 2 số a b từ bàn phím

Bài tập giải phương trình bậc 1, bậc 2 có lẽ đã trở thành "huyền thoại" mà bất kỳ sinh viên CNTT Nào cũng gặp qua trong môn lập trình cơ bản khi học C, C++ hoặc học sơ đồ khối. Với phương trình bậc nhất thì chúng ta chỉ cần lưu ý khi a =0 và a khác 0 để xử lý các trường hợp

Mã:

#include <iostream.h>

#include <stdio.h>

#include <conio.h>

#include <math.h>

int main()

{

float a,b,x;

cout<<"nhap so a"<<"\n";

cin>>a;

cout<<"nhap so b"<<"\n";

cin>>b;

x=(-b/a);

if(a==0)

{

if(b==0)

cout<<"phuong trinh co vo so nghiem";

else

cout<<"phuong trinh vo nghiem";

}

else

cout<<"phuong trinh co nghiem x= "<<x<<" ";

}

Bài tập C: Viết chương trình giải phương trình bậc 2: ax^2 + bx +c =0

Bài tập lập trình C: viết chương trình nhâp ào a b c Giải phương trình bậc 2: ax^2 + bx +c =0

Đây cũng là 1 trong những bài tập hay gặp nhất trong các chương trình học lập trình cơ bản, phương trình bậc 2 cơ bản cũng có nhiều cách giải. Trong đó có cả cách giải khi có nghiệm số phức dài hơn. Tuy nhiên ở bài này hướng dẫn giải viết bằng ngôn ngữ C xử lý cơ bản nhất trước tiên xet 1 = 0 để đưa về cách giải phương trình bậc nhất. Tiếp đó xét phương trình khi a khác 0 lúc đó sẽ tính delta và suy ra kết quả dựa vào 3 trường hợp của delta

'

Lời giải tham khảo

Mã:

#include <stdio.h>

#include <conio.h>

#include <math.h>

void main()

{

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

printf("Phuong trinh bac 2 co dang ax^2 + bx + c = 0. Nhap a :");

scanf("%f",&a);

printf("Nhap b :");

scanf("%f",&b);

printf("Nhap c :");

scanf("%f",&c);

if (a==0)

{

if (b==0)

{

if (c==0) printf("Phuong trinh vo so nghiem");

else printf("Phuong trinh vo nghiem");

}

else

{

x1=-b/c;

printf("Phuong trinh co 1 nghiem:%f",x1);

}

}

else

{

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

if (delta<0) printf("Phuong trinh vo nghiem");

if (delta==0)

{

x1=-b/(2*a);

printf("Phuong trinh da nghiem kep:%f",x1);

}

if (delta>0)

{

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

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

printf("Phuong trinh co 2 nghiem phan biet");

printf("%f",x1);

printf("%f",x2);

}

}

}

Nếu muốn chuyển sang C++ các bạn đổi hàm printf và hàm scanf thành cout và cin

C++: Nhập vào giờ, phút, giây. Kiểm tra xem giờ, phút, giây đó có hợp lệ hay không in ra

Bài tập C viết chương trình Nhập vào giờ, phút, giây. Kiểm tra xem giờ, phút, giây đó có hợp lệ hay không? In kết quả ra màn hình

Đây là 1 dạng bài tập khá đơn giản để sử dụng hàm if kết hợp toán tử hoặc || thường được sử dụng nhiều trong thực ế sau này các bạn có thể tham khảo bài giải mẫu dưới đây. Tuy nhiên bài này làm gộp. Nếu có thể bạn sẽ phải if từng thông số và xuất ra màn hình giờ hay phút hay giây không hợp lệ, hoặc yêu cầu người dùng nhập vào giờ phút giây hợp lệ mới thôi.

Mã:

#include <iostream.h>

#include <stdio.h>

#include <conio.h>

int main()

{

int gio,phut,giay;

cout<<"Nhap gio:"<<"\n";

cin>>gio;

cout<<"Nhap phut:"<<"\n";

cin>>phut;

cout<<"Nhap giay:"<<"\n";

cin>>giay;

if(gio < 0 || phut > 60 || giay > 60 || phut < 0 || giay < 0)

cout<<"Khong hop le"<<"\n";

else

cout<<"Hop le"<<"\n";

}

Bài tập C: Viết chương trình kiểm tra năm nhuận

Viết chương trình nhập vào ngày, tháng, năm hợp lệ. Cho biết năm này có phải là năm nhuận hay không? In kết quả ra màn hình.

Bạn có thể tham khảo bài giải dưới đây. Năm nhuận là năm vừa chia hết cho 4 và không chia hết cho 100 hoặc là năm nhuận nếu năm đó chia hết cho 400. Tuy nhiên đây chỉ là cách kiểm tra năm nhuận theo dương lịch.

Mã:

#include <iostream.h>

int main()

{

int n;

cout<<"Nhap vao nam can kiem tra nhuan";

cin>>n;

if(n%4==0&&n%100!=0||n%400==0)

cout<<" nam "<<n<<" la nam nhuan ";

else

cout<<" nam "<<n<<" khong phai la nam nhuan ";

return 0;

}

Bài tập C++: Viết chương trình tính chu vi và diện tích tam giác

Bài tập C++ lập tình nhập vào 3 số a b c tương ứng chiều dài 3 cạnh của tam giác. Viết chương trình tính chu vi và diện tích tam giác

Đây là bài toán khá cơ bản đòi hỏi các bạn cần có 1 chút kiến thức về hình học để tính diện tích tam giác theo công thức heron. Còn tính chu vi tạm giác hay bất kỳ hình nào khác thì chỉ cần cộng tổng chiều dài cách cạnh khác đơn giản. Ngoài ra các bạn cũng cần check chiều dài tam giác xem việc nhập vào 3 cạnh có hợp lệ không trước khi tính diện tích và chu vi

Mã:

#include<iostream>

#include<math.h>

int main()

{

int a,b,c;

float p,dientich,chuvi;

cout<<"nhap a"<<endl;

cin>>a;

cout<<"nhap b"<<endl;

cin>>b;

cout<<"nhap c"<<endl;

cin>>c;

p=(a+b+c)/2;

if((a+b>c)&&(a+c>b)&&(b+c>a)&&(a>0)&&(b>0)&&(c>0))

{

cout<<"dien tich tan giac= "<<sqrt(p*(p-a)*(p-b)*(p-c))<<"\n";

cout<<"chu vi tam giac= "<<a+b+c<<"\n";

}

return 0;

}

Bài tập C++: Viết chương trình, hàm kiểm tra số chính phương

Bài tập lập trình C++ : Hàm Kiểm tra số chính phương, thuật toán kiểm tra số chính phương

Viết chương trình nhập vào số nguyên dương n. Kiểm tra xem n có phải là số chính phương hay không? (số chính phương là số khi lấy căn bặc 2 có kết quả là nguyên). viết chương trình kiểm tra số chính phương trong c++

Số chính phương là 1 trong những bài tập gặp rất nhiều trong chương trình học lập trình cơ bản. Bài toán này cũng là 1 trong những bài toán có rất nhiều cách giải khác nhau. Như kiểu chạy i tới 1/n và bình thường lên khi nào =n thì n là số chính phương.. Hoặc chạy i = 1 kiểm tra tiếp nếu i bình phương < n thì tiếp tục + 1 lên. Các bạn có thể tham khảo một số cách dưới đây

Kiểm tra số chính phương bằng cách ép kiểu số nguyên.

Mã:

#include<iostream.h>

int main()

{

int n,i;

cout<<"nhap so nguyen n"<<endl;

cin>>n;

i=sqrt(n);

if(n==i*i)

cout<<"la so chinh phuong"<<"\n";

else

cout<<"khong phai so chinh phuong";

}

Hàm kiểm tra số chính phương đơn giản khác:

Mã:

int kiemTraSoChinhPhuong(int n)

{

int i=0;

while(i*i<n) ++i;

return (i*i==n);

}

Tiếp tục 1 cách sử dụng hàm khai căn

Mã:

#include <iostream>

#include <math.h>

int main()

{

int n;

cout<<"Nhap n:";

cin>>n;

if(sqrt(n)*sqrt(n)==n)

cout<<"Day la so chinh phuong."<<endl;

else

cout<<"Khong phai la so chinh phuong"<<endl;

}

Nếu có cách nào tối ưu hơn các bạn cùng thảo luận nhé, riêng cách cho i chạy thì mình không post vì nó khá thủ công và không tối ưu cho xử lý tính toán

Bài tập C++: Viết chương trình nhập số nguyên dương n. Liệt kê n số nguyên tố đầu tiên

C++: Viết chương trình nhập số nguyên dương n. Xuất in ra màn hình số nguyên tố Liệt kê n số nguyên tố đầu tiên

Số nguyên tố là số chỉ chia hết cho 1 và chính nó. Số nguyên tố chúng ta thường đã quá quen thuộc trong các chương trình toán học phổ thông. Khi xây dựng thuật toán kiểm tra số nguyên tố chúng ta cũng cần phải có chút kinh nghiệm là chỉ kiểm tra ước của số nguyên tố tới căn của số đó là đủ chứ không cần phải kiểm tra tới < n. Dưới đây là vài cách hướng dẫn bài toán in ra n số nguyên tố đầu tiên các bạn có thể tham khảo

Mã:

#include<stdio.h>

#include<conio.h>

#include<math.h>

long ktSoNguyenTo(int n)

{

if(n==0||n==1) return 0;

long i;

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

if(n%i==0) return 0;

return 1;

}

void inSoNguyenTo()

{ int i=2;

int n,count=0;

printf("\n Nhap n=");

scanf("%d",&n);

while(count<n)

{

if(ktSoNguyenTo(i)==1){

printf("%5d",i);count++;}

i++;

}

}

int main()

{

inSoNguyenTo();

}

Bài tập kiểm tra số nguyên tố với ngôn ngữ C bạn có thể tham khảo thêm

Mã:

#include<stdio.h>

#include<stdlib.h>

#include<conio.h>

#include<math.h>

int kiemTraSoNguyenTo(const int a)

{

int i = 0;

for(i = 2; i <= (int)sqrt(a); i++)

{

if( a % i == 0 || a < 2 && a != 2)

{

return 0;

}

}

return 1;

}

int main ()

{

int N,i, k = 0;

int* snt = 0;

printf("\n Nhap vao N:");

scanf("%d", &N);

snt = (int*)malloc(N*sizeof(int));

k = 0;

i = 2;

while(k < N)

{

i++;

if(kiemTraSoNguyenTo(i) == 1)

{

snt[k] = i;

k++;

}

}

printf("\n Bang cac so nguyen to\n");

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

{

printf("%5d", snt[i]);

}

free(snt);

getch();

return 0;

}

C++: Viết chương trình nhập xuất ra màn hình thông tin của mỗi sinh viên

Bài tập C/C++ Viết chương trình nhập xuất ra màn hình thông tin của mỗi sinh viên theo mẫu sau:

Ho ten:

Ma so sinh vien:

Lop:

So dien thoai: Gioi tinh:

Mã:

#include <iostream.h>

#include<stdio.h>

#include<string.h>

#include<conio.h>

int main()

{ char hoten[10], masosinhvien[10], lop[8], sodienthoai[13], gioitinh[5];

cout<<"ho ten"<<"\n";

gets(hoten);

cout<<"ma so sinh vien"<<"\n";

gets(masosinhvien);

cout<<"lop"<<"\n";

gets(lop);

cout<<"so dien thoai"<<"\n";

gets(sodienthoai);

cout<<"gioi tinh"<<"\n";

gets(gioitinh);

cout<<"ho ten: "<<hoten<<"\n";

cout<<"ma so sinh vien: "<<masosinhvien<<"\n";

cout<<"lop: "<<lop<<"\n";

cout<<"so dien thoai: "<<sodienthoai;

cout<<"gioi tinh: "<<gioitinh<<"\n";

return 0;

}

Bài tập C: Viết chương trình nhập vào 2 số a, b. Tìm Ước chung lớn nhất và Bội chung nhỏ nhất xuất ra

Bài tập lập trình C: Viết chương trình nhập vào 2 số a, b. Tìm Ước chung lớn nhất và Bội chung nhỏ nhất xuất ra

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("\nUoc so chung lon nhat cua %u va %u = %u", n, m, USCLN(n,m));

printf("\nBoi so chung nho nhat cua %u va %u = %u", n, m, BSCNN(n,m));

getch();

}

Xem giúp bài tập cơ bản

Hiện e đang vướng 1 bài tập cơ bản mà ko giải quyết đc.

Đề bài yêu cầu viết chương trình chuyển đổi giữa độ C & độ F theo 1 công thức cho sẵn. Bên dưới là code của e:

Mã:

#include <iostream>

#include <conio.h>

using namespace std;

void main()

{

int x(0), y, Temp;

do

{

cout<<"Type your choice"<< endl;

cout<<"1. Convert C to F 2. Convert F to C 3. Exit"<< endl;

cin>>x; //Nhap x tu ban phim

if (x==1)

{

cout<<"Please type Celsius temperature: "<< endl;

cin>>y;

Temp = (y*9)/5+32;

cout<<y<<"C is equal with "<<Temp<<"F"<<endl;

getch();

}

if (x==2)

{

cout<<"Please type Fehranheit temperature: "<< endl;

cin>>y;

Temp=(y-32)*5/9;

cout<<y<<"F is equal with "<<Temp<<"C"<<endl;

getch();

system("cls");

}

if (x<1 || x>3));

{

cout<<"The number is out of range. Press Enter to choose again"<< endl;

getch();

}

}while (x!=3);

}

Ý của e là nếu nhập phím lựa chọn (biến x) là 3 thì chương trình sẽ tự động thoát ra, nếu x<1 hoặc x>3 thì chương trình sẽ báo lỗi và lặp lại từ đầu.

Không hiểu sao e ko thể nào làm đc như vậy. Mong mọi ng chỉ giáo!

Help!! Nhập dãy số kiểm tra xem có snt rồi in ra vi trí, giá trị snt min ??

#include<stdio.h>

#include<math.h>

#include<conio.h>

int KTSNTMin(int,int);

int KTSNT(int,int);

int KTSNTMin(int a[], int n)

{

int i,min;

min=a[0];

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

if(min>a)

min=a;

return min;

}

int KTSNT(int a[], int n)

{

int i,j;

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

{

for(j=2;j<=a;j++)

if(a%j==0) return 0;

}

return 1;

}

main()

{

int n,a[20],i,num;

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

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

{

printf("So thu %d la:", i+1);

scanf("%d", &a);

}

if(KTSNT(a,i))

num=KTSNTMin(a,i) ;

printf("So nguyen to nho nhat la: %d \n", num);

printf("Vi tri cua so do la : %d", i);

}

Bài code C về chuyển Thập phân sang nhị phân

Mình code thì ko biết sao đoạn chuyển số âm bị sai, các pro có thể sữa lại được ko?

Mình biết dân coder rất khó chịu khi đọc code của người khác nhưng mongcác bạn chịu khó giúp mình nha

Thanks nhiều

#include <stdio.h>

#include <math.h>

#include <conio.h>

int a[17];

int n;

int coSo = 2;

void nhap(); //Ham nhap so n

void nhap()

{

printf("Nhap so nguyen n can chuyen sang dang nhi phan: ");

scanf("%d", &n);

}

void chuyendoi(int x); // Ham chuyen so duong x sang dang nhi phan

void chuyendoi(int x)

{

int i, dem = 16;

while (x > 0)

{

a[dem] = x % coSo;

x = x / coSo;

dem--;

};

}

void bu2(); // Ham chuyen sang dang bu 2, de bieu dien so am

void bu2()

{

int j, nho = 1;

for (j = 16; j >= 1; j--)

{

a[j] = ~ a[j];

a[j] = a[j] + nho;

nho = a[j] / 2;

a[j] = a[j] % 2;

};

}

int main()

{

int i;

nhap();

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

a = 0;

if (n < 0)

{

chuyendoi(-n);

bu2();

}

else

chuyendoi
Topics tagged under include on Diễn Đàn Chia Sẻ YH5BAEAAAAALAAAAAABAAEAAAIBRAA7
;

printf("Bieu dien cua so %d o dang nhi phan la: \n", n);

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

printf("%d", a);

getch();

return 0;

}

Win 10 không chạy được file C++ *.exe (16-bit app)

Tình hình là em đang học C++, em dùng phần mềm Dev-C++ (bản mới nhất) và code 1 chương trình đơn giản như này

Mã:

#include

using namespace std;

int main()

sau đó em lưu lại với đuôi exe, trước đó windows 10 không cho chạy em đã tự fix được nhưng sau đó thì ...

Topics tagged under include on Diễn Đàn Chia Sẻ 1x5mK

Topics tagged under include on Diễn Đàn Chia Sẻ 22547727_809940042511321_353341663_n

Có cách nào chạy được nó trên win 10 không ạ
Topics tagged under include on Diễn Đàn Chia Sẻ YH5BAEAAAAALAAAAAABAAEAAAIBRAA7
? Xin cảm ơn.

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 include 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();

}

Tìm lỗi cơ bản

Mã:

#include <iostream>

using namespace std;

void nhap (int a[], int &n, int &x);

void timkiemnp(int a[], int n, int x);

int main()

{

int a[50], n, x;

nhap(a,n,x);

timkiemnp(a,n,x);

}

void nhap (int a[], int &n, int &x)

{

cin>>n>>x;

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

{

cin>>a[i];

}

}

void timkiemnp(int a[], int n, int x)

{

int dem=0;

int l=0, r=n-1;

while(l<=r)

{

int m=(l+r)/2;

if (a[m]==x)

{

cout<<m<<" ";

dem=dem+1;

}

if(a[m]>x)

r=m-1;

else l=m+1;

}

if(dem==0) cout<<"-1";

}

AI XEM CODE Này SAI CHỗ NàO Mà K RA Kết QUả K
Topics tagged under include on Diễn Đàn Chia Sẻ Thatbatngo

Hỏi về danh sách liên kết đơn

mong được các anh chị giúp đỡ ạ. Em đang học danh sách liên đơn và bị vướng ở bài chèn 1 phần tử sau q. Mong các anh chị chỉ giúp em lỗi với ạ, em xin cảm ơn các anh chị đã xem bài.

#include<stdio.h>

#include<stdlib.h>

typedef struct Sinhvien

{

char Ten[30];

int MaSV;

}SV;

struct Node

{

int data;

Node* link;

};

struct List

{

Node* first;

Node* last;

};

Node* GetNode(int x)

{

Node* p=new Node;

if(p==NULL)

{

printf("Khong cap phat duoc!!!");

exit(1);

}

p ->data=x;

p ->link=NULL;

return p;

}

void Init(List &l)

{

l.first=l.last=NULL;

}

void AddFirst(List &l, Node* new_node)

{

if(l.first==NULL)

{

l.first=new_node;

l.last=l.first;

}

else

{

new_node->link=l.first;

l.first=new_node;

}

}

void AddAfter(List &l,Node *q, Node* new_node)

{

if(q!=NULL)

{

new_node->link=q->link;

q->link=new_node;

if(q==l.last)

l.last=new_node;

}

else

AddFirst(l,new_node);

}

void InsertAfter(List &l,Node *q, int x)

{

Node* p=GetNode(x);

if(p==NULL)return;

if(q!=NULL)

{

p->link=q->link;

q->link=p;

if(q==l.last)

l.last=p;

}

else

AddFirst(l,p);

}

void XuatDS(List l)

{

Node* p=l.first;

printf("\ndanh sach da nhap la: \n");

while (p!=NULL)

{

printf("%d\t",p->data);

p=p->link;

}

printf("\n");

}

int main()

{

List l;

Init(l);

int n;

printf("nhap n: ");

scanf("%d", &n);

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

{

int x;

printf("\nnhap phan tu thu %d: ", i+1);

scanf("%d", &x);

}

int q;

Node *x;

printf("\nNhap vi tri phan tu q: ");

scanf("%d", &q);

printf("\nNhap phan tu can them: ");

scanf("%d", &x);

InsertAfter(l,x,q);

printf("\nDanh sach sau khi them la: \n");

XuatDS(l);

}

[Giúp đỡ] Anh, chị xem giùm em bài này sai chỗ nào?

Chào!

Em mới học về lập trình C++, mong mọi người giúp đỡ

Tính tiền Taxi, biết:

1 km đầu là 15000

từ km 2 trở đi là 13500

từ km thứ 6 là 11000

em nhập 5 km trở lại thì đúng, trên 5 km thì kết quả sai

#include <iostream>

using namespace std;

void main()

{

int a,tien;

cout <<"nhap a";

cin >>a;

tien=15000;

if(a<2)

tien=a*15000;

if(2<=a<6)

tien=(a-1)*13500+tien;

else

tien=(a-5)*11000+tien;

cout <<"tong tien" <<tien <<endl;

system("pause");

}

Thanks very much!

Cải thiện tốc độ chương trình?

- Đề bài: cho t số nguyên dương n ( 1 <= n <= 1 000 000 000). Tính số chữ số 0 của n! (n giai thừa).

- Ví dụ:

INPUT:

Mã:

6

3

60

100

1024

23456

8735373

OUTPUT:

Mã:

0

14

24

253

5861

2183837

Đây là code của mình.

Mã:

#include <iostream>

using namespace std;

int main()

{

int t, n, count;

cin >> t;

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

{

count = 0;

cin >> n;

while(n >= 1)

{

n /= 5;

count += n;

}

cout << count << endl;

}

}

Vậy muốn hỏi mọi người xem có cách nào cải thiện tốc độ không? Mình làm test trên trang SPOJ thì tốc độ 0.14 với C++ 4.3.2 trong khi có nhiều thánh 0.00...

http://www.spoj.com/problems/FCTRL/

Lỗi 'clr' is not recognized as an internal or external command, operable program or batch file.

#include <iostream>

#include <conio.h>

#include <windows.h>

using namespace std;

int main()

{

string a, b;

a = "Hunternguyen";

do

{

system("clr");

cout << "Nhap mat khau:";

getline(cin,b);

}while (a!=b);

cout << "\n\t\t:Chao mung ban:" <<endl;

}

Nhấn để mở rộng...

Khi chạy thì không có lỗi ngưng khi hiện trong console thì nó báo " clr' is not recognized as an internal or external command, operable program or batch file. "

.

Mọi người sửa giúp mình với mình không biết sai ở đâu:

tìm giúp lỗi C

ctrinh xem 3 cạnh có tạo thành tam giác ko .

mn xem mình sai chỗ nào ạ

#include <stdio.h>

#include <math.h>

int main()

{

float a;

float b;

float c;

printf("nhap a : ");

scanf("%f",&a);

printf("nhap b : ");

scanf("%f",&b;

printf("nhap c : ");

scanf("%f",&c);

if ((a+b >c) && (a +c >b) && (b +c >a) && (a > 0) && (b >0) && (c > 0) && (d > 0))

{

if ((a == b) && (b == c) && (c = a))

{

printf("tam giac deu");

}

if ((a = b) || (b = c) || (a = c))

{

printf("tam giac can");

}

if ((a * a == b * b + c * c) || (b * b == a * a + c * c) || (c * c == a * a + b * b))

printf ("tam giac vuong");

else

{

printf("tam giac thuong");

}

}

else

{

printf("khong la tam giac");

}

return 0;

}

In mảng danh sách dạng bảng trong C

#include<stdio.h>

#include<string.h>

int tong;

struct sanpham

{

char tensanpham[50];

int soluong;

int dongia;

};

struct sanpham sanpham[100];

int main()

{

for (int i = 1; i < 4; i++)

{

printf("nhap ten san pham %d : ", i);

getchar();

scanf("%[^\n]s", sanpham.tensanpham);

printf("nhap so luong sp %d : ", i);

scanf("%d", &sanpham.soluong);

printf("nhap don gia sp %d : ", i);

scanf("%d", &sanpham.dongia);

// tong = sanpham.soluong * sanpham.dongia;

}

for (int i = 1; i < 4; i++)

{

printf("\nten sp : %s", sanpham.tensanpham);

printf("\nso luong :%d", sanpham.soluong);

printf("\ndon gia: %d ", sanpham.dongia);

}

printf("\n");

return 0;

}

đây lad code của e.nhưng giờ e muốn in ra màn hình kiểu bảng hàng và cột chứ ko phải in thành hàng dọc kiểu liệt kê ntn thì lm ntn ạ

Đọc File Trong C++ - Mạc Vấn

Đọc file trong C++

Mạc Vấn

Khai báo lớp Khách hàng (mã khách hàng, tên khách hàng, địa chỉ, số điện thoại, nhóm khách hàng) trong đó nhóm khách hàng có thể là mua lẻ, mua buôn. Khai báo lớp Mặt hàng ( mã mặt hàng, tên mặt hàng, đơn giá) .

Đọc từ file KHACHHANG.txt, chuẩn hóa tên khách hàng và in danh sách khách hàng vừa nhập ra màn hình, mỗi khách hàng ghi trên một dòng, thông tin cách nhau một khoảng trống. Trong file, dòng đầu tiên ghi số khách hàng, mỗi khách hàng ghi trên bốn dòng gồm họ tên, địa chỉ, số điện thoại, nhóm khách hàng. Mã khách hàng là một số nguyên tự động tăng, từ 1000

Đọc từ file MATHANG.txt, chuẩn hóa tên mặt hàng và in danh sách mặt hàng vừa nhập ra màn hình, mỗi mặt hàng ghi trên một dòng, thông tin cách nhau một khoảng trống. Trong file, dòng đầu tiên ghi số mặt hàng, mỗi mặt hàng ghi trên hai dòng gồm tên, đơn giá. Mã khách hàng là một số nguyên tự động tăng, từ 100.

Code demo:

#include<iostream>

#include<stdio.h>

#include<string.h>

#include<fstream>

using namespace std;

class Nguoi {

protected:

string ten, diaChi,sdt;

public:

Nguoi() {

ten = diaChi = "";

sdt= "";

}

};

class KhachHang
Topics tagged under include on Diễn Đàn Chia Sẻ 10
ublic Nguoi {

protected:

static int dem;

int ma;

string nhom;

public:

friend class DSKH;

KhachHang() {

ma=0;

nhom= "";

}

static void tangDem() {

dem++;

}

};

int KhachHang::dem=1000;

string chuanHoa(string s) {

char t[100]="", kq[100]="";

int size = s.length();

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

t=s;

}

char *p=strtok(t," ");

while(p!=NULL) {

p[0]=toupper(p[0]);

for(int j=1; j<strlen(p); j++) {

p[j]=tolower(p[j]);

}

strcat(kq,p);

strcat(kq, " ");

p=strtok(NULL, " ");

}

kq[strlen(kq)-1]='\0';

return kq;

}

class DSKH {

protected:

int n;

KhachHang ds[100];

public:

friend string chuanHoa(string s);

void doc() {

fstream in;

in.open("KHACHHANG.TXT", ios::in);

in>>n;

string t;

getline(in, t);

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

ds.ma = KhachHang::dem;

KhachHang::tangDem();

getline(in, ds.ten);

getline(in,ds.diaChi);

getline(in,ds.sdt);

getline(in,ds.nhom);

}

}

void in() {

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

cout<<ds.ma<<"\t"<<chuanHoa(ds.ten)<<"\t"<<ds.diaChi<<"\t"<<ds.sdt<<"\t"<<ds.nhom<<endl;

}

}

};

class MatHang{

protected:

static int demm;

int maMH;

string tenMH;

double gia;

public:

friend class DSMH;

MatHang() {

maMH=0;

//nhom= "";

}

static void tangDemm() {

demm++;

}

void docMH(fstream &f){

string t;

// f.open("SANPHAM.TXT",ios::in);

maMH = demm;

tangDemm();

getline(f,tenMH);

f>>gia;

getline(f,t);

}

void inMH(){

cout<<maMH<<"\t"<<chuanHoa(tenMH)<<"\t"<<gia<<endl;

//cout<<chuanHoa(tenMH)<<endl;

//cout<<gia<<endl;

}

};

int MatHang::demm=100;

class DSMH{

protected:

int m;

MatHang dss[100];

public:

void doc1(){

string temp;

fstream fdoc;

fdoc.open("MATHANG.TXT", ios::in);

fdoc>>m;

getline(fdoc, temp);

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

dss.docMH(fdoc);

}

}

void in1(){

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

dss.inMH();

}

}

};

main() {

DSKH k;

k.doc();

http://k.chuanHoa();

k.in();

DSMH mh;

mh.doc1();

mh.in1();

}

hỏi bài lưu struct vào file

#include <stdio.h>

#include <string.h>

struct doibong

{

char tendoi[50];

int madoi;

char tenhlv[50];

};

void adddoibong();

void displaydoibong();

int n = 0;

int main()

{

int chon;

do

{

printf("\n1.Quan ly danh sach doi bong.");

printf("\n*******************************");

printf("\n1.Xem danh sach doi bong. ");

printf("\n2.Cap nhat danh sach doi bong. ");

printf("\n3.Them mot doi bong moi. ");

printf("\n0.Cho ve menu chinh. ");

printf("\n*******************************");

printf("\n\nMoi ban chon phim can xem:");

scanf("%d", &chon);

switch (chon)

{

case 1:

displaydoibong();

break;

case 2:

printf("demo");

break;

case 3:

adddoibong();

break;

case 0:

break;

default:

printf("Lua chon khong hop le. Moi ban chon lai!(^^)");

}

} while (chon != 0);

return 0;

}

void adddoibong()

{

struct doibong doibong[50];

FILE *teptin;

char choice;

int i = 0;

int count = 0;

while (1)

{

int n = 0;

printf("nhap ten doi : ");

getchar();

scanf("%[^\n]s", doibong.tendoi);

printf("nhap ma doi: ");

scanf("%d", &doibong.madoi);

printf("nhap ten hlv : ");

getchar();

scanf("%[^\n]s", doibong.tenhlv);

i++;

n = i;

printf("ban muon tiep tuc khong : y or n ? : ");

getchar();

scanf("%c", &choice);

if (choice == 'n')

{

teptin = fopen("doibong1.dat","wb"); //mo file luu file

if (teptin != NULL)

{

fwrite(&count, sizeof(int), 1, teptin);

fwrite(doibong, sizeof(struct doibong), count, teptin);

fclose;

}

break;

}

}

}

void displaydoibong()

{

struct doibong doibong[50];

int count = 0;

printf("\nTHONG TIN doi bong");

FILE *teptin;

teptin = fopen("doibong1.dat", "rb");

if (teptin != NULL)

{

fwrite(&count, sizeof(int), 1, teptin);

fread(doibong, sizeof(struct doibong), count, teptin);

fclose(teptin);

}

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

{

printf("\nbook isbn: %d", doibong.madoi);

printf("\nbook title: %s", doibong.tendoi);

printf("\nbook author: %s", doibong.tenhlv);

}

}

m.n giúp e.chọn 3 để add và lưu vào file.sau đó chọn 1 để xem lại danh sách từ file vừa lưu nhung ko đc ạ

Hỏi về code phương trình bậc 2 bằng C

mn cho hỏi e sai chỗ nào

#include <stdio.h>

#include <math.h>

int main()

{

float a;

float b;

float c;

float d;

float x1;

float x2;

printf("nhap a:");

scanf("%f",&a);

printf("\nnhap b:");

scanf("%f",&b);

printf("\nnhap c:");

scanf("%f",&c);

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

if (d < 0)

{

printf("phuong trinh vo nghiem");

}

if ( d = 0 )

{

x1=-b/(2*a);

printf("Phuong trinh co nghiem kep:%f",x1);

}

if ( d > 0 )

{

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

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

printf("\nPhuong trinh co 2 nghiem phan biet");

printf("\n%f",x1);

printf("\n%f",x2);

}

return 0;

}

mn cho hỏi e sai chỗ nào

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 include 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]

Các kiểu dữ liệu, toán tử, hàm số trong C/C++

I. Các kiểu dữ liệu cơ bản trong C/C++

Cũng giống PHP hay các ngôn ngữ khác, C/C++ cũng có các kiểu dữ liệu cơ bản :

1 Kiểu số nguyên :

- Ký hiệu: int (2 Byte);

- Kiểu mở rộng: long, unsigned int, unsigned long.

2. Kiểu số thực

- Ký hiệu: float (4 Byte)

- Kiểu mở rộng: double, long double.

3. Kiểu ký tự

- Ký hiệu: char (1 Byte).

II. Ép kiểu, chuyển điểu đổi kiểu dữ liệu

- Chuyển kiểu tự động: char -> int -> float.

- Ép kiểu:

Ví dụ: Ép kiểu float thành int:

(int)x; (x có kiểu float).

III. Các toán tử trong C\C++

1 - Toán tử số học

Mã:

+, -, *, /,

% (chia lấy phần dư),

++ (tăng 1 đơn vị),

-- (giảm 1 đơn vị),

=

2 - Toán tử logic

Mã:

&& (and),

|| (or),

! (not)

3 - Toán tử quan hệ

Mã:

>, <, >=, <=, ==, !=

4 - Toán tử xử lý bit

Mã:

>> (dịch phải),

<< (dịch trái),

~ (not bit),

[/FONT][/SIZE][/FONT][/COLOR][COLOR=#444444][FONT=Roboto][SIZE=3][FONT=arial]^ (xor bit),

& (and bit),

| (or bit)

IV. Một số hàm thông dụng C++

Để sử dụng các hàm trong lập trình C/C++, bạn cần khai báo xử lý (#include)

1- stdio.h: Thư viện chứa các hàm vào/ ra chuẩn (standard input/output).

Gồm các hàm: printf(), scanf(), getc(), putc(), gets(), puts(), fflush(), fopen(), fclose(), fread(), fwrite(), getchar(), putchar(), getw(), putw(),...

2- conio.h: Thư viện chứa các hàm vào ra trong chế độ DOS (DOS console).

Gồm các hàm: clrscr(), getch(), getche(), getpass(), cgets(), cputs(), putch(), clreol(),...

3- math.h: Thư viện chứa các hàm tính toán

Gồm các hàm: abs(), sqrt(), log(). log10(), sin(), cos(), tan(), acos(), asin(), atan(), pow(), exp(),...

4- alloc.h: Thư viện chứa các hàm liên quan đến việc quản lý bộ nhớ.

Gồm các hàm: calloc(), realloc(), malloc(), free(), farmalloc(), farcalloc(), farfree(),...

5- io.h: Thư viện chứa các hàm vào ra cấp thấp.

Gồm các hàm: open(), _open(), read(), _read(), close(), _close(), creat(), _creat(), creatnew(), eof(), filelength(), lock(),...

6- graphics.h: Thư viện chứa các hàm liên quan đến đồ họa.

Gồm các hàm: initgraph(), line(), circle(), putpixel(), getpixel(), setcolor(),...

Trên đây là một số kiểu dữ liệu, toán tử và hàm số thông dụng trong C/C++ cho các bạn tham khảo