1. Trang chủ
  2. » Công Nghệ Thông Tin

Câu hỏi và đáp án thi hết môn lập trình nâng cao C++

20 24 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 20
Dung lượng 33,04 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

/*Bài 2: Viet chuong trình C so dong con tro và cap phát dong thuc hien các công viec sau: - Nhap mot dãy N so nguyên 0.

Trang 1

/*Bài 2: Viet chuong trình C so dong con tro và cap phát dong thuc hien các công viec sau:

- Nhap mot dãy N so nguyên (0<N<100) tu file van ban có tên là “CAU2.IN”, trong file này dòng dau cua file

ghi so nguyên N, dòng thu 2 ghi N so nguyên cua dãy

- Viet hàm sap xep dãy so sao cho các so chan dua lên dau dãy Xuat dãy so sau khi sap xep ra màn hình

- Viet hàm nhap 2 so nguyên X và K (0<K = N), chèn so X vào vi trí K trong dãy Xuat dãy sau khi chèn ra màn hình.*/

#include<stdio.h>

int main(){

FILE *f;

f=fopen("LOPK24B.INP","r");//Mo file de doc

int n,i;

int a[100];//Mang luu tru day n so nguyen

//Doc tu file

fscanf(f,"%d",&n);

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

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

fclose(f);//Dong file

//Dua ra man hinh day doc duoc

printf("\nDay doc duoc tu file:\n");

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

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

//sap xep day so sao cho so chan len dau int j,tg;

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

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

if(a[j]%2==0 && a[i]%2!=0){

tg = a[i];

a[i] = a[j];

a[j] = tg;

} printf("\nDay sau khi sap xep:\n");

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

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

}

/*Bài 3: Viet chuong trình C su dung con tro và cap phát dong thuc hien các công viec sau:

- Nhap mot dãy N so nguyên (0<N<100) tu file van ban có tên là

“LOPK24B.INP”, trong file này dòng d?u c?a file

ghi so nguyên N, dòng thu 2 ghi N so nguyên cua dãy

- Viet hàm dao nguoc dãy so Xuat dãy so sau khi dao nguoc ra màn hình

- Viet hàm nhap mot so nguyên Y, xóa so hang bang Y dau tiên trong dãy (neu có) Xuat dãy so sau khi xóa ra

màn hình.*/

Trang 2

int main(){

FILE *f;

f=fopen("LOPK24BD.INP","r");//Mo file de doc

int n,i;

int a[100];//Mang luu tru day n so nguyen

//Doc tu file

fscanf(f,"%d",&n);

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

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

fclose(f);//Dong file

//Dua ra man hinh day doc duoc

printf("\nDay doc duoc tu file:\n");

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

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

//sap xep dao nguoc printf("\nDay sau dao nguoc:\n");

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

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

}

#include <stdio.h>

//Ham tinh so hang thu n cua day Fibonacci - Viet de quy

int Fibo(int n){

if(n==1||n==2)

return 1;

else

return Fibo(n-1)+Fibo(n-2);

}

int main(){

int i,n;//n- duoc nhap vao tu ban phim, i - bien dieu khien

printf("Nhap vao so n=");

scanf("%d",&n);

printf("\nDay %d so hang Fibonacci dau tien:\n",n); for(i=1;i<=n;i++)

printf("%d ",Fibo(i));//Ham Fibo(i) duoc goi n lan }

#include <stdio.h>

//Ham tinh so hang thu n cua day Fibonacci - Viet de quy

long Fibo(long n){

long a,b,c;

Trang 3

return 1;

else{

a=1;b=1;

long i;

for(i=3;i<=n;i++){

c=a+b;

a=b;

b=c;

} return c;

}

}

int main(){

long i,n;//n- duoc nhap vao tu ban phim, i - bien dieu khien

printf("Nhap vao so n=");

scanf("%ld",&n);

printf("\nDay %d so hang Fibonacci dau tien:\n",n);

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

printf("%ld ",Fibo(i));//Ham Fibo(i) duoc goi n lan }

/*Bài 21: Viet chuong trình C có xây dung hàm dem tong cac chu so le cua

so nguyên duong n, voi 0<n<2000000000 duoc nhap tu file van ban có tên là

"CAU1.IN" Neu du lieu vào hop le thì xuat ket qua toi file van ban có tên

là "CAU1.OUT", trái lai hãy thông báo ra màn hình loi không ton tai file

du lieu hoac sai dinh dang du lieu.

*/

#include<stdio.h>

int tongcacchusole(long n){

int tong=0,chuso;

while(n!=0){

chuso=n%10;

if (chuso%2==1)

tong=tong+chuso;

n=n/10;

}

return tong;

}

int main(){

FILE *f,*f2;

Trang 4

long n;

f=fopen("chunhat.txt","r");//Mo file de doc

if(f==NULL)

printf("Loi mo file! Hoac sai dinh dang!");

else{

fscanf(f,"%ld",&n);//Doc tu file ra bien n

f2=fopen("cau1.out","w");//Mo file de ghi ket qua vao fprintf(f2,"%d",tongcacchusole(n));//Ghi ket qua tinh duoc tu ham S(n)

ra file

// cau1.out }

fclose(f);

fclose(f2);

}

/*Bài 23: Viet chuong trình C có xây dung hàm dem so luong chu so

cua so nguyên duong n, voi n<2000000000 duoc nhap tu file van ban có tên

là "chunhat.txt"

Neu du lieu vào hop le thì xuat ket qua toi file van ban có tên là "CAU1.OUT", trái lai hãy thông báo ra màn hình

*/

#include<stdio.h>

int demsochuso(long n){

int dem=0;

while(n!=0){

dem++;

n=n/10;

}

return dem;

}

int main(){

FILE *f,*f2;

long n;

f=fopen("chunhat.txt","r");//Mo file de doc

if(f==NULL)

printf("Loi mo file! Hoac sai dinh dang!");

else{

fscanf(f,"%ld",&n);//Doc tu file ra bien n f2=fopen("cau1.out","w");//Mo file de ghi ket qua vao fprintf(f2,"%d",demsochuso(n));//Ghi ket qua tinh duoc tu ham S(n) ra file

// cau1.out }

Trang 5

fclose(f2);

}

/*Bài 24: Viet chuong trình C có xây dung hàm dem so luong chu so le cua

so nguyên duong n, voi 0<n<2000000000 duoc nhap tu file van ban có tên là

"CAU1.IN" Neu du lieu vào hop le thì xuat ket qua toi file van ban có tên

là "CAU1.OUT", trái lai hãy thông báo ra màn hình loi không ton tai file

du lieu hoac sai dinh dang du lieu.

*/

#include<stdio.h>

int demsochusole(long n){

int dem=0,chuso;

while(n!=0){

chuso=n%10;

if (chuso%2==1)

dem++;

n=n/10;

}

return dem;

}

int main(){

FILE *f,*f2;

long n;

f=fopen("chunhat.txt","r");//Mo file de doc

if(f==NULL)

printf("Loi mo file! Hoac sai dinh dang!");

else{

fscanf(f,"%ld",&n);//Doc tu file ra bien n f2=fopen("cau1.out","w");//Mo file de ghi ket qua vao fprintf(f2,"%d",demsochusole(n));//Ghi ket qua tinh duoc tu ham S(n) ra file

// cau1.out }

fclose(f);

fclose(f2);

}

#include <stdio.h>

int Hoan_vi(int a,int b){

int temp;

temp=a;

Trang 6

b=temp;

}

int main(){

int x,y;

x=2021;y=2022;

printf("Truoc khi goi ham hoan vi: x=%d y=%d \n",x,y); Hoan_vi(x,y);

printf("Sau khi goi hma hoan vi: x=%d y=%d \n",x,y);

}

#include <stdio.h>

//Ham co doi so la con tro

int Hoan_vi(int *a,int *b){

int temp;

temp=*a;

*a=*b;

*b=temp;

}

int main(){

int x,y;

x=2021;y=2022;

printf("Truoc khi goi ham hoan vi: x=%d y=%d \n",x,y); Hoan_vi(&x,&y);//Loi goi ham - truyen dia chi cua bien

printf("Sau khi goi ham hoan vi: x=%d y=%d \n",x,y);

//gia tri cua bien tahy doi sau khi goi ham

}

#include <stdio.h>

//Truyen theo dang tham chieu

int Hoan_vi(int &a,int &b){

int temp;

temp=a;

a=b;

b=temp;

}

int main(){

int x,y;

x=2021;y=2022;

printf("Truoc khi goi ham hoan vi: x=%d y=%d \n",x,y); Hoan_vi(x,y);//Loi goi ham rat tu nhien

printf("Sau khi goi hma hoan vi: x=%d y=%d \n",x,y);

Trang 7

//Gia tri cua x y thay doi sau loi goi ham

}

#include <stdio.h>

#include <conio.h>

//Khai bao kieu du lieu

typedef struct {

char hoten[30];

float toan,ly,hoa;

}Thisinh;

int main(){

Thisinh ts[100];

int n,i;

//Nhap vao danh sach thi sinh

printf("Nhap vao so luong thi sinh:");scanf("%d",&n);

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

fflush(stdin);//Lam sach bo dem >xoa ma cua phim Enter printf("Nhap ho ten cua thi sinh thu %d:",(i+1));

gets(ts[i].hoten);

printf("Diem Toan:");scanf("%f",&ts[i].toan);

printf("Diem Ly:");scanf("%f",&ts[i].ly);

printf("Diem Hoa:");scanf("%f",&ts[i].hoa);

}

printf("\nDanh sach thi sinh sau khi nhap:\n");

printf(" HO VA TEN - TOAN - LY - HOA - TONG DIEM \n"); for(i=0;i<n;i++)

printf("%30s - %6.2f - %6.2f - %6.2f - %6.2f\

n",ts[i].hoten,ts[i].toan,ts[i].ly,ts[i].hoa,

ts[i].toan+ts[i].ly+ts[i].hoa);

//In danh sach trung tuyen

float diemchuan;

printf("Nhap diem chuan:");scanf("%f",&diemchuan);

printf("\nDanh sach thi sinh trung tuyen:\n");

printf(" HO VA TEN - TOAN - LY - HOA - TONG DIEM \n"); for(i=0;i<n;i++)

if((ts[i].toan+ts[i].ly+ts[i].hoa>=diemchuan) && (ts[i].toan>0) && ts[i].ly>0 && (ts[i].hoa>0))

printf("%30s - %6.2f - %6.2f - %6.2f - %6.2f\

n",ts[i].hoten,ts[i].toan,ts[i].ly,ts[i].hoa,

ts[i].toan+ts[i].ly+ts[i].hoa);

//Dua ra thi sinh co tong diem cao nhat

float max=0;//Gan gia tri ban dau cho Max

//TIm diem chuan cao nhat

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

Trang 8

max=ts[i].toan+ts[i].ly+ts[i].hoa;

//Dua ra danh sach cac thi sinh cos diem chuan cao nhat

printf("\nDanh sach thi sinh co diem cao nhat:\n");

printf(" HO VA TEN - TOAN - LY - HOA - TONG DIEM \n"); for(i=0;i<n;i++)

if(ts[i].toan+ts[i].ly+ts[i].hoa == max)

printf("%30s - %6.2f - %6.2f - %6.2f - %6.2f\

n",ts[i].hoten,ts[i].toan,ts[i].ly,ts[i].hoa,

ts[i].toan+ts[i].ly+ts[i].hoa);

}

#include <stdio.h>

#include <conio.h>

//Khai bao kieu du lieu

typedef struct {

char hoten[30];

float toan,ly,hoa;

float tongdiem;

}Thisinh;

int main(){

Thisinh ts[100];

int n,i;

//Nhap vao danh sach thi sinh

printf("Nhap vao so luong thi sinh:");scanf("%d",&n);

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

fflush(stdin);//Lam sach bo dem >xoa ma cua phim Enter printf("Nhap ho ten cua thi sinh thu %d:",(i+1));

gets(ts[i].hoten);

printf("Diem Toan:");scanf("%f",&ts[i].toan);

printf("Diem Ly:");scanf("%f",&ts[i].ly);

printf("Diem Hoa:");scanf("%f",&ts[i].hoa);

ts[i].tongdiem=ts[i].toan+ts[i].ly+ts[i].hoa;

}

printf("\nDanh sach thi sinh sau khi nhap:\n");

printf(" HO VA TEN - TOAN - LY - HOA - TONG DIEM \ n");

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

printf("%30s - %5.2f - %5.2f - %5.2f - %5.2f\

n",ts[i].hoten,ts[i].toan,ts[i].ly,ts[i].hoa,ts[i].tongdiem);

//In danh sach trung tuyen

float diemchuan;

printf("Nhap diem chuan:");scanf("%f",&diemchuan);

printf("\nDanh sach thi sinh trung tuyen:\n");

Trang 9

printf(" HO VA TEN - TOAN - LY - HOA - TONG DIEM \ n");

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

if((ts[i].toan+ts[i].ly+ts[i].hoa>=diemchuan) && (ts[i].toan>0) && ts[i].ly>0 && (ts[i].hoa>0))

printf("%30s - %5.2f - %5.2f - %5.2f - %5.2f\

n",ts[i].hoten,ts[i].toan,ts[i].ly,ts[i].hoa,ts[i].tongdiem);

//Dua ra thi sinh co tong diem cao nhat

float max=0;//Gan gia tri ban dau cho Max

//TIm diem chuan cao nhat

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

if(ts[i].tongdiem>max)

max=ts[i].tongdiem;

//Dua ra danh sach cac thi sinh cos diem chuan cao nhat

printf("\nDanh sach thi sinh co diem cao nhat:\n");

printf(" HO VA TEN - TOAN - LY - HOA - TONG DIEM \ n");

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

if(ts[i].tongdiem == max)

printf("%30s - %5.2f - %5.2f - %5.2f - %5.2f\

n",ts[i].hoten,ts[i].toan,ts[i].ly,ts[i].hoa,ts[i].tongdiem);

//Sap xep danh sach thi sinh giam dan theo tong diem

int j;

Thisinh tg;//Bien trung gian -Doi cho thi sinh

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

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

if(ts[i].tongdiem<ts[j].tongdiem){

//Doi cho 2 thisinh tg=ts[i];

ts[i]=ts[j];

ts[j]=tg;

} printf("\nDanh sach thi sinh sau khi sap xep diem giam dan:\n");

printf(" HO VA TEN - TOAN - LY - HOA - TONG DIEM \ n");

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

printf("%30s - %5.2f - %5.2f - %5.2f - %5.2f\

n",ts[i].hoten,ts[i].toan,ts[i].ly,ts[i].hoa,ts[i].tongdiem);

//Lay diem chuan cua K thi sinh

int k,dem;

printf("Nhap so luong thi sinh can lay:");scanf("%d",&k);

diemchuan=ts[0].tongdiem;//Gan gia tri ban dau cho diemchuan

dem=0;i=0;//i la so thi sinh thu i

while (dem<k){

diemchuan=ts[i].tongdiem;

i++;dem++;

Trang 10

printf("\nDiem chuan de lay duoc %d thi sinh la: %f",k,diemchuan);

}

#include<stdio.h>

#include<string.h>

typedef struct {

char hoten[30];

char masv[30];

float diemtb;

int gioitinh;

} Sinhvien;

int main(){

//Khai bao

FILE *f;

f=fopen("BAI1.INP","wb");//File nhi phan, mo de ghi

Sinhvien sv;

//Do du lieu va tu ban phim va ghi vao file

do{

printf("Nhap vao ho ten sinh vien:");fflush(stdin);

gets(sv.hoten);

if(strcmp(sv.hoten,"*")!=0){

printf("Nhap Ma sinh vien:");gets(sv.masv);

printf("Diem trung binh:");scanf("%f",&sv.diemtb);

printf("Gioi tinh:");scanf("%d",&sv.gioitinh);

fwrite(&sv,sizeof(Sinhvien),1,f);

} }while (strcmp(sv.hoten,"*")!=0);

fclose(f);//Dong file

//Doc tu file dua ra man hinh

f=fopen("BAI1.INP","rb");//File nhi phan, mo de ghi

printf("\nDanh sach sinh vien doc tu file:\n");

printf("\n HO VA TEN - MA SV - DIEM TB - Gioi tinh\n"); while(fread(&sv,sizeof(Sinhvien),1,f)!=NULL){

printf("%30s - %10s - %6.2f - ",sv.hoten,sv.masv,sv.diemtb);

if(sv.gioitinh==1)

printf(" Nu\n");

else printf(" Nam\n");

}

//Dua ra man hinh cac sinh vien co diem tb>5

rewind(f);//Dua con tro file ve dau tep

printf("\nDanh sach sinh vien co diem trung binh > 5:\n");

printf("\n HO VA TEN - MA SV - DIEM TB - Gioi tinh\n"); while(fread(&sv,sizeof(Sinhvien),1,f)!=NULL){

if (sv.diemtb>5){

printf("%30s - %10s - %6.2f - ",sv.hoten,sv.masv,sv.diemtb); if(sv.gioitinh==1)

Trang 11

printf(" Nu\n");

else printf(" Nam\n");

} }

//Sap xep - doc ra mang struct

}

/*Lap trình doc vào mot danh sách không quá 100 sinh viên gom: Ho tên, nam sinh

Ðua ra DS nhung sinh viên sinh nam 1990

Ðua ra DSSV dã sap xep theo thu tu ABC*/

#include <stdio.h>

#include <conio.h>

#include <string.h> //Thu vien cua cac ham xu ly chuoi

typedef struct {

char hoten[30];

int namsinh;

}Sinhvien;

int main(){

Sinhvien sv[100];//sv - la mang gom co 100 phan tu, moi phan tu la kieu cau truc Sinhvien

int i,n;

char st[30];

//Nhap danh sach sinh vien

printf("Nhap so luong sinh vien:");scanf("%d",&n);fflush(stdin);

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

fflush(stdin);

printf("Nhap ho va ten sinh vien thu %d:",(i+1));

gets(sv[i].hoten);

printf("Nhap nam sinh:");scanf("%d",&sv[i].namsinh);

}

//In danh sach sau khi nhap ra man hinh

printf("\nDanh sach sinh vien sau khi nhap:\n");

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

printf("%30s - %5d\n",sv[i].hoten,sv[i].namsinh);

//In danh sach nhung sinh vien snh nam 1990 ra man hinh

printf("\nDanh sach sinh vien sinh nam 1990:\n");

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

if(sv[i].namsinh==1990)

printf("%30s - %5d\n",sv[i].hoten,sv[i].namsinh);

//Sap xep danh sach sinh vien theo ABC phan hoten

Sinhvien tg;

int j;

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

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

Trang 12

//Doi cho sv[i] voi sv[j]

tg=sv[i];

sv[i]=sv[j];

sv[j]=tg;

} printf("\nDanh sach sinh vien sau khi sap xep:\n");

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

printf("%30s - %5d\n",sv[i].hoten,sv[i].namsinh);

}

/*- Nhap mot dãy N so nguyên (0<N<100) tu file van ban có tên là "INPUT.INP", trong file này dòng dau cua file ghi so nguyên N,

dòng thu 2 ghi N so nguyên cua dãy.

- Viet hàm sap xep dãy so theo thu tu tang dan

Dua dãy so sau khi sap xep ra màn hình.

*/

#include<stdio.h>

int main(){

FILE *f;

f=fopen("INPUT.INP","r");//Mo file de doc

int n,i;

int a[100];//Mang luu tru day n so nguyen

//Doc tu file

fscanf(f,"%d",&n);

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

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

fclose(f);//Dong file

//Dua ra man hinh day doc duoc

printf("\nDay doc duoc tu file:\n");

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

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

//Sap xep day theo thu tu tang dan

int j,tg;

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

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

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

//Doi cho hai so a[i] va a[j]

tg=a[i];

a[i]=a[j];

a[j]=tg;

} printf("\nDay sau khi sap xep:\n");

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

Ngày đăng: 10/11/2021, 14:09

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w