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

Bài tập lập trình PHẦN II MẢNG

19 201 0

Đ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 19
Dung lượng 91,5 KB

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

Nội dung

PHẦN II : MẢNGCâu 1: viết chương trình nhập một mảng một chiều a gồm n số thực.. hãy tính và in ra màn hình trung bình cộng của các phần tử trong mảng... Tìm và in ra màn hình giá trị

Trang 1

PHẦN II : MẢNG

Câu 1: viết chương trình nhập một mảng một chiều a gồm n số thực hãy tính

và in ra màn hình trung bình cộng của các phần tử trong mảng.

#include <conio.h>

#include <stdio.h>

void nhap(float a[],int n)

{int i;

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

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

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

}

}

void xem(float a[],int n)

{int i;

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

printf("%5.2f",a[i]);

}

float tbc(float a[],int n)

{int i; float s;

for(i=0;i<n;s=s+a[i],i++);

return (s/n);

}

void main()

{clrscr();

float a[50];int n;

printf("\n nhap so luong phan tu cua mang n= ");

scanf("%d",&n);

nhap(a,n);

printf("\n xem mang:");

xem(a,n);

printf("\n trung binh cong cac phan tu cua mang=%5.2f",tbc(a,n));

getch();

}

Câu 2: viết chương trình nhập một mảng một chiều n số nguyên Sắp xếp

mảng theo thứ tự giảm dần In ra màn hình mảng trước và sau khi sắp xếp.

#include <conio.h>

#include <stdio.h>

void nhap(int a[],int n)

Trang 2

{int i;

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

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

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

}

}

void xem(int a[],int n)

{int i;

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

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

}

void sap_xep(int a[],int n)

{int i,j,tg;

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

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

if (a[i]<a[j])

{tg=a[i];

a[i]=a[j];

a[j]=tg;

}

}

void main()

{clrscr();

int a[50], n;

printf("\n nhap so luong phan tu cua mang n= ");

scanf("%d",&n);

nhap(a,n);

printf("\n mang truoc khi sap xep la:");

xem(a,n);

sap_xep(a,n);

printf("\n mang sau khi sap xep la:");

xem(a,n);

getch();

}

Câu 3: viết chương trình nhập một mảng một chiều n số thực Sắp xếp mảng

theo thứ tự giảm dần In ra màn hình mảng trước và sau khi sắp xếp.

#include <conio.h>

#include <stdio.h>

void nhap(float a[],int n)

{int i;

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

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

Trang 3

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

}

}

void xem(float a[],int n)

{int i;

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

printf("%5.2f",a[i]);

}

void sap_xep(float a[],int n)

{int i,j; float tg;

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

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

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

{tg=a[i];

a[i]=a[j];

a[j]=tg;

}

}

void main()

{clrscr();

int n;

float a[50];

printf("\n nhap so luong phan tu cua mang n= ");

scanf("%d",&n);

nhap(a,n);

printf("\n mang truoc khi sap xep la:");

xem(a,n);

sap_xep(a,n);

printf("\n mang sau khi sap xep la:");

xem(a,n);

getch();

}

Câu 4: viết chương trình nhập một mảng một chiều n số thực Đếm và thông

báo ra màn hình trong mảng có bao nhiêu phần tử âm.

#include <conio.h>

#include <stdio.h>

void nhap(float a[],int n)

{int i;

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

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

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

}

Trang 4

void xem(float a[],int n)

{int i;

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

printf("%7.2f",a[i]);

}

int dem(float a[],int n)

{int i=0,d=0;

while (i<n)

{if (a[i]<0) d++;

i++;

}

return d;

}

void main()

{clrscr();

int n;

float a[50];

printf("\n nhap so luong phan tu cua mang n= ");

scanf("%d",&n);

nhap(a,n);

printf("\n xem mang:");

xem(a,n);

printf("\n so phan tu am cua mang: %5d",dem(a,n));

getch();

}

Câu 5: viết chương trình nhập một mảng một chiều n số thực Đếm và thông

báo ra màn hình trong mảng có bao nhiêu phần tử dương.

#include <conio.h>

#include <stdio.h>

void nhap(float a[],int n)

{int i;

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

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

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

}

}

void xem(float a[],int n)

{int i;

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

printf("%7.2f",a[i]);

}

Trang 5

int dem(float a[],int n)

{int i=0,d=0;

while (i<n)

{if (a[i]>0) d++;

i++;

}

return d;

}

void main()

{clrscr();

int n;

float a[50];

printf("\n nhap so luong phan tu cua mang n= ");

scanf("%d",&n);

nhap(a,n);

printf("\n xem mang:");

xem(a,n);

printf("\n so phan tu duong cua mang: %5d",dem(a,n));

getch();

}

Câu 6: viết chương trình nhập một mảng một chiều n số thực Tìm và in ra

màn hình giá trị lớn nhất của mảng.

#include <conio.h>

#include <stdio.h>

void nhap(float a[],int n)

{int i;

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

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

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

}

}

void xem(float a[],int n)

{int i;

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

printf("%5.2f",a[i]);

}

float tim_max(float a[],int n)

{int i=1,max=a[0];

while (i<n)

{if (max<a[i]) max=a[i];

i++;

}

Trang 6

return max;

}

void main()

{clrscr();

float a[50];

int n;

printf("\n nhap so luong phan tu cua mang n= ");

scanf("%d",&n);

nhap(a,n);

printf("\n xem mang:");

xem(a,n);

printf("\n phan tu lon nhat cua mang: %5.2f",tim_max(a,n));

getch();

}

Câu 7: viết chương trình nhập một mảng một chiều n số nguyên Tính và in

ra màn hình tổng của các phần tử trong mảng.

#include <conio.h>

#include <stdio.h>

void nhap(int a[],int n)

{int i;

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

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

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

}

}

void xem(int a[],int n)

{int i;

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

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

}

int tong(int a[],int n)

{int i,s=0;

for(i=0;i<n;s=s+a[i],i++);

return s;

}

void main()

{clrscr();

int a[50],n;

printf("\n nhap so luong phan tu cua mang n= ");

scanf("%d",&n);

nhap(a,n);

printf("\n xem mang:");

Trang 7

xem(a,n);

printf("\n tong cac phan tu cua mang=%5d",tong(a,n));

getch();

}

Câu 8: viết chương trình nhập một mảng một chiều n số nguyên dương Tính

và thông báo ra màn hình tổng các phần tử có giá trị chẵn trong mảng.

#include <conio.h>

#include <stdio.h>

void nhap(int a[],int n)

{int i;

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

{nhap: printf ("a[%d]=",i);

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

if (a[i]<=0)

{printf(" nhap lai a[%d] \n",i);

goto nhap;

}

}

}

void xem(int a[],int n)

{int i;

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

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

}

int tong(int a[], int n)

{int i=0,s=0;

while (i<n)

{if (a[i]%2==0) s=s+a[i];

i++;

}

return s;

}

void main()

{clrscr();

int a[50], n;

printf("\n nhap so luong phan tu cua mang n= ");

scanf("%d",&n);

nhap(a,n);

printf("\n xem mang:");

xem(a,n);

printf("\n tong cac phan tu chan trong manng: %5d",tong(a,n));

getch();

Trang 8

Câu 9: viết chương trình nhập một mảng một chiều n số nguyên dương Tính

và thông báo ra màn hình tổng các phần tử có giá trị lẻ trong mảng.

#include <conio.h>

#include <stdio.h>

void nhap(int a[],int n)

{int i;

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

{nhap: printf ("a[%d]=",i);

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

if (a[i]<=0)

{printf(" nhap lai a[%d] \n",i);

goto nhap;

}

}

}

void xem(int a[],int n)

{int i;

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

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

}

int tong(int a[], int n)

{int i=0,s=0;

while (i<n)

{if (a[i]%2!=0) s=s+a[i];

i++;

}

return s;

}

void main()

{clrscr();

int a[50], n;

printf("\n nhap so luong phan tu cua mang n= ");

scanf("%d",&n);

nhap(a,n);

printf("\n xem mang:");

xem(a,n);

printf("\n tong cac phan tu le trong manng: %5d",tong(a,n));

getch();

}

Trang 9

Câu 10: viết chương trình nhập và xem mảng một chiều n số nguyên bằng

cách sử dụng con trỏ.

#include <conio.h>

#include <stdio.h>

void nhap(int a[],int n)

{int i,*p;

p=a;

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

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

scanf("%d",p);

p++;

}

}

void xem(int a[],int n)

{int i,*p;

p=a;

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

{printf("%5d",*p);

p++;

}

}

void main()

{clrscr();

int a[50],n;

printf("\n nhap so phan tu cua mang n= ");

scanf("%d",&n);

printf("\n nhap mang nho con tro:\n");

nhap(a,n);

printf("\n xem mang nho con tro:");

xem(a,n);

getch();

}

Câu 11: viết chương trình nhập vào một mảng hai chiều amxn gồm các số nguyên Hãy in ra màn hình dạng chuyển vị của ma trận a.

#include <conio.h>

#include <stdio.h>

void nhap(int a[][50],int n,int m)

{int i,j,tg;

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

for (j=0; j<m ;j++)

{printf("phan tu thu [%d][%d]= ",i,j);

Trang 10

scanf("%d",&tg); a[i][j]=tg;

}

}

void xem(int a[][50],int n,int m)

{int i,j;

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

{for (j=0;j<m;j++)

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

printf("\n");

}

}

void chuyen_vi(int a[][50],int n,int m)

{int i,j;

for (j=0;j<m;j++)

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

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

printf("\n");

}

}

void main()

{clrscr();

int a[50][50],n,m;

printf("\n nhap so hang n so cot m:\n");

scanf("%d%d",&n,&m);

printf("\n nhap mang:\n");

nhap(a,n,m);

printf("\n xem mang:\n");

xem(a,n,m);

printf("\n dang ma tran chuyen vi:\n");

chuyen_vi(a,n,m);

getch();

}

Câu12: viết chương trình nhập hai ma trận anxm ,b nxm gồm các số nguyên Hãy tính và in ra màn hình ma trận c nxm là tổng của hai ma trận trên.

#include <conio.h>

#include <stdio.h>

void nhap(int a[][50],int n,int m)

{int i,j,tg;

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

for (j=0; j<m ;j++)

{printf("phan tu thu [%d][%d]= ",i,j);

scanf("%d",&tg); a[i][j]=tg;

Trang 11

}

}

void xem(intt a[][50],int n,int m)

{int i,j;

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

{for (j=0;j<m;j++)

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

printf("\n");

}

}

void cong(int a[][50],int b[][50],int c[][50],int n,int m)

{int i,j;

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

for (j=0;j<m;j++)

c[i][j]=a[i][j]+b[i][j];

}

void main()

{int a[50][50],b[50][50],c[50][50],m,n;

clrscr();

printf("\n nhap so hang n so cot m:\n");

scanf("%d%d",&n,&m);

printf("\n nhap cac phan tu cua a:\n");

nhap(a,n,m);

printf("\n nhap cac phan tu cua b:\n");

nhap(b,n,m);

cong(a,b,c,n,m);

printf("\n mang sau khi cong:\n");

xem(c,n,m);

getch();

}

Câu 13: viết chương trình nhập và xem mảng hai chiều anxm , tính và in ra màn hình tổng các phần tử nằm trên đường chéo chính.

#include <conio.h>

#include <stdio.h>

void nhap(int a[][50],int n)

{int i,j,tg;

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

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

{printf("phan tu thu [%d][%d]= ",i,j);

scanf("%d",&tg); a[i][j]=tg;

}

}

Trang 12

void xem(int a[][50],int n)

{int i,j;

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

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

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

printf("\n");

}

}

int tong(int a[][50],int n)

{int i,j,s=0;

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

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

if (i==j) s=s+a[i][j];

return s;

}

void main()

{int a[50][50],n;

clrscr();

printf("\n nhap so hang so cot cua ma tran vuong: ");

scanf("%d",&n);

printf("\n nhap cac phan tu cua mang:\n");

nhap(a,n);

printf("\n xem mang:\n");

xem(a,n);

printf("\n tong cac phan tu tren duong cheo chinh la: %5d",tong(a,n));

getch();

}

Câu 14: viết chương trình nhập hai ma trận anxm ,b nxm gồm các số nguyên Hãy tính và in ra màn hình ma trận c nxm là hiệu của hai ma trận trên.

#include <conio.h>

#include <stdio.h>

void nhap(int a[][50],int n,int m)

{int i,j,tg;

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

for (j=0; j<m ;j++)

{printf("phan tu thu [%d][%d]= ",i,j);

scanf("%d",&tg); a[i][j]=tg;

}

}

void xem(int a[][50],int n,int m)

{int i,j;

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

Trang 13

{for (j=0;j<m;j++)

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

printf("\n");

}

}

void hieu(int a[][50],int b[][50],int c[][50],int n,int m)

{int i,j;

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

for (j=0;j<m;j++)

c[i][j]=a[i][j]-b[i][j];

}

void main()

{int a[50][50],b[50][50],c[50][50],m,n;

clrscr();

printf("\n nhap so hang n so cot m:\n");

scanf("%d%d",&n,&m);

printf("\n nhap cac phan tu cua a:\n");

nhap(a,n,m);

printf("\n nhap cac phan tu cua b:\n");

nhap(b,n,m);

hieu(a,b,c,n,m);

printf("\n hieu hai ma tran tren la:\n");

xem(c,n,m);

getch();

}

Câu 15: viết chương trình nhập và xem mảng hai chiều anxm , tìm và in ra màn hình phần tử lớn nhất của mảng.

#include <conio.h>

#include <stdio.h>

void nhap(int a[][50],int n,int m)

{int i,j,tg;

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

for (j=0; j<m ;j++)

{printf("phan tu thu [%d][%d]= ",i,j);

scanf("%d",&tg); a[i][j]=tg;

}

}

void xem(int a[][50],int n,int m)

{int i,j;

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

{for (j=0;j<m;j++)

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

Trang 14

printf("\n");

}

}

int tim_max(int a[][50],int n,int m)

{int i,j,max=a[0][0];

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

for (j=0;j<m;j++)

if (max<a[i][j]) max=a[i][j];

return max;

}

void main()

{int a[50][50],n,m;

clrscr();

printf("\n nhap so hang n so cot m:\n");

scanf("%d%d",&n,&m);

printf("\n nhap cac phan tu cua mang:\n");

nhap(a,n,m);

printf("\n xem mang:\n");

xem(a,n,m);

printf("\n phan tu lon nhat cua mang la: %5d",tim_max(a,n,m));

getch();

}

Câu 16: viết chương trình nhập và xem mảng hai chiều anxm , tìm và in ra màn hình phần tử nhỏ nhất của mảng.

#include <conio.h>

#include <stdio.h>

void nhap(int a[][50],int n,int m)

{int i,j,tg;

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

for (j=0; j<m ;j++)

{printf("phan tu thu [%d][%d]= ",i,j);

scanf("%d",&tg); a[i][j]=tg;

}

}

void xem(int a[][50],int n,int m)

{int i,j;

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

{for (j=0;j<m;j++)

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

printf("\n");

}

}

Trang 15

int tim_min(int a[][50],int n,int m)

{int i,j,min=a[0][0];

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

for (j=0;j<m;j++)

if (min>a[i][j]) min=a[i][j];

return min;

}

void main()

{int a[50][50],n,m;

clrscr();

printf("\n nhap so hang n so cot m:\n");

scanf("%d%d",&n,&m);

printf("\n nhap cac phan tu cua mang:\n");

nhap(a,n,m);

printf("\n xem mang:\n");

xem(a,n,m);

printf("\n phan tu nho nhat cua mang la: %5d",tim_min(a,n,m));

getch();

}

Câu 17: viết chương trình nhập vào một mảng hai chiều anxm gồm các số nguyên Hãy xây dựng ma trận b là ma trận chuyển vị của ma trận a In ra màn hình hai ma trận a và b.

#include <conio.h>

#include <stdio.h>

void nhap(int a[][50],int n,int m)

{int i,j,tg;

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

for (j=0; j<m ;j++)

{printf("phan tu thu [%d][%d]= ",i,j);

scanf("%d",&tg); a[i][j]=tg;

}

}

void xem(int a[][50],int n,int m)

{int i,j;

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

{for (j=0;j<m;j++)

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

printf("\n");

}

}

void chuyen_vi(int a[][50],int b[][50],int n,int m)

{int i,j;

Trang 16

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

for (j=0;j<m;j++)

b[j][i]=a[i][j];

}

void main()

{clrscr();

int a[50][50],b[50][50],n,m;

printf("\n nhap so hang n so cot m cua ma tran a:\n");

scanf("%d%d",&n,&m);

printf("\n nhap ma tran a:\n");

nhap(a,n,m);

printf("\n xem ma tran a:\n");

xem(a,n,m);

chuyen_vi(a,b,n,m);

printf("\n chuyen vi cua ma tran a la ma tran b:\n");

xem(b,m,n);

getch();

}

Câu 18: viết chương trình nhập vào một mảng hai chiều amxn gồm các số nguyên Tính và in ra màn hình tổng của các phần tử trên mỗi hàng.

#include <conio.h>

#include <stdio.h>

void nhap(int a[][50],int n,int m)

{int i,j,tg;

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

for (j=0; j<m ;j++)

{printf("phan tu thu [%d][%d]= ",i,j);

scanf("%d",&tg); a[i][j]=tg;

}

}

void xem(int a[][50],int n,int m)

{int i,j;

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

{for (j=0;j<m;j++)

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

printf("\n");

}

}

void tinh(int a[][50],int n,int m)

{int i,j,s;

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

{for (s=0,j=0;j<m;j++)

Ngày đăng: 25/03/2018, 21:22

TỪ KHÓA LIÊN QUAN

w