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();
}