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

Bài tập mẫu lập trình c chương 3

4 395 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 4
Dung lượng 261,47 KB

Nội dung

 In ra màn hình số phần tử hiện có của dãy và giá trị các phần tử giá trị các phần tử in trên một hàng  Tính tổng và trung bình cộng của các phần tử trong dãy.. Nhập vào một số thực x,

Trang 1

Một số bài mẫu chương 3

Bài 1 : Cho một dãy A gồm n số (n ≤ 100) Viết chương trình :

Nhập n và giá trị cho các phần tử dãy A

 In ra màn hình số phần tử hiện có của dãy và giá trị các phần tử (giá trị các phần tử in trên một hàng)

 Tính tổng và trung bình cộng của các phần tử trong dãy

GIAI

#include <stdio.h>

#include <stdlib.h>

int main (void)

{

int i,n;

float A[100];

do{

printf( "Nhap vao so phan tu : " );

scanf( "%i" ,&n);

}

while (n<0 || n>100);

printf( "Nhap day A\n" );

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

{

printf( "A[%i]=" ,i);

scanf( "%f" ,&A[i]);

}

printf( "Day ban dau : " );

for(i=0; i< n; i++) printf( "%f " ,A[i]);

printf( "\n" );

printf( "So phan tu : %d\n" ,n);

float tong=0;

for(i=0; i< n; i++) tong=tong+A[i];

printf( "Tong cua cac phan tu trong day : %f\n" ,tong);

printf( "Trung binh cong : %.4f\n" ,tong/n);

return 0;

}

Bài 2 : Viết chương trình nhập dãy A có n số thực (n≤100) Nhập vào một số thực x, Tách dãy A thành 2 dãy con, dãy thứ nhất gồm toàn những phần tử nhỏ hơn x, dãy thứ hai gồm những phần tử còn lại In hai dãy

con ra màn hình

GIAI

#include <stdio.h>

#include <stdlib.h>

int main (void)

{

Trang 2

int i,n,j,k;

float A[100],B[100],C[100];

float x;

//nhap vao day A

do{

printf( "Nhap vao so phan tu(<100) : " );

scanf( "%d" ,&n);

}

while (n<0 || n>100);

printf( "Nhap day A\n" );

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

{

printf( "A[%i] = " ,i);

scanf( "%f" ,&A[i]);

}

//Nhap x va tach day A thanh hai day con

//Day B : cac phan tu <x

//Day C : cac phan tu con lai

printf( "Nhap gia tri x: " );

scanf( "%f" ,&x);

j=0;k=0;

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

{

if(A[i]<x){

B[j]=A[i];

j++;

}

else{

C[k]=A[i];

k++;

}

}

//in ra cac phan tu thuoc hai day

printf( "Day B : \n" );

for(i=0; i<j; i++) printf( "%f " ,B[i]);

printf( "\n" );

printf( "Day C : \n" );

for(i=0; i<k; i++) printf( "%f " ,C[i]);

printf( "\n" );

system( "pause" );

return 0;

}

Bài 3 : Cho một dãy B gồm n số nguyên (n≤100) Viết chương trình :

 Nhập vào dãy B

 Viết hàm kiểm tra xem các phần tử trong dãy B có theo thứ tự giảm dần không

Nhập vào một số giá trị x Xóa các phần tử trong dãy B có giá trị bằng x và in ra màn hình dãy B sau

khi xóa

GIAI

Trang 3

#include <stdio.h>

#include <stdlib.h>

int main (void)

{

int i,n;

int check;

int B[100];

int x;

//nhap n thoa man dieu kien

do

{

printf( "Nhap vao so phan tu(<=100) : " );

scanf( "%i" ,&n);

}

while((n<=0)||(n>100));

//nhap vao day B

printf( "Nhap day B\n" );

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

{

printf( "B[%d] = " ,i);

scanf( "%i" ,&B[i]);

}

//Kiem tra day giam dan

check=1;

i=1;

while(check && i<n)

{

if(B[i]>B[i-1]) check=0; //check = false

else i++;

}

if(check==0) printf( "Day B khong phai giam dan!\n" );

else printf( "Day B la giam dan!\n" );

//Nhap x va xoa cac phan tu =x

printf( "Nhap gia tri x: " );

scanf( "%d" ,&x);

i=0;

while(i<n) //tai sao phai dung while ?

{

if(B[i]==x){

B[i]=B[n-1];

n=n-1;

}

else i++;

}

printf( "Day sau khi xoa : \n" );

for(i=0; i<n; i++) printf( "%i " ,B[i]);

printf( "\n" );

return 0;

}

Trang 4

Chú ý: sau khi xóa các phần tử có giá trị bằng x thì thứ tự của dãy không còn giống như ban đầu Bạn hãy

sửa đổi cách xóa này để thứ tự của dãy vần giữ nguyên

Gợi ý: khi xóa ta phải dịch các phần tử bên phải đè lên phần tử bị xóa

Ngày đăng: 22/01/2016, 23:43

TỪ KHÓA LIÊN QUAN

w