Nhap Mon Lap Trinh

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

Bai 1

#include <stdio.h>
#include <string.h>

void makeHappiness(char input[]) {


const char prefix[] = "Happy ";
printf("%s%s\n", prefix, input);
}
int main() {
char input[100];
printf("Enter a string: ");
fgets(input, sizeof(input), stdin);
size_t len = strlen(input);
if (len > 0 && input[len - 1] == '\n') {
input[len - 1] = '\0';
}
makeHappiness(input);
return 0;
}
Bai 2
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>

void calculateHappinessScore(char input[]) {


int score = 0;
for (int i = 0; input[i] != '\0'; i++) {
char ch = input[i];
if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u' ||
ch == 'A' || ch == 'E' || ch == 'I' || ch == 'O' || ch == 'U') {
score += ch;
}
}

printf("Happiness Score: %d ", score);


if (score > 100) {
printf("(Happy)\n");
}
else {
printf("(Unhappy)\n");
}
}

int main() {
char input[100];
printf("Enter a string ");
fgets(input, sizeof(input), stdin);
input[strcspn(input, "\n")] = '\0';
calculateHappinessScore(input);
return 0;
}
Bài 3
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <stdbool.h>
#include <string.h>

// Kiểm tra số nguyên tố


bool isPrime(int num) {
if (num < 2) return false;
for (int i = 2; i <= sqrt(num); i++) {
if (num % i == 0) return false;
}
return true;
}

// Kiểm tra tổng các chữ số có phải là lũy thừa của 2 không
bool isPowerOfTwo(int num) {
return (num > 0) && ((num & (num - 1)) == 0);
}

// Tính tổng các chữ số


int sumOfDigits(int num) {
int sum = 0;
while (num > 0) {
sum += num % 10;
num /= 10;
}
return sum;
}

int findHappiestNumber(char input[]) {


int happiestNumber = 0, maxDigitSum = 0;
char* context = NULL;
char* token = strtok_s(input, ",", &context);
while (token) {
int num = atoi(token);
if (isPrime(num)) {
int digitSum = sumOfDigits(num);
if (isPowerOfTwo(digitSum) && (digitSum > maxDigitSum || (digitSum == maxDigitSum && num >
happiestNumber))) {
happiestNumber = num;
maxDigitSum = digitSum;
}
}
token = strtok_s(NULL, ",", &context);
}
return happiestNumber;
}

int main() {
char input[256];
printf("Nhập chuỗi các số nguyên không âm được phân tách bằng dấu phẩy: ");
fgets(input, sizeof(input), stdin);

// Xóa ký tự newline ở cuối chuỗi nếu có


input[strcspn(input, "\n")] = 0;

int happiestNumber = findHappiestNumber(input);


printf("Happiest Number: %d\n", happiestNumber);

return 0;
}
Bài 4

You might also like