Professional Documents
Culture Documents
NMLT Sau Tuan 10
NMLT Sau Tuan 10
#include <stdio.h>
int main() {
int n, arr[1000], SwitchPlace1, SwitchPlace2;
scanf("%d", &n);
for (int i=1 ; i<=n ; i++) scanf("%d", &arr[i]);
scanf("%d%d", &SwitchPlace1, &SwitchPlace2);
int temp = arr[SwitchPlace1];
arr[SwitchPlace1] = arr[SwitchPlace2];
arr[SwitchPlace2] = temp;
for (int i=1 ; i<=n ; i++) printf("%d ", arr[i]);
}
Chèn số
#include <stdio.h>
int main() {
int n, arr[1000], add, position;
scanf("%d", &n);
for (int i=1 ; i<=n ; i++) scanf("%d", &arr[i]);
scanf("%d%d", &add, &position);
for (int i=1 ; i<=n ; i++) {
printf("%d ", arr[i]);
if (i == position-1) printf("%d ", add);
}
}
Xóa số
#include <stdio.h>
int main() {
int n, arr[1000], del;
scanf("%d", &n);
for (int i=1 ; i<=n ; i++) scanf("%d", &arr[i]);
scanf("%d", &del);
for (int i=1 ; i<=n ; i++) {
if (i != del) printf("%d ", arr[i]);
}
}
Tổng cực tiểu ►
#include <stdio.h>
int main() {
int n, arr[1000], sum=0;
scanf("%d", &n);
for (int i=1 ; i<=n ; i++) scanf("%d", &arr[i]);
for (int i=1 ; i<=n ; i++) {
if (arr[i]<arr[i-1] && arr[i]<arr[i+1] || i == 1 && arr[i]<arr[i+1] || i == n &&
arr[i]<arr[i-1]) sum+=arr[i];
}
printf("%d", sum);
}
Tổng cực đại ►
#include <stdio.h>
int main() {
int n, arr[1000], sum=0;
scanf("%d", &n);
for (int i=1 ; i<=n ; i++) scanf("%d", &arr[i]);
for (int i=1 ; i<=n ; i++) {
if (arr[i]>arr[i-1] && arr[i]>arr[i+1] || i == 1 && arr[i]>arr[i+1] || i == n &&
arr[i]>arr[i-1]) sum+=arr[i];
}
printf("%d", sum);
}
Dãy số tích lũy ►
#include <stdio.h>
int main() {
int n, A[1000], sum=0;
scanf("%d", &n);
for (int i=0 ; i<n ; i++) scanf("%d", &A[i]);
for (int i=0 ; i<n ; i++) {
sum+=A[i];
printf("%d ", sum);
}
}
Sắp xếp tăng dần ►
#include <stdio.h>
int main() {
int n, arr[1000];
scanf("%d", &n);
for (int i=0 ; i<n ; i++) scanf("%d", &arr[i]);
for (int i=0 ; i<n ; i++) {
for (int j=i+1 ; j<n ; j++) {
if (arr[i]>arr[j]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
for (int i=0 ; i<n ; i++) printf("%d ", arr[i]);
}
Sắp xếp giảm dần ►
#include <stdio.h>
int main() {
int n, arr[1000];
scanf("%d", &n);
for (int i=0 ; i<n ; i++) scanf("%d", &arr[i]);
for (int i=0 ; i<n ; i++) {
for (int j=i+1 ; j<n ; j++) {
if (arr[i]<arr[j]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
for (int i=0 ; i<n ; i++) printf("%d ", arr[i]);
}
int main() {
int n, arr[1000], PrimeReplace;
scanf("%d", &n);
for (int i=0 ; i<n ; i++) {
scanf("%d", &arr[i]);
}
for (int i=0 ; i<n ; i++) {
if (PrimeCheck(arr[i])) {
for (int j=i+1 ; j<n ; j++) {
if (PrimeCheck(arr[j]) && arr[i]>arr[j]) {
PrimeReplace = arr[i];
arr[i] = arr[j];
arr[j] = PrimeReplace;
}
}
}
}
for (int i=0 ; i<n ; i++) printf("%d ", arr[i]);
}
Sắp xếp các phần tử lẻ ►
#include <stdio.h>
int main() {
int n, arr[1000];
scanf("%d", &n);
for (int i=0 ; i<n ; i++) scanf("%d", &arr[i]);
for (int i=0 ; i<n ; i++) {
if (arr[i]%2 == 1) {
for (int j=i+1 ; j<n ; j++) {
if (arr[j]%2 == 1 && arr[i]>arr[j]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
for (int i=0 ; i<n ; i++) printf("%d ", arr[i]);
}
Sắp xếp các phần tử ở vị trí chẵn ►
#include <stdio.h>
int main() {
int n, arr[1000];
scanf("%d", &n);
for (int i=0 ; i<n ; i++) scanf("%d", &arr[i]);
for (int i=0 ; i<n ; i++) {
if (i%2 == 0) {
for (int j=i+1 ; j<n ; j++) {
if (j%2 == 0 && arr[i]<arr[j]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
for (int i=0 ; i<n ; i++) printf("%d ", arr[i]);
}
Sắp xếp chẵn lẻ ►
#include <stdio.h>
int main() {
int n, arr[1000], odd[1000], even[1000], OddAmount=0, EvenAmount=0;
scanf("%d", &n);
for (int i=0 ; i<n ; i++) scanf("%d", &arr[i]);
for (int i=0 ; i<n ; i++) {
if (arr[i]%2 == 0) {
even[EvenAmount]=arr[i];
EvenAmount+=1;
} else {
odd[OddAmount]=arr[i];
OddAmount+=1;
}
}
for (int i=0 ; i<EvenAmount ; i++) {
for (int j=i+1 ; j<EvenAmount ; j++) {
if (even[i]>even[j]) {
int temp = even[i];
even[i] = even[j];
even[j] = temp;
}
}
}
for (int i=0 ; i<OddAmount ; i++) {
for (int j=i+1 ; j<OddAmount ; j++) {
if (odd[i]<odd[j]) {
int temp = odd[i];
odd[i] = odd[j];
odd[j] = temp;
}
}
}
for (int i=0 ; i<EvenAmount ; i++) printf("%d ", even[i]);
for (int i=0 ; i<OddAmount ; i++) printf("%d ", odd[i]);
}
Sắp xếp âm dương ►
#include <stdio.h>
int main() {
int n, arr[1000];
scanf("%d", &n);
for (int i=0 ; i<n ; i++) scanf("%d", &arr[i]);
for (int i=0 ; i<n ; i++) {
if (arr[i]<0) {
for (int j=i+1 ; j<n ; j++) {
if (arr[j]<0 && arr[i]<arr[j]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
} else {
for (int j=i+1 ; j<n ; j++) {
if (arr[j]>0 && arr[i]>arr[j]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
for (int i=0 ; i<n ; i++) printf("%d ", arr[i]);
}
Số trung vị ►
#include <stdio.h>
int main() {
int n;
float arr[1000];
scanf("%d", &n);
for (int i=0 ; i<n ; i++) scanf("%f", &arr[i]);
for (int i=0 ; i<n ; i++) {
for (int j=i+1 ; j<n ; j++) {
if (arr[i]>arr[j]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
if (n%2 == 1) {
printf("%.1f", arr[n/2]);
} else printf("%.1f", (arr[n/2]+arr[n/2-1])/2);
}
Chèn cột
#include <stdio.h>
int main() {
int row, col, matrix[1000][1000], AddCol, AddNum;
scanf("%d%d", &row, &col);
for (int i=0 ; i<row ; i++) {
for (int j=0 ; j<col ; j++) scanf("%d", &matrix[i][j]);
}
scanf("%d%d", &AddCol, &AddNum);
for (int i=0 ; i<row ; i++) {
for (int j=0 ; j<col ; j++) {
if (j == AddCol-1) printf("3 ");
printf("%d ", matrix[i][j]);
}
printf("\n");
}
}
Chèn hàng ►
#include <stdio.h>
int main() {
int row, col, matrix[1000][1000], AddRow, AddNum;
scanf("%d%d", &row, &col);
for (int i=0 ; i<row ; i++) {
for (int j=0 ; j<col ; j++) scanf("%d", &matrix[i][j]);
}
scanf("%d%d", &AddRow, &AddNum);
for (int i=0 ; i<row ; i++) {
if (i == AddRow-1) {
for (int j=0 ; j<col ; j++) printf("%d ", AddNum);
printf("\n");
}
for (int j=0 ; j<col ; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
}
Đổi chỗ ►
#include <stdio.h>
int main() {
int row, col, matrix[1000][1000], i1, j1, i2, j2;
scanf("%d%d", &row, &col);
for (int i=1 ; i<=row ; i++) {
for (int j=1 ; j<=col ; j++) scanf("%d", &matrix[i][j]);
}
scanf("%d%d%d%d", &i1, &j1, &i2, &j2);
int temp = matrix[i1][j1];
matrix[i1][j1] = matrix[i2][j2];
matrix[i2][j2] = temp;
for (int i=1 ; i<=row ; i++) {
for (int j=1 ; j<=col ; j++) printf("%d ", matrix[i][j]);
printf("\n");
}
}
Ma trận ►
#include <stdio.h>
int main() {
int Row, Col, matrix[1001][1001], QAmount, Question[1001][2];
scanf("%d%d%d", &Row, &Col, &QAmount);
for (int i=1 ; i<=Row ; i++) {
for (int j=1 ; j<=Col ; j++) scanf("%d", &matrix[i][j]);
}
for (int i=0 ; i<QAmount ; i++) {
scanf("%d%d", &Question[i][0], &Question[i][1]);
}
for (int i=0 ; i<QAmount ; i++) {
printf("%d\n", matrix[Question[i][0]][Question[i][1]]);
}
}
Thay đổi giá trị ►
#include <stdio.h>
int main() {
int row, col, matrix[1000][1000], AddRow, AddCol, AddNum;
scanf("%d%d", &row, &col);
for (int i=1 ; i<=row ; i++) {
for (int j=1 ; j<=col ; j++) scanf("%d", &matrix[i][j]);
}
scanf("%d%d%d", &AddRow, &AddCol, &AddNum);
matrix[AddRow][AddCol]=AddNum;
for (int i=1 ; i<=row ; i++) {
for (int j=1 ; j<=col ; j++) printf("%d ", matrix[i][j]);
printf("\n");
}
}
● Tổng trên hàng
#include <stdio.h>
int main() {
int row, col, matrix[1000][1000], sum=0;
scanf("%d%d", &row, &col);
for (int i=0 ; i<row ; i++) {
for (int j=0 ; j<col ; j++) scanf("%d", &matrix[i][j]);
}
for (int i=0 ; i<row ; i++) {
for (int j=0 ; j<col ; j++) {
sum+=matrix[i][j];
}
printf("%d ", sum);
sum=0;
}
}
● Xóa cột
#include <stdio.h>
int main() {
int row, col, matrix[1000][1000], DelCol;
scanf("%d%d", &row, &col);
for (int i=1 ; i<=row ; i++) {
for (int j=1 ; j<=col ; j++) scanf("%d", &matrix[i][j]);
}
scanf("%d", &DelCol);
for (int i=1 ; i<=row ; i++) {
for (int j=1 ; j<=col ; j++) if (j != DelCol) printf("%d ", matrix[i][j]);
printf("\n");
}
}
Xóa hàng ►
#include <stdio.h>
int main() {
int row, col, matrix[1000][1000], DelRow;
scanf("%d%d", &row, &col);
for (int i=1 ; i<=row ; i++) {
for (int j=1 ; j<=col ; j++) scanf("%d", &matrix[i][j]);
}
scanf("%d", &DelRow);
for (int i=1 ; i<=row ; i++) {
if (i != DelRow) {
for (int j=1 ; j<=col ; j++) printf("%d ", matrix[i][j]);
printf("\n");
}
}
}
Xâu kí tự ►
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
scanf("%s", str);
printf("%s", str);
}
Lời chào ►]
#include <stdio.h>
#include <string.h>
int main() {
char Name[20];
scanf("%s", Name);
printf("Hello, %s", Name);
}
So sánh xâu ►
#include <stdio.h>
#include <string.h>
int main() {
char str[100], str2[100];
scanf("%s %s", str, str2);
if (strcmp(str, str2) == 0) {
printf("yes");
} else printf("no");
}
Hai từ ►
#include <stdio.h>
#include <string.h>
int main() {
char str[10], str2[10];
scanf("%s %s", str, str2);
printf("%s,%s", str, str2);
}
● Chèn ký tự
#include <stdio.h>
#include <string.h>
int main() {
char str[100], add;
int pos;
scanf("%s %d %c", str, &pos, &add);
for (int i=0 ; i<strlen(str) ; i++) {
if (i == pos) printf("%c", add);
printf("%c", str[i]);
}
}
Đổi chỗ ký tự ►
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int a, b;
scanf("%s %d %d", str, &a, &b);
int temp = str[a];
str[a] = str[b];
str[b] = temp;
printf("%s", str);
}
Thay đổi ký tự ►
#include <stdio.h>
#include <string.h>
int main() {
char str[100], replace;
int pos;
scanf("%s %d %c", str, &pos, &replace);
str[pos] = replace;
printf("%s", str);
}
Xóa ký tự
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int n;
scanf("%s %d", str, &n);
memmove(&str[n], &str[n+1], strlen(str)-n);
printf("%s", str);
}
Đếm từ
#include <stdio.h>
#include <string.h>
int main() {
char str[1000];
int SoKT=1;
scanf("%[^\n]", str);
for (int i=0 ; i<strlen(str) ; i++) {
if (str[i] == ' ') SoKT++;
}
printf("%d", SoKT);
}
Đảo từ
#include <stdio.h>
#include <string.h>
int main()
{
char s1[100], daoTu[100], temp[50];
int i, j;
scanf("%[^\n]", s1);
printf("%s", daoTu);
return 0;
}
Xâu con
#include <stdio.h>
#include <string.h>
int main() {
char strA[100], strB[100];
char *SubDetect;
scanf("%s %s", strA, strB);
SubDetect = strstr(strB, strA);
if (SubDetect != NULL) {
printf("YES");
} else printf("NO");
}
Mã hóa xâu
Số đảo ngược
#include <math.h>
char s[100];
char tam[10000];
int dem=0;
void housesOfHogwarts(const char* path)
{
FILE *fp = fopen(path, "r");
int n;
fscanf(fp, "%d",&n);
for (int i=0;i<=n;i++)
{
fgets(tam,sizeof(tam),fp);
tam[strcspn(tam, "\n")] = 0;
if (i>0) printf("%s\n",tam);
}
}
struct rectangle{
int length,height;
int getPerimeter (int length, int height){
return (length+height)*2;
}
int getArea(int _length, int _height){
return length*height;
}
};
int main() {
struct rectangle HCN;
scanf("%d %d", &HCN.length, &HCN.height);
printf("%d %d", HCN.getPerimeter(HCN.length, HCN.height),
HCN.getArea(HCN.length, HCN.height));
}
Hình trụ
#include <stdio.h>
struct cylinder{
int radius,height;
double getSurfaceArea (int radius, int height){
return 2*3.14*radius*(radius + height);
}
double getVolume(int radius, int height){
return 3.14*radius*radius*height;
}
};
int main() {
struct cylinder HT;
scanf("%d %d", &HT.radius, &HT.height);
printf("%.2lf %.2lf", HT.getSurfaceArea(HT.radius, HT.height),
HT.getVolume(HT.radius, HT.height));
}
Ngày tháng
Phân số
Số phức
Tam giác
Thời gian
● Đệ quy
Tổng các số lẻ
#include <stdio.h>
int sum(int n) {
if (n < 0) return 0;
return 2*n+1+sum(n-1);
}
int main() {
int n;
scanf("%d", &n);
printf("%d", sum(n));
}
Tích các số lẻ
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
printf("%lld", product(n));
}
int sum(int n) {
if (n < 0) return 0;
return n*pow(-1,n+1)+sum(n-1);
}
int main() {
int n;
scanf("%d", &n);
printf("%d", sum(n));
}
int factorial(int n) {
if (n == 0) return 1;
return n*factorial(n-1);
}
int sum(int n) {
if (n == 0) return 0;
return factorial(n) + sum(n-1);
}
int main() {
int n;
scanf("%d", &n);
printf("%d", sum(n));
}
int sum(int n) {
if (n == 0) return 0;
return n*n + sum(n-1);
}
int main() {
int n;
scanf("%d", &n);
printf("%d", sum(n));
}
Biểu thức căn bậc hai
#include <stdio.h>
#include <math.h>
double S (double n) {
if (n == 0) return 0;
return sqrt(n + S(n-1));
}
int main() {
double n;
scanf("%lf", &n);
printf("%.2lf", S(n));
}
Tổng phân số
#include <stdio.h>
double denominator(double n) {
if (n == 0) return 0;
return n+denominator(n-1);
}
double sum(double n) {
if (n == 0) return 0;
return 1/denominator(n) + sum(n-1);
}
int main() {
int n;
scanf("%d", &n);
printf("%.2lf", sum(n));
}
Biểu thức mũ
#include <stdio.h>
#include <math.h>
int sum (int n) {
if (n == 0) return 0;
return pow(n,n) + sum(n-1);
}
int main() {
int n;
scanf("%d", &n);
printf("%d", sum(n));
}
int innerSum(int n) {
if (n == 0) return 0;
return n+innerSum(n-1);
}
int sum(int n) {
if (n == 0) return 0;
return innerSum(n) + sum(n-1);
}
int main() {
int n;
scanf("%d", &n);
printf("%d", sum(n));
}
int main() {
int a, b;
scanf("%d %d", &a, &b);
if (a > b) printf("%d", GCD(a, b, b));
else printf("%d", GCD(a, b, a));
}
Dãy số Fibonacci
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
printf("%d", Fibonacci(n));
}
int f (int n) {
if (n == 1 || n == 0) return 1;
return 2*f(n-1) + f(n-2) + 1;
}
int main() {
int n;
scanf("%d", &n);
printf("%d", f(n));
}
int f (int n) {
if (n == 1 || n == 0) return 1;
return 3*f(n-1) - f(n-2);
}
int main() {
int n;
scanf("%d", &n);
printf("%d", f(n));
}
Giai thừa
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
printf("%d", factorial(n));
}
Lũy thừa
#include <stdio.h>
int main() {
int a, b;
scanf("%d%d", &a, &b);
printf("%lld", power(a, b));
}
Sắp xếp
Unique
Độn phải
#include <stdio.h>
#include <string.h>
Độn trái
#include <stdio.h>
#include <string.h>
Lọc phải
Lọc trái
Tổng dãy số
int getSum(int *a, int n) {
int sum = 0;
for (int i=0 ; i<n ; i++) {
sum += a[i];
}
return sum;
}
Xóa ký tự
Thống kê
Tính tổng 2 số
Tổng các số
Hình tròn
● Ngoại lệ
Chuyển đổi
Phép chia
Phép cộng