Đáp Án Bài 5.3





Bài 5.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. Loại bỏ khỏi dãy các phần tử có giá trị bằng 0. Sau đó tách dãy nhận được thành 2 dãy con: 1 dãy gồm toàn các số âm, 1 dãy gồm toàn các số dương (làm tương tự với bài toán tách dãy thành hai dãy con: 1 dãy gồm toàn các số chẵn, 1 dãy gồm toàn các số lẻ).


//Câu 5.3:
#include <stdio.h>

//===chuong trinh chinh===
int main(void)
{
 float DaySo[50];
 float DaySoAm[50];
 float DaySoDuong[50];
 int n,i,j,soPTDayAm=0,soPTDayDuong=0;
 
 printf("Nhap vao so luong phan tu cua day so: ");scanf("%d",&n);
 
 //Nhap vao day so
 printf("Nhap vao day so:\n");
 for(i=0;i<n;i++)
 {
  printf("\tDaySo[%d] = ",i+1);
  scanf("%f",&DaySo[i]);
 }
 
 //Dua ra day so da nhap
 printf("Day so da nhap la: ");
 for(i=0;i<n;i++) printf("%.2f  ",DaySo[i]);
 
 //Loại bỏ khỏi dãy các phần tử có giá trị bằng 0.
 for(i=0;i<n;i++)
  if(DaySo[i]==0)
   do
   {
    for(j=i;j<n;j++) DaySo[j]=DaySo[j+1];
    n--;
   }
   while(DaySo[i]==0);
 
 printf("\nDay so da loai bo cac so 0 la: ");
 for(i=0;i<n;i++) printf("%.2f  ",DaySo[i]);
 
 //Tách thành 2 dãy âm, dương
 for(i=0;i<n;i++)
 {
  if(DaySo[i]<0)
  {
   DaySoAm[soPTDayAm] = DaySo[i];
   soPTDayAm++;
  }
  else
  {
   DaySoDuong[soPTDayDuong] = DaySo[i];
   soPTDayDuong++;
  }
 }
 //Dua ra day so am
 printf("\nDay so am la: ");
 for(i=0;i<soPTDayAm;i++) printf("%.2f  ",DaySoAm[i]);
 
 //Dua ra day so duong
 printf("\nDay so duong la: ");
 for(i=0;i<soPTDayDuong;i++) printf("%.2f  ",DaySoDuong[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