Tải bản đầy đủ (.pdf) (4 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (261.47 KB, 4 trang )

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)
{


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

{
printf("A[%i] = ",i);
scanf("%f",&A[i]);
}
//Nhap x va tach day A thanh hai day con
//Day B : cac phan tu //Day C : cac phan tu con lai
printf("Nhap gia tri x: ");
scanf("%f",&x);
j=0;k=0;
for(i=0; i{
if(A[i]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; iprintf("\n");
printf("Day C : \n");
for(i=0; iprintf("\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


#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{
printf("B[%d] = ",i);
scanf("%i",&B[i]);
}
//Kiem tra day giam dan
check=1;
i=1;
while(check && i{
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{
if(B[i]==x){
B[i]=B[n-1];
n=n-1;
}
else i++;
}
printf("Day sau khi xoa : \n");

for(i=0; iprintf("\n");
return 0;
}


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.



×