Tổng hợp bài tập C/C++ có lời giải – Lập Trình Không Khó

Chào chúng ta, hôm này Lập trình ko khó khăn tiếp tục mang đến chúng ta hàng loạt bài bác tập dượt c/c++ sở hữu câu nói. giải. Đây là những bài bác tập dượt thiết kế C/C++ sở hữu câu nói. giải kể từ cơ bạn dạng cho tới nâng lên. Bao bao gồm những phần:

  1. Bài tập dượt về cấu tạo tinh chỉnh, rẽ nhánh
  2. Bài tập dượt về vòng lặp
  3. Bài tập dượt mảng một chiều
  4. Bài tập dượt mảng 2 chiều

Ngoài trăng tròn bài bác tập dượt thiết kế C/C++ này đi ra, các bạn cũng hoàn toàn có thể xem thêm những series bài bác tập dượt không giống của Lập Trình Không Khó sở hữu câu nói. giải bên dưới đây:

Bạn đang xem: Tổng hợp bài tập C/C++ có lời giải – Lập Trình Không Khó

Xem thêm: ĐỀ THI TRẠNG NGUYÊN TIẾNG VIỆT LỚP 2 NĂM HỌC 2020 - 2021

  • 1000 bài bác tập dượt chuyên môn thiết kế của thầy Nguyễn Tấn Trần Minh Khang sở hữu đề & đáp án
  • Bài tập dượt cấu tạo tài liệu & giải thuật tổ hợp C/C++
  • Bộ thuế tập dượt bài bác tập dượt thiết kế của những ngôi trường ĐH sở hữu đáp án
  • Bài tập dượt chuỗi vô C sở hữu đáp án
  • Và rộng lớn 100 bài bác tập dượt thiết kế C/C++ được bố trí theo hướng dẫn chi tiết

20 bài bác tập dượt C/C++ sở hữu câu nói. giải

Bài 1 Tính tổng bình phương những số lẻ từ một cho tới n

#include<stdio.h>
#include<conio.h>
main()
{
    int i,s=0,n;
    printf("Nhap n:");
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        if(i%2!=0)
        {
            s=s+i*i;
        }
    }
    printf("Tong binh phuong cac ví le la: %d", s);
    getch();
}    
Bai2 Tìm max của 3 số a,b,c nhập kể từ bàn phím

#include<stdio.h>
#include<conio.h>
main()
{
    int a,b,c,max;
    printf("Nhap a=");
    scanf("%d",&a);
    printf("Nhap b=");
    scanf("%d",&b);
    printf("Nhap c=");
    scanf("%d",&c);
    max=a; 
    if(b>max)
    {
          max=b; 
    }
    if(c>max)
      {
        max=c;
     }
    printf("gia tri lon nhat la: %d",max);
    getch();
}
Bài 3

Nhập một vài vẹn toàn kể từ keyboard, đánh giá coi này là số chẵn hoặc lẻ

#include<stdio.h>
#include<conio.h>
main()
{    
    int x;
    printf("Nhap x:");
    scanf("%d",&x);
    if(x%2==0)
    {
        printf("%d la ví chan",x);
    }
    else
    {
        printf("%d la ví le",x);
    }
    getch();
}


Bai 4

Tìm ước số cộng đồng lớn số 1 và bội số cộng đồng nhỏ nhất của 2 số vẹn toàn nhập kể từ bàn phím

#include<stdio.h>
#include<conio.h>
#include<conio.h>
main()
{            
    int x,y,a,b;
    do
    {
        printf("Nhap a,b = ");
        scanf("%d%d",&a,&b);
    }
    while(a<=0 || b<=0);
    x=a;
    y=b;
    while(a!=b)
    {
        if(a>b)
        {
            a-=b;
        }
        else
        {
            b-=a;    
        }
    }
    printf("Uoc cộng đồng lon nhat la %d",a);
    printf("nBoi cộng đồng nho nhat la %d",(x*y)/a);
    getch();
}
Bài 5

Nhập một vài vẹn toàn kể từ keyboard. Kiểm tra một vài liệu có phải là số trả hảo?

#include<stdio.h>
#include<conio.h>
#include<math.h>
main()
{    
    int x;
    int s=0,i;
    printf("Nhap mot ví nguyen duong n");
    scanf("%d", &x);
    for(i=1;i<x;i++)
    {
        if(x%i== 0)
        {
            s=s+i;
        }        
    } 
    if(s==x)
    {
        printf("%d la ví hoan hao",x);
    }
    else
    {
        printf("%d khong nhạt la ví hoan hao",x);
    }
    getch();        
}



Bài 6

Nhập một vài vẹn toàn kể từ keyboard. Kiểm tra một vài liệu có phải là số chủ yếu phương không?

#include<stdio.h>
#include<conio.h>
#include<math.h>
main()
{    
    int x,y;
    printf("Nhap x=");
    scanf("%d",&x);  
    y=sqrt(x);
    if(x==y*y)
    {
        printf("%d la ví chinh phuong",x);
    } 
    else
    {
        printf("%d khong nhạt la ví chinh phuong",x);        
    }
    getch();    
}    
Bài 7

Viết công tác in đi ra những số nhân tố vô phạm vi từ một cho tới n, với n vẹn toàn nhập kể từ keyboard.

#include<stdio.h>
#include<conio.h>
main()
{
    int n,i,j,dem;
    printf("Nhap n="); 
    scanf("%d",&n);
    for(i=2;i<=n;i++)
    {        
        dem=0;
        for(j=2;j<=i/2;j++)
        {
            if(i%j==0)
            dem++;
        }        
        if(dem==0)
        {
            printf("%5d",i);
        }
    }
    getch();
}
Bài 8

Viết công tác tính:

S = 1+ x + 2x2 + 3x3 + ... + n xn

Với x là số thực, n là số vẹn toàn được nhập kể từ keyboard.

#include<stdio.h>
#include<conio.h>
#include<math.h>
main()
{    
    int n,i;
    float x,s=1;
    printf("Nhap x,n:");
    scanf("%f %d",&x,&n);
    for(i=1;i<=n;i++)
    {
        s=s+i*pow(x,i);        
    }
    printf(" Gia tri tinh nghịch duoc la:%0.2f ", s);
    getch();
}
Bài 9

Viết công tác tính độ quý hiếm của biểu thức sau:

S(n) = 1 + 3 + 5 + … +(2n+1), với n ngẫu nhiên nhập kể từ keyboard.

#include<stdio.h>
#include<conio.h>
main()
{
    int i,n,s=0;
    printf("Nhap n=");
    scanf("%d",&n);
    for(i=1;i<=2*n+1;i=i+2)
    {
        s=s+i;
    }
    printf("Gia tri bieu thuc la: %d ", s);
    getch();
}
Bài 10

Viết công tác nhập x, nó kể từ keyboard, tính độ quý hiếm của biểu thức sau:

  S = 2 x2 nó + 1 -|x-1|       nếu như x > y
  
       = 5 x – 3 y3 x       nếu như x<=y
#include<stdio.h>
#include<conio.h>
#include<math.h>
main()
{
    float  x,y,s=0;
    printf("Nhap x=");
    scanf("%f",&x);
    printf("nNhap y=");
    scanf("%f",&y) ;    
    if(x>y)
    {
        s=2*x*x*y +1-fabs(x-1) ;    
    }    
    else
    {
        s=5*x - 3*x*pow(y,3);
    }         
    printf ("n gia tri tinh nghịch duoc la  %f",s);
    getch();
}
BÀI TẬP PHẦN MẢNG 1 CHIỀU bài bác 11 cho tới bài bác 16

Bài 11

Nhập vô 1 mặt hàng số vẹn toàn. Hiển thị mặt hàng số bại liệt đi ra screen.

#include<stdio.h>
#include<conio.h>
main()
{    
    int a[50];
    int i,n;
    printf("Nhap ví phan tu mang: ");
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }    
    printf("nMang vua nhap la:");
    for(i=0;i<n;i++)
    {
        printf("%5d",a[i]);
    }
    getch();
}
Bài 12

Nhập 1 mặt hàng số vẹn toàn thể hiện screen những số nhân tố sở hữu vô mảng, địa điểm những số bại liệt vô mảng.

#include<stdio.h>
#include<conio.h>
main()
{    
    int a[50];
    int i,n,j,kt;
    printf("Nhap ví luong phan tu:");
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }    
    printf("nCac ví nguyen to lớn teo vô  đem chạm vi tri cac ví tự vô đem la:");
    for(i=0;i<n;i++)
    {
        kt=0;
        for(j=2;j<=a[i]/2;j++)
        {
            if(a[i]%j==0)
            kt=1;    
        }
        if(kt==0)
        printf("nso nguyen to lớn %d vi tri %d vô đem ", a[i], i );
    }
    getch();
}
Bài 13

Nhập 1 mặt hàng số vẹn toàn không thực sự 50 thành phần, in đi ra screen mặt hàng số tiếp tục nhập

Đưa đi ra screen số lớn số 1 sở hữu vô mặt hàng và địa điểm của chính nó vô mặt hàng.

Sắp xếp mặt hàng số theo đuổi độ quý hiếm những thành phần tăng dần

Tính tổng và tầm với mọi số sở hữu vô mặt hàng.

#include<stdio.h>
#include<conio.h>
main()
{    
    int a[50];
    int i,n,tg,max,j,s=0; 
    printf("nhap vao ví phan tu: "); 
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {        
        scanf("%d", &a[i]);
    }
    max=a[0];
    for(i=1;i<n;i++)
    {
        if(a[i]>max)
        {
            max =a[i];
        }
    }
    printf("nSo lon nhat =%d",max);
    printf("nvi tri cua gia tri lon nhat vô day la: ");
    for(i=0;i<n;i++)
    {
        if (a[i]==max)
        {
            printf("%6d", i+1);
        }
    }
//sap xep day ví theo đuổi thu tu tang dan
    for(i=0;i<n-1;i++)
       for(j=i+1; j<n; j++)
       {
        if(a[i]>a[j])
          {
            tg=a[i];
             a[i]=a[j];
              a[j]=tg;
           } 
       }
    printf("nday ví sau thời điểm sap xep la:");
       for(i=0;i<n;i++)
       {
          printf("%6d",a[i]);
    }
//Tinh tong chạm trung binh cong cac ví vô day
    for(i=0;i<n;i++)
    {
        s=s+a[i];
       }
    printf("nTong cac ví vô day la: %d",s);
    printf("nTrung binh cong cac ví vô day la: %f", (float)s/n);
    getch();
}

Bài 14

Nhập 1 mặt hàng n số vẹn toàn (0<n<30), in đi ra screen mặt hàng số tiếp tục nhập

Đưa đi ra screen những số chẵn và địa điểm số chẵn bại liệt vô dãy

Sắp xếp mặt hàng số theo đuổi độ quý hiếm những thành phần rời dần dần.

Chèn số X vô mặt hàng sao mang đến sau thời điểm chèn gái trị những thành phần vẫn rời dần(x nhập kể từ keyboard.

#include<stdio.h>
#include<conio.h>
main()
{ 
    int a[30],i,j, n,tg,v,x;
    printf("Nhap vao ví phan tu: "); 
    scanf("%d", &n);
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
//hien đua đi ra man hinh day ví vua nhap
    printf("day ví vua nhap la:");
    for(i=0;i<n;i++)
    {
        printf("%5d",a[i]);
    }
//dua đi ra man hinh cac ví chan chạm vi tri vô day
    printf("nCac ví chan vô day chạm vi tri cac ví tự vô day la:");
    for(i=0;i<n;i++)
    {
        if(a[i]%2==0)
        {
            printf("nso %d dung thu %d vô day", a[i], i+1);
        }
    }
// sap xep day ví theo đuổi gia tri cac phan tu giam cầm dan
    for(i=0;i<n-1;i++)
    for(j=i+1;j<n;j++)
    {
        if(a[i]<a[j])
        {
            tg=a[i];
            a[i]=a[j];
            a[j]=tg;
        }
    }
    printf("nDay ví sau thời điểm sap xep la:");
    for(i=0;i<n;i++)
    {
        printf("%5d",a[i]);
    }
//chen ví x vao day sao mang đến sau thời điểm chen gia tri cac phan tu nài tang dan (x nhap tu ban phim)
    printf("nNhap gia tri can chen X:"); 
    scanf("%d", &x);
    v=0; 
    i=0;
    while(a[i]>x)
    {    
        i++;
    } 
    v=i;    
    for(i=n-1;i>=v;i--)
    {
        a[i+1]=a[i];
    }
    a[v]=x;
    printf("n Day ví sau thời điểm chen la:");
    for(i=0;i<n+1;i++)
    {
        printf("%5d", a[i]);
    }
    getch();
}
Bài 15

Nhập 1 mặt hàng số thực không thực sự 50 thành phần, thể hiện screen tổng những số dương vô mặt hàng.

Xóa toàn bộ những số âm sở hữu vô mặt hàng.

#include<stdio.h>
#include<conio.h>
main()
{
    int i, j, n,a[50],s=0;
    printf("Nhap vao ví phan tu ");
    scanf("%d", &n);
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    for(i=0;i<n;i++)
    {
        if(a[i]>0)
        {
            s=s+a[i];
        }
    }
    printf("Tong cac ví duong vô day la:%d",s );
// Xoa tat ca cac ví am vô day
    for(i=0;i<n;i++)
    {
        if(a[i]<0)
         {    
            for(j=i;j<n-1;j++)
            {
                a[j]=a[j+1];
            }
            n=n-1;
        }
    }
    printf("n Day ví sau thời điểm xoa la:");
    for(i=0;i<n;i++)
    {
        printf("%5d", a[i]);
    }
    getch();
}
Bài 16

Nhập 1 mặt hàng số vẹn toàn không thực sự 50 thành phần, thể hiện screen tầm với mọi số phân tách không còn mang đến 3 sở hữu vô mặt hàng. Chèn số X vô địa điểm loại k vô dãy(x,k nhập kể từ bàn phím)

#include<stdio.h>
#include<conio.h>
main()
{ 
    int a[50];
    int i,n,t=0,k,x,d=0;
    printf("Nhap vao ví phan tu: "); 
    scanf("%d", &n);
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
// in đi ra man hinh trung binh cong cac ví phân tách het mang đến 3 
    for(i=0;i<n;i++)
    {
        if(a[i]%3==0)
        {    
            t=t+a[i]; 
            d=d+1;
        }
    }
    if(d==0)    
    {
        printf("khong teo ví phân tách het mang đến 3 vô day");
    }
    else
    {
        printf("TBC ví phân tách het mang đến 3 vô day la %f", (float)t/d);
    }
// chen ví x vao vi tri thu k vô day
    printf("nNhap gia tri chạm vi tri can chen x,k= "); 
    scanf("%d%d", &x,&k);
    for(i=n-1;i>=k;i--)
    {
        a[i+1]=a[i];
    }
    a[k]=x;
    printf("n Day ví sau thời điểm chen la:");
    for(i=0;i<n+1;i++)
    {
        printf("%5d", a[i]);
    }
    getch();
}
BÀI TẬP MẢNG MA TRẬN ( MẢNG 2 CHIỀU ) bài bác 17 cho tới 21

Bài 17

Nhập vô quỷ trận nxm.

Hiển thị đi ra quỷ trận vừa vặn nhập

#include<stdio.h>
#include<conio.h>
main()
{ 
    int a[50][50];
    int i,j,m,n;
    printf("nhap ví huyệt n="); scanf("%d",&n);
    printf("nhap ví cot m="); scanf("%d",&m);
    printf("nhap vao quỷ tran:n");
    for(i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
        {
            scanf("%d",&a[i][j]);
        }
    }
    printf("ma tran vua nhap la:n");
    for(i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
        {
            printf("%d ",a[i][j]);
        }
        printf("n");
    }
}
Bài 18

Nhập vào một trong những quỷ trận n x m, in đi ra quỷ trận vừa vặn nhập bên dưới dạng bảng

Hiển thị và tính tổng những thành phần bên trên mặt hàng chẵn của quỷ trận

Tim độ quý hiếm lớn số 1 bên trên cột 1của quỷ trận

#include<stdio.h>
#include<conio.h>
main()
{
    int a[50][50];
    int i,j,m,n;
    printf("nhap ví huyệt n="); scanf("%d",&n);
    printf("nhap ví cot m="); scanf("%d",&m);
    printf("nhap vao quỷ tran:n");
    for(i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
        {
            scanf("%d",&a[i][j]);
        }
    }
//hien đua quỷ tran vua nhap duoi dang bang
    printf("ma tran vua nhap la:n");
    for(i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
        {
            printf("%d ",a[i][j]);
        }
        printf("n");
    }
// tinh nghịch tong pt tren huyệt chan cua mang
    float s=0;
    for(i=0;i<n;i=i+2)
    {
        for(j=0;j<m;j++)
        {
            s=s+a[i][j];
        }
    }
    printf("nTong pt tren huyệt chan cua đem la: %5f",s);
// tim max tren cot 1 cua mang
    int max;
    max=a[0][0];
    for(i=1;i<n;i++)
    {
        if(a[i][0]>max)
        {
            max=a[i][0];
        }
    }
    printf("nGia tri max tren cot 1 cua đem la %5d",max);
    getch();
}
Bài 19

Nhập 2 quỷ trận m x n số vẹn toàn. Tính tổng 2 quỷ trận

#include<stdio.h>
#include<conio.h>
main()
{
    int a[10][10],b[10][10],c[10][10];
    int i,j,m,n;
    printf("nhap ví huyệt m="); scanf("%d",&m);
    printf("nhap ví cot n="); scanf("%d",&n);
    printf("nhap vao quỷ tran:n");
    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            scanf("%d",&a[i][j]);
        }
    }
    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            scanf("%d",&b[i][j]);
        }
    }
     for(i=0;i<m;i++)
     {
        for(j=0;j<n;j++)
              {
            c[i][j]=a[i][j]+b[i][j];
        }
    }    
    printf("nMa tran sau cong:n");
    for(i=0;i<m;j++)
    {    
        for(j=0;j<n;j++)
        {
            printf("%5d",c[i][j]);
        }
        printf("n");
    }
    getch();
}

Bài 20

Nhập quỷ trận n x n số vẹn toàn. Tìm thành phần lớn số 1 bên trên lối chéo cánh chủ yếu.

Kiểm tra quỷ trận vừa vặn nhập coi liệu có phải là quỷ trận đơn vị chức năng không

#include<stdio.h>
#include<conio.h>
main()
{
    int a[10][10];
    int i,j,n, max;
    printf("Nhap n= ");
    scanf("%d", &n);
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
          {
            scanf("%d",&a[i][j]);
        }
    }
//tim phan tu lon nhat tren duong cheo chinh
    max=a[0][0];
    for(i=0;i<n;i++)
    {
        if(a[i][i]>max)
        {
            max=a[i][i];
        }
    }    
    printf("ngia tri lon nhat tren duong cheo chinh la %d", max);
// kiem tra quỷ tran vua nhap teo nhạt quỷ tran don vi
    int kt=0;
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            if(((i==j)&&(a[i][j]!=1))||((i!=j)&&(a[i][j]!=0)))
            {
                kt=1;
            }
        }
    }
    if(kt==0)
    {
        printf("nla quỷ tran don vi");
    }
    else        
    {
        printf("nkhong nhạt la quỷ tran don vi");
    }
    getch();
}
Bài 21

Nhập vào một trong những quỷ trận n x m, in đi ra quỷ trận vừa vặn nhập bên dưới dạng bảng

Sắp xếp mặt hàng 2 theo hướng độ quý hiếm những thành phần rời dần dần.

Đưa đi ra screen tổng những thành phần vô quỷ trận

Tim độ quý hiếm lớn số 1 vô mảng.

Tìm độ quý hiếm nhỏ nhất phân tách không còn mang đến 3 sở hữu vô mảng

#include<stdio.h>
#include<conio.h>
main()
{ 
    int a[50][50];
    int m,n,i,j;
    printf("nhap ví huyệt n="); scanf("%d",&n);
    printf("nhap ví cot m="); scanf("%d",&m);
    printf("nhap vao quỷ tran:n");
    for(i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
        {
            scanf("%d",&a[i][j]);
        }
    }
// in đi ra quỷ tran vua nhap duoi dang bang
    printf("ma tran vua nhap la:n");
    for(i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
        {
            printf("%d ",a[i][j]);
        }
    printf("n");
    }
//sap xep huyệt 2 vô đem theo đuổi chieu giam cầm dan
    int tg,k;
    for(j=0;j<m-1;j++)
    {
        for(k=j+1;k<m;k++)
        {
            if(a[1][j]<a[1][k])
            {    
                tg=a[1][j];
                a[1][j]=a[1][k];
                a[1][j]=tg;
            }
        }
    }
    printf("nma tran vua sap xep huyệt 2 lan");
    for(j=0;j<m;j++)
    {
        printf("%5d",a[1][j]);
    }
// Dua đi ra man hinh tong cac phan tu quỷ tran
    int s=0;
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            s=s+a[i][j];
        }
    }    
    printf("ntong cac phan tu la: %d",s);
// gia tri nho nhat phân tách het mang đến 3 vô mang
    int min, kt=0;
    for(i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
        {
            if(a[i][j]%3==0)
            {    
                min=a[i][j];
                kt=1;
                break;
            }
        }
    }
    if(kt==1)
    {
        for(i=0;i<n;i++)
        {
            for(j=0; j<m; j++)
            {
                if((a[i][j]%3==0)&&(a[i][j]<min))
                {
                    min=a[i][j];
                }
            }
        }
    printf("nso nho nhat vô cac ví phân tách het mang đến 3 teo vô day la %d", min);
    }
    else    
    {
        printf(" vô đem vua nhap khong teo ví phân tách het mang đến 3");
    }
    getch();
}

Hi vọng nội dung bài viết hữu ích với các bạn đọc!

Tham khảo thêm thắt bài bác tập dượt C++ sở hữu câu nói. giải sở hữu links tải về pdf bên trên đây