Bài tập thực hành chương 1 :


Bài tập chương câu lệnh điều kiện và rẽ nhánh

Viết hàm đổi một ký tự hoa sang ký tự thường.
Viết thủ tục giải phương trình bậc nhất.
Viết thủ tục giải phương trình bậc hai.
Viết hàm trả về giá trị nhỏ nhất của 4 số nguyên.
Viết thủ tục hoán vị hai số nguyên.
Viết thủ tục sắp xếp 4 số nguyên tăng dần.
Bài tập chương câu lệnh lặp. Hàm nhận vào một số nguyên dương n và thực hiện:
Trả về sốđảo của sốđó.
Có phải là sốđối xứng (Trả về True/False)
Có phải là số chính phương.
Có phải là số nguyên tố.
Tổng các chữ số lẻ.
Tổng các chữ số nguyên tố.
Tổng các chữ số chính phương.
Bài tập chương Câu lệnh lặp. Hàm nhận vào một số nguyên dương n và thực hiện:
S 1= 1 + 2 + … + n
S 2= 1^2 + 2^2 + … + n^2
S3 = 1 + 1/2 + … + 1/n
S4 = 1 * 2 * … * n
S 5= 1! + 2! + … + n!
Hàm trả về USCLN của 2 số nguyên.



Bài 1: Viết hàm đổi một ký tự hoa sang ký tự thường


//Chuong trinh chuyen tu ki tu hoa song ki tu thuong
#include
#include
int main()
{
char c;
printf("Nhap mot chu cai bat ki: %\n");
scanf("%c",&c);
if ((65<=c) and (c<=90)){c=c+32;printf("Ki tu da chuyen doi la %c\n",c);}
else printf("Ban vua nhap moi ki tu thuong \n");
getch();
}

//Trong bo ma ASCII thì kí tu hoa co ma tu 65 den 90, con ki tu thuong bang ki tu hoa cong them 32

Bài 2: Viết thủ tục giải phương trình bậc nhất.

(bài này cơ bản nên không có giải thích gì thêm)
//Chuong trinh giai phuong trinh bac nhat
#include
#include
int main()
{
        float a,b;
        float x;
        printf("nhap a vao:  \n"); scanf("%f",&a);
        printf("nhap b vao:  \n"); scanf("%f",&b);
        if (a!=0) {x=-b/a; printf("phuong trinh co nghiem %3.2f\n",x);}
        else if (b==0) printf("Phuong trinh vo so nghiem \n");
        else printf("phuong trinh vo nghiem");getch();
        }
        


Bài 3 :Viết thủ tục giải phương trình bậc hai
(Bài này chỉ sử dụng cấu trúc rẽ nhánh)

//Chuong trinh giai phuong trinh bac 2
#include
#include
#include
int main()
{
        float a,b,c,d,x,x1,x2,k;
        printf("nhap a vao: \n"); scanf("%f",&a);
        printf("nhap b vao: \n"); scanf("%f",&b);
        printf("nhap c vao: \n"); scanf("%f",&c);
        if (a==0)
           if (b==0)
                   if (c==0) printf("Phuong trinh vo so nghiem");
                   else printf("phuong trinh vo nghiem");
           else {x=-c/b; printf("phuong trinh co nghiem la: %3.2f\n",x);}
        else {
                 d=b*b-4*a*c;
                 if (d==0) printf("phuong trinh co nghiem kep: %f",x=-b/2/a);
                 else if (d<0) printf("phuong trinh vo nghiem");
                          else 
                          {
                                   k=sqrt(d); 
                                   x1=(-b-k)/2/a; 
                                   x2=(-b+k)/2/a;
                                   printf("puong trinh co hai nghiem phan biet:\n x1=%f\n x2=%f\n",x1,x2);
                          }
                  }
                 
          getch();              }
        
         


Bài 4: Viết hàm trả về giá trị nhỏ nhất của 4 số nguyên


//Chuong trinh tim gia tri nho nhat cua bon so nguyen
#include
#include
int main()
{
        int a,b,c,d,min,x,y;
        printf("nhap a: \n"); scanf("%d",&a);
        printf("nhap b: \n"); scanf("%d",&b);
        if (a

Viết th tc sp xếp 4 s nguyên tăng dn.


//Chuong trinh nhap 4 so nguyen va dua ra man hinh thu tu tang dan ;
#include
#include
main()
{
          int a[10],i,tg,j=0;
          for(i=0;i<4;i++)
                {
                  printf("\nNhap so thu: %d\n",i+1); scanf("%d",&a[i]);
                }
          for (i=0;i<4;i++)   //Duyet qua tat ca phan tu cua mang
          {
          for (j=i+1;j<4;j++)  //Duyet tat ca phan tu cua mang dung sau i
          {
                  if (a[i]>a[j]) 
                  {
                           tg=a[i];   //Vi a[i] duoc duyet truoc a[j] nen gan tg=a[i];
                           a[i]=a[j]; /*Ba phep gan nay giong nhau ke ca voi xap xep tang*/
                           a[j]=tg;                             
                  }
          }
          }
          printf("\nDay so sau khi xap xem la: ");
          for (i=0;i<4;i++) printf("%d ",a[i]);
          getch();
}
          
Kim tra s chính phương Yêu cu:Thế nào là s chính phương: Nhng s nguyên dương mà có căn bc hai là s nguên dương là s chính phương; Ý tưởng: Nhp vào s nguyên dương n bt kì; bây gi mình kim tra các s t (1-n) nếu mà trong các bình phương va kim tra có s nào bng n thì n là s chính phương ví d như s 9 bây gi mình kim tra t 1-9(thc cht không phi kim tra đến 9- Nhưng máy mà k nó :d): thì thy có s 3 sau khi bình phương bng 9; gi s nhp n=5 thì kim tra t 1-5 không thy s nào bình phương bng 5 cà :tuChoi: T đó mình đưa vào vòng lp mà chy thôi :hihi:
//Chuong trinh nhap mot so nguyen va in ket qua co phai la so chinh phuong hay khong
#include
#include
#include
int main()
{
        int i,n,s;
        float c;
        printf("Ban hay nhap mot so nguyen: \n"); scanf("%d",&n);
        if (n<=0) printf("So ",n," khong phai so chinh phuong \n"); else
        {
                          for (i=1;i<=n;i++)
                          {
                                  if(i*i==n) s=1;
                          }
                          if(s==1) printf("so ban nhap la so chinh phuong");
                          else printf("so ban nhap khong la so chinh phuong");
        }
        getch();
}
  Bài:nhp s nguyên n kim tra Có phi là s nguyên t hay không Th 1: Thế nào là s nguyên tố: là s nguyên dương ch có 2 ước là 1 và chính nó; Th 2: Vn dng s ước ca s nguyên t để gii quyết bài toán này bng cách s dng biến s đếm s ước ca n khi ly n chia cho các s t 1-n: + Nếu có 2 ước thì kết lun s nguyên tố; còn nếu khác 2 thì kết lun ngược li + S dng vòng lp for để gii quyết bài toán:
//Kiem tra so nguyen to
#include
#include
main()
{
          int i,n,s=0;
          lap:
          printf("nhap n: \n"); scanf("%d",&n);
          s=0;
          for (i=1;i<=n;i++)
                  {
                        if (n%i==0) s=s+1;}
                        if (s==2) printf("so nguyen so \n"); else printf("khong nguyen to \n");
                        printf("Nhan phim bat ki de tiep tuc \n");
                        getch();
                        goto lap;
                        getch();
}
Tng các ch s lẻ. (Tng s chn tương tự) Bài này cơ bn nên không gii thích nhiu
//Chuong trinh nhap mot so nguyen n va tinh tong cac so le
#include
#include
main()
{
          unsigned int i,n,tl;
          printf("Nhap n vao: \n"); scanf("%x",&n);
          tl=0;
          for (i=1;i<=n;i++)
          {
                  if(i%2!=0) tl=tl+i;
                  }
                  printf("Tong le cua can tinh la: %5x\n",tl);
          getch();
}
Tng các ch s nguyên tố.t 1 đến n Yêu cu: th nht là kim tra xem các s t 1-n có s nào là sô nguyên t hay không              th hai: nếu là s nguyên t thì tính tng ca nó; Cách làm: S dng 2 vòng for lng nhau; vòng th nht duyt qua các phn t t 1 ti n dùng biến chy i vòng 2 duyt các phn t t 1 đến i (dùng biến đếm j )mc đích kim tra xem i là s nguyên t hay không nếu có thì tăng biến tng s thêm giá tr i Bài này nên xem li bài kim tra s nguyên t để rõ hơn Bài làm (Rt ngn bn s bt ngờ)
//Chuong trinh nhap so nguyen n va tinh tong so nguyen to
#include
#include
main()
{
          int n,i,j,s,t;
          printf("Nhap n vao: "); scanf("%d",&n);
          t=0;
          for (i=1;i<=n;i++)
          {   s=0;
                  for (j=1;j<=i;j++)
                  { if(i%j==0) s=s+1; }  //Kiem tra xem co phai so nguyen to hay khong
                  if (s==2) t=t+i;}       // neu la so nguyen to thi cong cho bien S gia tri i
                  printf("tong cua so nguyen to la: %d",t);
                  getch();
}
Tng các ch s chính phương.t 1 đến n Cách làm và ý tưởng tương t như tng nguyên t thôi; các bn chú ý nhé nếu không rõ thì hi li mình
//Chuong trinh tinh tong cac so chinh phuong
#include
#include
main()
{
          int i,n,s,t,j;
          printf("Hay nhap n vao: ");scanf("%d",&n);
          if(n<1) printf("Nhap khong hop le hay nhap lai");
          else
          {
                t=0;
                for(i=1;i<=n;i++)
                {
                         for (j=1;j<=i;j++)
                           {
                           if (j*j==i) t+=i;
                           } 
                }
          printf("Tong cac so  chinh phuong la: %d",t);
          }
          getch();
}
                                           
                                 
Tính tngS 1= 1 + 2 + + n (Bài này đơn gin bn t làm) Tính tng S2= 1^2 + 2^2 + + n^2
//Chuong trinh nhap so nguyen n va tinh tong S=1+1*1+2*2+...+n*n;
#include
#include
main()
{
          int i,n,t,s;
          printf("Hay nhap n vao: ");scanf("%d",&n);
          s=0;
          for(i=1;i<=n;i++)
          {      
                        s=s+i*i;
          }
          printf("\nTong la: %d",s);
          getch();
} 
                                           
S3 = 1 + 1/2 + + 1/n
//Chuong trinh tinh tong S3=1+1/2+1/3+1/4+...1/n voi n nhap tu ban phaim
#include
#include
main()
{
          unsigned int i,n;
          float s;
          lap:
          printf("\nNhap n vao: "); scanf("%d",&n);
          s=0;
          for (i=1;i<=n;i++)
          {
                  s=s+(float)1/i;
          }
          printf("\nTong la: %3.3f",s);
          printf("\nNhan Enter de nhap tiep");
          getch();
          goto lap;
          getch();
}
S4 = 1 * 2 * * n
//Chuong trinh tinh tong S4=1*2*3*...*n;
#include
#include
main()
{
          int i,n,s;
          lap:
          printf("\nNhap n vao: "); scanf("%d",&n);
          s=1;
          for (i=1;i<=n;i++) s=s*i;
          printf("\nTong S4= %d",s);
          printf("\nTiep tuc chuong trinh");
          goto lap;
          getch();
}
S 5= 1! + 2! + + n!
//Chuong trinh tinh tong S5=1!+2!+...+n! voi n nhap tu ban phim
#include
#include
main()
{
          int i,gt,n,s;
          lap:
          printf("\nNhap n vao: "); scanf("%d",&n);
          s=0;gt=1;
          for(i=1;i<=n;i++)
           {
                  gt=gt*i;s=s+gt;
           }
          printf("\nTong day S5= %d",s);
          printf("\nNhan Enter de tiep tuc: ");
          getch();
          goto lap;
}                        
Hàm tr v USCLN ca 2 s nguyên. Cách làm:                thế nào là ước chung ln nht ca hai s a và b: Là s nguyên dương ln nht tha mãn c hai s đề c a và b đều chia hết cho nó C th mình đưa vào vòng lp vi biến chy kim tra t 1 ti (a hoc b vì ưcln luôn không quá a hoc không quá b) nếu tha mãn điu kin c a và b đều chia hết thì tăng ưcln lên vi bi là i Ok              
//Chuong trinh nhap 2 so nguyen va tim uoc chung lon nhat;
#include
#include
main()
{
           int a,b,i,ucln;
           lap:
           printf("\nNhap so thu nhat: "); scanf("%d",&a);
           printf("\nNhap so thu hai : "); scanf("%d",&b);
           if((a<=0)||(b<=0)) { printf("\nMoi nhap lai");goto lap;}
           else 
           {
                        
                  ucln=1;
                  for (i=1;i<=a;i++)
                  {
                         if((a%i==0)&&(b%i==0)) ucln=ucln*i;
                  }
                  printf("\nUCLN= %d",ucln);
                  printf("\nNhap phim bat ki de tiep tuc: ");
                  getch();
                  goto lap;
           }
           getch();
}
           
Hình ảnh đã đăng