Đáp Án Bài 4.3





Bài 4.3Viết chương trình cho phép người dùng nhập vào từ bàn phím một dãy các số thực, sau đó cho phép người dùng:
a.      Loại bỏ các phần tử trùng nhau để nhận được một dãy mới mà mỗi giá trị chỉ xuất hiện một lần,
b.      Sắp xếp dãy mới nhận được ở câu a theo chiều tăng dần (hoặc giảm dần),
c.      Cho người dùng nhập vào từ bàn phím một giá trị x, hãy bổ sung x vào dãy nhận được từ ý b sao cho không làm ảnh hưởng đến tính tăng (hoặc giảm) của dãy. 


//Câu 4.3.(a,b,c):
#include <stdio.h>

//===chuong trinh chinh===
int main(void)
{
 float a[50],x;
 int n,i,j,k;
 
 printf("Nhap vao so luong phan tu cua day so: ");scanf("%d",&n);
 
 //Nhap vao day so thuc
 printf("Nhap vao day so:\n");
 for(i=0;i<n;i++)
 {
  printf("\ta[%d] = ",i+1);
  scanf("%f",&a[i]);
 }
 
 //Dua ra day so da nhap
 printf("Day so da nhap la: ");
 for(i=0;i<n;i++) printf("%.2f  ",a[i]);
 
 //ý a. Loại bỏ các phần tử trùng nhau để nhận được một dãy mới mà mỗi giá trị chỉ xuất hiện một lần,
 for(i=0;i<n-1;i++)
  for(j=i+1;j<n;j++)
   if(a[j]==a[i])
    do
    {
     for(k=j;k<n;k++) a[k]=a[k+1]; n--;
    }
    while(a[j]==a[i]);
    
 //Dua ra day so sau khi loai bo cac phan tu trung nhau
 printf("\nDay so da loai cac phan tu trung nhau la: ");
 for(i=0;i<n;i++) printf("%.2f  ",a[i]);
 
 //ý b. Sắp xếp dãy mới nhận được ở câu a theo chiều tăng dần
 for(i=0;i<n-1;i++)
  for(j=i+1;j<n;j++)
  {
   if(a[j]<a[i])
   {
    float tg = a[i];
    a[i]=a[j];
    a[j]=tg;
   }
  }
 //Dua ra day so da sap xep
 printf("\nDay so tang dan la: ");
 for(i=0;i<n;i++) printf("%.2f  ",a[i]);
 
 //ý c Chen x vao day so ma ko lam anh huong den day tang
 printf("\nNhap vao gia tri cua so x can chen: ");scanf("%f",&x);
 n++;
 for(i=0;i<n-1;i++)
 {
  //Neu trong day so co so lon hon x
  if(a[i]>=x)
  {
   for(j=n;j>=i;j--) a[j]=a[j-1];
   a[i]=x;
   break;
  }
  //Neu trong day so khong co so nao lon hon x
  if(a[n-2]<x)
  {
   a[n-1]=x;
   break;
  }
 }
 
 //Dua ra day so da chen them x
 printf("Day so da chen them x la: ");
 for(i=0;i<n;i++) printf("%.2f  ",a[i]);
 
 return 0;
}
//===dinh nghia ham===
Coding: Hải Dớ



Đăng nhận xét

Cảm Ơn Bạn Đã Để Lại Bình Luận

 

Quản Trị Viên

Lượt xem

Lên Trên