Thứ Hai, 16 tháng 6, 2014

Khảo sát mảng một chiều

Viết chương trình nhập vào một mảng một chiều có N phần tử nhập vào từ bàn phím. Xuất ra màng hình:
Dòng 1: Gồm các số lẻ, tổng có bao nhiêu số lẻ
Dòng 2: Gồm các số chẳng, toonge có bao nhiêu số chẳng
Dòng 3: Gồm các số nguyên  tố
Dòng 4: Gồm các số không là số nguyên tố

Bài Giải




/*
Name: Khao sat mang
Copyright: None
Author: Tran Anh
Description: http://www.code.tavn.net
*/
#include<conio.h>
#include<stdio.h>
#include<math.h>

void inp(int t[], int k)
{
for(int i=0;i<k;i++)
{
printf("\t- Nhap vao phan tu A[%d]: ",i);
scanf("%d",&t[i]);
}

}

void le(int t[], int k)
{
int plus=0;

for(int i=0;i<k;i++)
if (t[i]%2)
{
printf("%6d",t[i]);
plus++;
}
printf("\t    Co %d so\n",plus);
}

void chang(int t[], int k)
{
int plus=0;

for(int i=0;i<k;i++)
if (!(t[i]%2))
{
printf("%6d",t[i]);
plus++;
}
printf("\t   Co %d so\n",plus);
}

int test(int n)
{
int kq=1;

for(int i=2;i<=int(sqrt(n));i++)
if((n%i)==0)
kq=0;

return kq;
}

void ngto(int t[], int k)
{
for (int i=0;i<k;i++)
if (test(t[i]))
printf("%6d",t[i]);
printf("\n");

}
void kngto(int t[], int k)
{
for (int i=0;i<k;i++)
if (!(test(t[i])))
printf("%6d",t[i]);
printf("\n");

}

main()
{
int n,i;
printf("\t- Nhap vao so phan tu: "); scanf("%d",&n);
int a[n];
inp(a,n);
le(a,n);
chang(a,n);
ngto(a,n);
kngto(a,n);
getch();
return 0;
}

Đảo ngược một mảng một chiều

Viết chương trình nhập vào mảng một chiều có N phần tử nhập vào từ bàn phím. Sau đó đảo ngược mảng một chiều vừa nhập.

Bài Giải



/*
Name: Dao nguoc mang mot chieu
Copyright: None
Author: Tran Anh
Description: http://www.code.tavn.net
*/
#include <conio.h>
#include <stdio.h>

main()
{

 //Trang tri chuong trinh
  int i;
  printf("\t");
  for (i=1;i<30;i++) printf("* ");
  printf("\n\t\t CHUONG TRINH DAO NGUOC MOT MANG\n\n");
 //Het doan chuong trinh trang tri

  int n;

  printf("\t- Nhap vao so phan tu: "); scanf("%d",&n);

  int a[n];

  printf("\n");

  for (i=1;i<=n;i++)
  {
   printf("\t- Nhap vao phan tu a[%d]: ",i);
   scanf("%d",&a[i]);
   }
 
   printf("\n\n");
 
  printf("\t=> Mang ban da nhap: \n\t");
   for (i=1;i<=n;i++)
   printf("%d  ",a[i]);
 
 
 
   printf("\n\n");

  printf("\t=> Mang sau khi dao chieu: \n\t");
 
  int val;
   for (i=1;i<=n/2;i++)
  {
   val=a[i];
   a[i]=a[n-i+1];
   a[n-i+1]=val;
 
   }
 
 
  for (i=1;i<=n;i++)
   printf("%d  ",a[i]);


 getch();
 return 0;
}


Tìm phần tử lớn nhất trong một mảng số thực có N phần tử

Viết chương trình nhập vào một mảng số thực có N phần tử, Sau đó viết hàm có đối số để tìm ra phần tử lớn nhất trong mảng số thực đó.

Bài Giải



/*
Name: Tim phan tu lon nhat trong mang so thuc
Copyright: None
Author: Tran Anh
Description: http://www.code.tavn.net
*/

#include <conio.h>
#include <stdio.h>

void inp(float a[], int n)
{
 for(int i=0;i<n;i++)
 {
  printf("\t-Nhap vao phan tu A[%d]: ",i);
  scanf("%f",&a[i]);
  }
}

float max(float a[], int n)
{
 float max=a[0];
  for(int i=0;i<n;i++)
  if (a[i]>max)
   max=a[i];


 return max;
}
main()
{
 int n;
 printf("\t-Nhap so phan tu: "); scanf("%d",&n);

 float a[n];

 inp(a,n);

 printf("\t=>Phan tu lon nhat trong mang la: %f",max(a,n));




 getch();
 return 0;
}


Đếm số phần tử âm dương trong mảng

Viết chương trình nhập vào mảng một chiều có N phần tử là số thực, để xem có bao nhiêu số âm và bao nhiêu số dương.

Bài Giải




/*
Name: Dem so phan tu am duong trong mang
Copyright: None
Author: Tran Anh
Description: http://www.code.tavn.net
*/
#include<conio.h>
#include<stdio.h>


main(){
int n,i;
printf("\n\t- Cho biet mang co bao nhieu phan tu: "); scanf("%d",&n);
float a[n];
 for (i=0;i<n;i++)
  {
   printf("\t- Nhap vao phan tu A[%d]= ",i);
   scanf("%f",&a[i]);

  }

int duong=0, am=0;

 for (i=0;i<n;i++)
  if (a[i]<0) am++;
  else
   duong++;
 
printf("\n\t=> So phan tu AM trong mang: %d",am);
printf("\n\t=> So phan tu DUONG trong mang: %d",duong);

 printf("\n\n\n\t\t\t\t http://tvlaptrinh.blogspot.com");
getch();
return 0;
}

Thứ Sáu, 13 tháng 6, 2014

Tổng các số nguyên tố nhỏ hơn N

Viết chương trình nhập vào số N, sau đó xuất ra màng hình tổng các số nguyên tố nhỏ hơn N.
Ví dụ: Nhập vào N=20. Xuất ra màng hình với dạng:
2   3  5  7  11   13   17   19
  => Tong = 77



Bài Giải



/*
Name: Tong cac so nguyen to nho hon N
Copyright: None
Author: Tran Anh
Description: http://www.code.tavn.net
*/

#include <conio.h>
#include <stdio.h>

int test(int k)
{
int i,test=1;

for (i=2;i<k;i++)
if (k%i==0)
test=0;
return test;
}

main()
{
int n,s=0;
printf("\t- Nhap vao gia tri N= "); scanf("%d",&n);
printf("\t=> Cac so nguyen to be hon N: \n");


for (int i=2;i<=n;i++)
if (test(i))
{
printf("%6d",i);
s+=i;
}
printf("\n\t=> Tong cac so nguyen to be hon N =  %d",s);

getch();
return 0;
}

Thứ Năm, 12 tháng 6, 2014

Xét tam giác là tam giác gì

Nhập vào số đo ba cạnh của một tam giác từ bàn phím. Sau đó hãy phân tích xem đó là tam giác gì? (Vuông, cân, hay đều)
Bài Giải




/*
Name: Xet tam giac
Copyright: None
Author: Tran Anh
Description: http://www.code.tavn.net
*/
#include<conio.h>
#include<stdio.h>

int can(int u, int v, int t)
{
 int test=0;

 if((u==v&&u!=t)||(u==t&&u!=v)||(t==v&&t!=u))
  test=1;
 return test;
}

int deu(int t, int u, int v)
{
 int test=0;

 if (u==v&&u==t&&t==v)
  test=1;
  return test;
}

int vuong(int t, int u, int v)
{
 int test=0;

 if ((((t*t)+(u*u))==(v*v))||(((t*t)+(v*v))==(u*u))||(((u*u)+(v*v))==(t*t)))
 test=1;

 return test;
}
int main()
{
 int a,b,c;

 printf("\t- Nhap vao do: "); scanf("%d",&a);
 printf("\t- Nhap vao do: "); scanf("%d",&b);
 printf("\t- Nhap vao do: "); scanf("%d",&c);


 printf("\t- Tam giac ban nhap la tam giac ");
 if ((a+b>c)&&(a+c>b)&&(b+c>a))
  {
   if (deu(a,b,c))
    printf("Deu");
   else
   {
    if (vuong(a,b,c))
     printf("Vuong");
    if (can(a,b,c))
     printf(" Can");
   }

 
   if (!(deu(a,b,c)&&can(a,b,c)&&vuong(a,b,c)))
    printf("Thuong");
     }
  else
   printf("Khong La Tam Giac");
 

 getch();
 return 0;
}


Thứ Ba, 3 tháng 6, 2014

Đếm số chứ số chẳn, số chữ số lẻ, số chữ số nguyên tố, không nguyên tố trong mảng

Viết chương trình nhập vào mảng một chiều gồm các số nguyên, sau đó xuất ra màng hình các số chẳn, và tổng có bao nhiêu số chẳn, số chữ số lẻ và tổng có bao nhiêu số lẽ, số chữ số nguyên tố và tổng các chữ số nguyên tố, số chữ số không là nguyên tố và tổng số chữ số không là số nguyên tố ra màng hình theo dạng sau:

Sole1, Sole2, Sole3,.....   K (k là số chữ số)
Sochan1, Sochan2, Sochan3,.....  U (u là số chữ số)
Ngto1, Ngto2, Ngto3,....              V (v là số chữ số)
Kngto1, Kngto2, Kngto3,.........    T  (t là số chữ số)

Bài Giải



/*
Name: khao sat day so
Copyright: None
Author: Tran Anh
Description: http://www.code.tavn.net
*/

#include <conio.h>
#include <stdio.h>
#include <math.h>

void sle(int n, int a[])
{
 int dem=0;
 for (int i=0;i<n;i++)
  if (a[i]%2)
   {
    dem++;
    printf("%d  ",a[i]);
    }
   printf("%15d\n",dem);
}

void schan(int n, int a[])
{
 int dem=0;
 for (int i=0;i<n;i++)
  if (!(a[i]%2))
   {
    dem++;
    printf("%d  ",a[i]);
    }
   printf("%15d\n",dem);
}


int test(int n)
{
 int i,f=1;

 for (i=2;i<=(int)sqrt(n);i++)
 if (n%i==0)
  f=0;

 return f;
}

void nguyento(int n, int a[])
{
 int dem=0;
 for (int i=0;i<n;i++)
  if (test(a[i])&&a[i]>1)
   {
    dem++;
    printf("%d  ",a[i]);
    }

 printf("%15d\n",dem);

}

void khongnguyento(int n, int a[])
{
 int dem=0;
 for (int i=0;i<n;i++)
  if (!(test(a[i])&&a[i]>1))
   {
    dem++;
    printf("%d  ",a[i]);
    }

 printf("%15d",dem);

}

int main()
{
 int n,i;

 printf("\t- Nhap so phan tu cua mang: ");
 scanf("%d",&n);

 int a[n];

 for (i=0;i<n;i++)
  {
   printf("\t- Nhap vao phan tu a[%d]: ",i);
   scanf("%d",&a[i]);
   }
 
 
 
  sle(n,a);
  schan(n,a);
  nguyento(n,a);
  khongnguyento(n,a);

 getch();
 return 0;
}

Đổi chổ hai số nguyên a và b

Viết chương trình đổi chổ hai số nguyên nhập vào từ bàn phím



Bài Giải



/*
Name: DOi cho 2 so nguyen a va b
Copyright: None
Author: Tran Anh
Description: http://www.code.tavn.net
*/

#include<conio.h>
#include <stdio.h>

int hoanvi(int &u, int &v)
{
 int tam;
 tam=u;
 u=v;
 v=tam;


}
void change(int *u, int *v)
{
 int tam;
 tam=*u;
 *u=*v;
 *v=tam;

}
main()
{
 //Trang tri chuong trinh
  int l;
  printf("\t");
  for (l=1;l<30;l++) printf("* ");
  printf("\n\t\t DOI CHO HAI SO NGUYEN\n\n");
  //Het doan chuong trinh trang tri

 int a,b;
 printf("\t- Nhap vao so A= "); scanf("%d",&a);
 printf("\t- Nhap vao so B= "); scanf("%d",&b);

 change(&a,&b);

 printf("\n\t- Gia tri A= %d\n",a);
 printf("\t- Gia tri B= %d",b);

 hoanvi(a,b);

 printf("\n\n\t- Gia tri A= %d\n",a);
 printf("\t- Gia tri B= %d",b);

 getch();
 return 0;
}

  getch();
  return 0;
  }

Hàm tìm một số nguyên nhỏ nhất và lớn nhất trong một mảng

Viết chương trình nhập vào từ bàn phím một mảng số nguyên có N phần tử. Sau đó hãy viết hàm trả về phần tử lớn nhất và nhỏ nhất trong mảng.


Bài Giải



/*
Name: Phan tu lon nhat, nho nhat trong mang
Copyright: None
Author: Tran Anh
Description: http://www.code.tavn.net
*/

/*
  Name: Ham tin gia tri nho nhat va lon nhat trong mang
 Copyright: None
 Author: Tran Anh
 Date: 03/06/14 19:18
 Description: http://tvlaptrinh.blogspot.com/
*/
 #include<conio.h>
 #include<stdio.h>


 int min(int a[],int n)
 {
  int i,minx=a[0];

  for (i=0;i<n;i++)
   if (a[i]<minx)
    minx=a[i];

  return minx;
  }

 int max(int a[],int n)
 {
  int i,maxx=a[0];

  for (i=0;i<n;i++)
   if (a[i]>maxx)
    maxx=a[i];

  return maxx;
  }

 int main()
 {
  //Trang tri chuong trinh
  int l;
  printf("\t");
  for (l=1;l<30;l++) printf("* ");
  printf("\n\t\t HAM TIM SO LON/NHO NHAT TRONG MANG\n\n");
  //Het doan chuong trinh trang tri
  int n,i;
  printf("\t- Nhap vao so phan tu mang: "); scanf("%d",&n);

  int a[n];

  for (i=0;i<n;i++)
   {
    printf("\t- Nhap vao phan tu a[%d]: ",i);
    scanf("%d",&a[i]);
    }
  printf("\n\t=> Gia tri nho nhat trong mang la: %d\n",min(a,n));
  printf("\n\t=> Gia tri lon nhat trong mang la: %d",max(a,n));


  getch();
  return 0;
  }

Bài đăng phổ biến