Saturday, August 15, 2015

[Bài tập mẫu] Các thao tác vào ra cơ bản và các câu lệnh có cấu trúc



Bài 1. Viết chương trình nhập dữliệu cho các biến kiểu int, long int, float, chuỗi, sau
đó hiển thị ra màn hình.
#include <stdio.h>
#include <conio.h>
void main()
{
          int a;
          long int b;
          float x;
          char st[10];
          printf("\n Vao du lieu tu ban phim ");
          printf("\n a = "); scanf("%d", &a);
          printf("\n b = "); scanf("%ld", &b);
          printf("\n x = "); scanf("%f", &x);
          printf("\n Nhap vao mot chuoi :"); scanf("%s", st);
          printf("\n a :%10d\n b :%10ld\n x :%10.2f", a, b, x);
          printf("\n Chuoi da nhap :%s", st);
          getch();
}
Bài 2. Viết chương trình minh họa việc khai báo và khởi gán các biến. 
#include<stdio.h>
#include<conio.h>
void main()
{
          int a = 20; /* Khai bao va khoi dau cac bien */
          int b = 15;
          float x = 25.678;
          printf("\n1:%d %f\n", a, x);
          printf("2:%4d %10f\n", b, x);
          printf("3:%2d %3f\n", a, x);
          printf("4:%10.3f %10d\n", x, b);
          printf("5:%-5d %f\n", a, x);
          printf("6:%*d\n", b, b);
          printf("7:%*.*f\n", 12, 5, x);
          printf("8:%x :%8x :\n", a, a);
          printf("9:%o :%8o :\n", a, a);
          getch();
}
Bài 3. Viết chương trình khai báo một biến kiểu int, một hằng hệ 8 có giá trị 345 và
một hằng hệ 16 có giá trị A9, sau đó nhập dữ liệu cho biến và hiển thị ra màn hình giá
trị của biến ở hệ 8, 16 và giá trị của các hằng ở hệ16.
#include <stdio.h>
#include <conio.h>
int main()
{
          long int i;
          const int j = 0345, k = 0XA9;
          printf("\nNhap so nguyen he 10 : ");
          scanf("%d", &i);
          printf("\n Chuyen sang he 8 la : %o", i);
          printf("\n Chuyen sang he 16 la : %X", i);
          printf("\n Hang nguyen he 8 : %7d", j);
          printf("\n Hang nguyen he 16 : %7d", k);
          _getch();
          return 0;
}
Bài 4.Viết chương trình tìm số lớn nhất và nhỏ nhất trong 3 số thực.
#include <stdio.h>
#include <conio.h>
void main()
{
          float x, y, z, max, min;
          printf("\nNhap vao 3 so ");
          scanf("%f%f%f", &x, &y, &z);
          max = (x > y) ? x : y;
          max = (max > z) ? max : z;
          min = (x > y) ? y : x;
          min = (min > z) ? z : min;
          printf("\nSo lon nhat la %f", max);
          printf("\nSo nho nhat la %f", min);
          printf("\nDay la 5 tieng chuong !\a\a\a\a\a");
          getch();
}
Bài 5.Viết chương trình tìm x mũ y.
#include <stdio.h>
#include <math.h>
#include <conio.h>
void main()
{
          double x, y, z; /* khai bao 3 bien kieu double*/
          printf("- Cho biet gia tri cua X= ");
          scanf("%lf", &x);
          printf("- Cho biet gia tri cua Y= ");
          scanf("%lf", &y);
          z = pow(x, y); /* Tinh x luy thua y va gan cho z */
          /* In ket qua */
          printf("KET QUA X LUY THUA Y \n");
          printf("X= %8.2f \n", x);
          printf("Y= %8.2f \n", y);
          printf("X luy thua y = %8.2f", z);
          getch();
}
Bài 6. Viết chương trình tìm c = a/b, với a,b,c nguyên, hiển thị ở các số hệ 8, 16 và 10.
#include <conio.h>
#include <iostream>
using namespace std;
void main()
{
          int a, b, c;
          cout << "\nNhap hai so nguyen a,b: \n";
          cin >> a >> b;
          c = a / b; //chia nguyen
          cout << "\n a/b viet o he 8 : " << oct << c;
          cout << "\n a/b viet o he 16 : " << hex << c;
          cout << "\n a/b viet o he thap phan " << dec << c;
          getch();
}
Bài 7.Viết chương trình nhập điểm thi từbàn phím và hiển thị kết quả: kém nếu điểm từ 0 đến 3; Yếu nếu điểm là 4; Trung bình nếu điểm từ 5 đến 6; Khá nếu điểm từ 7 đến 8; Giỏi nếu điểm từ 9 đến 10.
#include<stdio.h>
#include<conio.h>
void main()
{
          int diem;
          printf("\n Chuong trinh phan loai hoc sinh theo diem ");
          tt: printf("\n VAO SO LIEU ");
          printf("\n diem = "); scanf("%d", &diem);
          if ((diem >= 0) && (diem <= 3))
                   printf(" Kem \n");
          else if (diem == 4)
                   printf(" Yeu \n");
          else if ((diem >= 5) && (diem <= 6))
                   printf(" Trung binh \n");  else if (diem >= 7 && diem <= 8)
                   printf(" Kha \n");
                   else if ((diem >= 9) && (diem <= 10))
                             printf(" Gioi \n");
                   else
                             printf(" Vao sai \n");
                   printf("\n tiep tuc 1 / stop 0 : ");
                   scanf(" %d", &diem);
                   if (diem == 1) goto tt;
                   getch();
}
Bài 8.Có 3 loại giấy bạc 100đ, 200đ, 500đ. Viết chương trình in các phương án kết hợp các loại giấy bạc trên cho ra 10000đ.
#include <stdio.h>
#include <conio.h>
#define ST 10000
void main()
{
          int sopa; /* so phuong an */
          int t500;
          int t200;
          int t100;
          sopa = 0;
          for (t500 = 0; t500 <= ST / 500; t500++)
                   for (t200 = 0; t200 <= ST / 200; t200++)
                             for (t100 = 0; t100 <= ST / 10; t100++)   if (100 * t100 + 200 * t200 + 500 * t500 == 1000)
                             {
                                      sopa++;
                                      printf("\n Tien 10000 d = ");
                                      if (t100) printf(" %2d X 100 d ", t100);
                                      if (t200) printf(" %2d X 200 d ", t200);
                                      if (t500) printf(" %2d X 500 d ", t500);
                                      printf("\n");
                             }
          printf("\n Co tat ca %d phuong an de co 1000 d ", sopa);
          getch();
}
Bài 9. Có 5 loại giấy bạc 1000đ, 2000đ, 5000đ, 10000đ, 20000đ. Viết chương trình hiển thị các phương án kết hợp các loại giấy bạc trên cho ra 1000000đ.
/* Tim phuong an doi tien */
#include <stdio.h>
#include <conio.h>
#define TONGSOTIEN 1000000
void main()
{
          long i, j, k, l, m, count = 0;
          for (i = 0; i <= TONGSOTIEN / 1000; i++)
                   for (j = 0; j <= TONGSOTIEN / 2000; j++)
                             for (k = 0; k <= TONGSOTIEN / 5000; k++)
                                      for (l = 0; l <= TONGSOTIEN / 10000; l++)
                                                for (m = 0; m <= TONGSOTIEN / 20000; m++)
                                                          if ((i * 1000 + j * 2000 + k * 5000 + l * 10000 + m * 20000) == TONGSOTIEN)
                                                                   printf("\n%5ld : %5ld%5ld%5ld%5ld%5ld", ++count,
                                                                   i, j, k, l, m);
          getch();
}
Bài 10.Viết chương trình tính tổng nghịch đão của n số tự nhiên đầu tiên.
/* Chuong trinh minh hoa su dung do while */
#include <stdio.h>
#include <conio.h>
void main()
{
          int n;
          float tong;
          int i;
          do
          {
                   printf("\ Nhap n = ");
                   scanf("%d", &n);
          } while (n < 1);
          for (i = 1, tong = 0; i <= n; i++) tong += (float)1 / i;
          printf("\n Tong nghich dao %d so dau tien = %f", n, tong);
          getch();
}
Bài 11. Viết chương trình tìm và in ra các số(<=1000) thỏa tính chất: số đó bằng tổng các ước số của nó. Ví dụ: 6 = 1 + 2 + 3.
#include <stdio.h>
#include <conio.h>
void main()
{
          int i, tong, dem, j;
          printf("\nCac so tim duoc la : ");
          for (i = 0; i<1000; i++)
          {
                   tong = 0;
                   for (j = 1; j<i; j++)
                             if (i%j == 0) tong += j;
                   if (tong == i)
                             printf("\n%d ", i);
          }
          getch();
}
Bài 12.Viết chương trình tìm các số nguyên tố nhỏ hơn số N cho trước.
#include <stdio.h>
#include <math.h>
#include <conio.h>
void main()
{
          int n, i, j;
          printf("\nNhap gia tri N : ");
          scanf("%d", &n);
          printf("\nCac so nguyen to nho hon %d la : \n", n);
          for (i = 2; i < n; i++)
          {
                   for (j = 2; j <= sqrt(i); j++)
                             if (i%j == 0)
                                      goto tt;
                   printf("%d ", i);
          tt:;
          }
          getch();
}
Cám ơn bạn đã đọc bài viết này. Hãy chia sẻ bài viết và bình luận ý kiến của bạn ở bên dưới.

Share this

Chào mừng bạn đến với SimpleCodeCJava Blog - Mục đích của chúng tôi khi thành lập blog này là muốn chia sẻ những kiến thức và kinh nghiệm lập trình mà chúng tôi đã học được với mong muốn giúp đỡ mọi người, giúp bạn rút ngắn được thời gian tìm hiểu cũng như việc giải quyết những vấn đề trong lập trình C và Java.

0 Comment to "[Bài tập mẫu] Các thao tác vào ra cơ bản và các câu lệnh có cấu trúc"