Chào các bạn! Vì nhiều lý do từ nay Truyen2U chính thức đổi tên là Truyen247.Pro. Mong các bạn tiếp tục ủng hộ truy cập tên miền mới này nhé! Mãi yêu... ♥

Bài tập C

Bài 1: Tìm USCLN,BSCNN

#include <stdio.h>

#include<conio.h>

unsigned USCLN (unsigned n, unsigned m)

{

  while (n != 0 && m != 0)

    if (n>m)

      n -= m;

    else

      m -= n;

  if (n == 0)

    return m;

  else

    return n;

}

unsigned BSCNN (unsigned n, unsigned m)

{

  return n * m / USCLN(n, m);

}

int main()

{

    char key;

     unsigned n, m;

    do

    {

  printf("Nhap hai vao so nguyen duong:

");

  printf("

So thu nhat a = ");

  scanf("%u", &n);

  printf("

So thu hai b = ");

  scanf("%u", &m);

  printf("

USCLN cua %u va %u = %u", n, m, USCLN(n,m));

  printf("

BSCNN cua %u va %u = %u", n, m, BSCNN(n,m));

  printf("

Nhan phim bat ky de tiep tuc. Nhan phim ESC de thoat chuong trinh....

");

  key = getch();

  }

   while(key!=27);

}

Bài 2: Đổi chữ Hoa thành thường và ngược lại

#include <stdio.h>

#include <string.h>

#include <ctype.h>

#include <conio.h>

void hoa(char *xau)

    {

        for(int i=0;i<strlen(xau);i++)

            xau[i]=toupper(xau[i]);

    }

void thuong(char *xau)

     {

        for(int i=0;i<strlen(xau);i++)

            xau[i]=tolower(xau[i]);                

     }

main(void)

    {

          char x[200];

          printf("Nhap vao 1 chuoi :");

          fflush(stdin);

          gets(x);

          hoa(x);

          printf("Chuoi viet hoa : %s",x);

          thuong(x);

          printf("

Chuoi viet thuong :%s",x);

          getch();         

    }

Bài 3: Đếm số lượng số nguyên tố trong 1 mảng

#include <stdio.h>

#include <conio.h>

#include <math.h>

#define max 2000

int main()

{

    int i, n, f= 1,a[max];

    printf("

nhap vao n :\t");

    scanf("%d",&n);

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

        {

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

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

        }

        {

          for(i=2;i<=sqrt(n);i++)

             if(n%a[i]==0)

                f = 0;

            if(f)

                   printf("so nguyen to la :%4d ",a[i]);

            else 

                printf("

khong co phan tu nao !");

    }

    getch();

    return 0;     

Bài 4: Đém số nguyên to trong 1 mảng, in ra màn hình

#include<stdio.h>

#include<stdlib.h>

#include<conio.h>

#include<math.h>

int ktSNT (int a)

{

    int i = 0;

    for(i = 2; i <= (int)sqrt(a); i++)

    {

        if( a % i == 0 || a < 2 && a != 2)

        {

            return 0;

        }

    }

    return 1;

}

int main ()

{

    int N, i, j, k = 0;

    int* snt = 0;

    int* a = NULL;

    printf("

Nhap vao N: ");

    scanf("%d", &N);

    snt = (int*)malloc(N*sizeof(int));

    a = (int*)malloc(N*sizeof(int));

    k = 0;

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

    {

        printf("

N[%d]: ", i);

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

    }

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

    {

        if(ktSNT(a[i]) == 1)

        {

            snt[k] = a[i];

            k++;

        }

    }

    printf("

Co %d so nguyen to. Cac so do la:

",k);

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

    {

    printf("

N[%d]= %d

", i, snt[i]);

    }

    free(snt);

    free(a);

    getch();

    return 0;

}

Bài 5: Dãy âm dương

#include<stdio.h>

#include<conio.h>

#include<windows.h>

int nhap(int a[20],int n)

{

    int i;

    printf("

Nhap phan tu cho day: ");

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

    {

        printf("

Nhap phan tu thu %d: ",i+1);

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

        }

}

void xuat(int a[20], int n)

{

     int i;

     printf("

Mang ban vua nhap la: ");

     for(i=0;i<n;i++) printf("%5d",a[i]);

}

void tach(int a[20],int b[20], int c[20],int n)

{

     int i,x=0,y=0;

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

     {

     if(a[i]<0) {b[x]=a[i];x++;}

     else {c[y]=a[i];y++;}

     }

     printf("

Mang sau khi xap xep la: ");

     printf("

Mang am la: ");

     for(i=0;i<x;i++) printf("%5d",b[i]);

     printf("

Mang duong la: ");

     for(i=0;i<y;i++) printf("%5d",c[i]);

}

int main()

{

      int n,a[20],b[2],c[20];

      printf("

Nhap so phan tu cho mang: "); scanf("%d",&n);

      nhap(a,n);

      xuat(a,n);

      tach(a,b,c,n);

      getch();

Bài 6: Đảo xâu

#include<stdio.h>

#include<conio.h>

#include<string.h>

int main()

{

    char key;

char s[255];

int i, j,c;

do{

printf("

Nhap xau ki tu gom cac chu so

");

fflush(stdin);

gets(s);

for (i = 0,j = strlen(s)-1;i < j; i++, j--)

{

            c = s[i];

            s[i] = s[j];

            s[j] = c;

}

puts("

Xau sau khi dao nguoc la ");

puts(s);

printf("Nhan phim bat ky de tiep tuc. Nhan phim ESC de thoat....");

 key = getch();

}

while (key !=27);

}

Bài 7: Đém kí tự và số trong 1 dãy

#include<stdio.h>

#include<conio.h>

#include<string.h>

#define SIZE 256

#define MAX 100

void demkitu(char *p)

{

    int len=strlen(p),i;

    int count[SIZE]={0};// khai bao mang dem, gan cho no ==0 het

    for(i=0;i<len;i++) count[p[i]]++; // thuc hien dem so lan xuat hien

    for(i=0;i<SIZE;i++) // tien hanh xuat

       if(count[i]) printf("ki tu '%c' xuat hien %d lan

",i,count[i]);

}

void demsonguyen(int *p,int n)

{

     int count[MAX]={0},i;

     for(i=0;i<n;i++) count[p[i]]++;

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

       if (count[i]) printf("so '%d' xuat hien %d lan

",i,count[i]);

}

int main ()

{

    char st[SIZE];

    int a[MAX],n;

    printf("nhap mag ki tu :");

    gets(st);

    demkitu(st);

    printf("-------------------------------------

");

    printf("nhap day so nguyen gom n so,%d",&n);

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

    {

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

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

    }

    demsonguyen(a,n);

    getch();

Bài 8: Kiểm tra số đối xứng

#include <stdio.h>

#include <conio.h>

#include <math.h>

void NhapSoNguyenDuong(int &k)

{

    do

    {

        printf("Nhap mot so nguyen duong: ");

        scanf("%d", &k);

    } while (k <= 0);

}

int SoLuongKySo(int k)

{

    int dem = 0;

    while (k!=0)

    {

        k = k/10;

        dem++;

    }

    return dem;

}

bool LaSoDoiXung(int k)

{

    int soMuLuyThua = SoLuongKySo(k) - 1;

    int m = k;

    double x = 0;

    while (k != 0)

    {

        int donVi = k % 10;

        k = k/10;

        x = x + donVi * pow(10.0, soMuLuyThua);

        soMuLuyThua--;

    }

    if (x == m)

        return true;

    return false;

}

int main()

{

    int n;

    NhapSoNguyenDuong(n);

    if (LaSoDoiXung(n) == true)

        printf("%d la so doi xung

", n);

    else

        printf("%d khong la so doi xung

", n);

    getch();

}

Bài 9: Kiểm tra min max

#include<stdio.h>

#include<stdlib.h>

#include<conio.h>

int main()

{

float *a,x, smax, smin;

int i,n;

printf("

Nhap so phan tu cua day");

scanf("%d", &n);

printf("

Nhap day so nguyen duong");

a = (float *) malloc(n*sizeof(float));

if(a!=NULL) {

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

            {

                        scanf("%f", &x);

                        a[i]=x;

            }

            for (smax=a[0], smin=a[0],i=1; i<n; i++)

            if (a[i]>smax)

                        smax=a[i];

            else  if (a[i]<smin)

                        smin=a[i];

            printf("So lon nhat la %0.f

", smax);

            printf("

Vi tri dat max la: ");

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

                        if (smax==a[i])

                                    printf("%4d", i+1);

            printf("So nho nhat la %0.f

", smin);

            printf("Cac vi tri dat min la:");

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

                        if (smin==a[i])

                                    printf("%4d", i+1);

    free(a);

  }

  else {

    printf("

Khong du bo nho.

");

   }

getch();

}

Bài 10: Kiểm tra dãy tăng, và sắp xếp

#include<conio.h>

#include<stdio.h>

#include<math.h>

#include<stdlib.h>

int main()

{

    char key;

float *a, tmp;

int dt=0, n, i, j;

do{

printf("

Nhap so phan tu cua day: ");

scanf("%d", &n);

a = (float *) malloc(n*sizeof(float));

if(a!=NULL) {

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

      printf("

a[%d]=", i+1);

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

    }

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

      if (a[i]>a[i-1])

                          dt++;

    }

            if (dt==n-2)

                        printf("

Day la day tang");

            else

            {

                        printf("

Day sau khi sap xep: ");

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

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

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

                                                {

                                                            tmp=a[i];

                                                            a[i]=a[j];

                                                            a[j]=tmp;

                                                }

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

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

            }

    free(a);

  }

  else {

    printf("

Khong du bo nho.

");

   }

   printf("Nhan phim bat ky de tiep tuc! Nhan phim ESC de thoat...");

key=getch();

}

while(key!=27);

}

Bài 11: Kiểm tra dãy giảm và sắp xếp

#include<conio.h>

#include<stdio.h>

#include<stdlib.h>

int main()

{

    char key;

float *a, tmp;

int dg=0, n, i, j;

do{

printf("

Nhap so phan tu cua day: ");

scanf("%d", &n);

a = (float *) malloc(n*sizeof(float));

if(a!=NULL) {

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

      printf("

a[%d]=", i+1);

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

    }

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

      if (a[i]<a[i-1])

                          dg++;

    }

            if (dg= =n-2)

                        printf("

Day la day giam");

            else

            {

                        printf("

Day sau khi sap xep: ");

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

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

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

                                                {

                                                            tmp=a[i];

                                                            a[i]=a[j];

                                                            a[j]=tmp;

                                                }

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

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

            }

    free(a);

  }

  else {

    printf("

Khong du bo nho.

");

   }

   printf("Nhan phim bat ky de tiep tuc! Nhan phim ESC de thoat...");

key = getch();

}

while(key!=27);

}

Bài 12: Kiểm tra số đã cho có là số chính phương không?

#include<stdio.h>

#include<conio.h>

#include<math.h>

int main()

{

    int n;

    double m;

        printf("Nhap so n: ");

        scanf("%d",&n);

        m=sqrt(n);

        if (m*m == n)

        printf("%d la so chinh phuong", n);

        else

        printf("%d khong phai la so chinh phuong",n);

        getch();

}

Bạn đang đọc truyện trên: Truyen247.Pro

Tags: