Thực hành tin học đại cương bài 4
Từ bài thực hành 4 trở đi bạn phải sử dụng toàn bộ những khái niệm đã nói ở trên bao gồm biến và hằng, kiểu dữ liệu, toán tử trong C, nhập trong C, xuất trong C, câu lệnh rẽ nhánh, vòng lặp, mảng và chuỗi cùng việc sử dụng các thuật toán như so sánh, sắp xếp, tìm kiếm.
Bài 4.1

#include <stdio.h>
//hàm ex(a) du?i dây dùng d? tính giai th?a c?a 1 s? nguyên n
int ex(int a){
int res =1;
for(int i=1;i<a+1;i++ ){
res *= i;
}
return res;
}
int main(){
int a,c;
scanf("%d",&a);
//xét di?u ki?n d?u vào c?a a xem dúng chua?
if(a<0||a>=8){
printf("ERROR");
return 0;
}
c = ex(a);
printf("%d",c);
return 0;
}
Bài 4.2

#include <stdio.h>
int main(){
int a,check = 0;
scanf("%d",&a);
for(int i=2;i<(a/2 + 1);i++){
if(a%i==0){
check+=1;
}
}
if(a==1||(a!=2 && check!= 0)||a<=0){
printf("Khong phai so nguyen to");
}else {
printf("La so nguyen to");
}
return 0;
}
Bài 4.3

#include <stdio.h>
int main(){
int a,sum = 0;
scanf("%d",&a);
if ( a >= 1000 ){
printf("ERROR");
return 0;
}
while (a>0) {
sum+=a%10;
a/=10;
}
printf("%d",sum);
return 0;
}
Bài 4.4

#include <stdio.h>
int main(){
int a,b,UCLN,BCNN=0;
scanf("%d %d",&a,&b);
if(a<=0||b<=0){
printf("ERROR");
return 0;
}
for(int i=1;i<( ((a<b)?a:b) + 1);i++){
if(a%i==0 && b%i==0){
UCLN=i;
}
}
int j= (a>b)?a:b;
while(BCNN == 0){
if(j%a==0 && j%b == 0){
BCNN = j;
}
j++;
}
printf("%d\n",UCLN);
printf("%d",BCNN);
return 0;
}
Bài 4.5

#include <stdio.h>
#include <math.h>
int main(){
double a,b,c,delta;
scanf("%lf %lf %lf",&a,&b,&c);
delta = b*b - 4*a*c;
if (a == 0 && b != 0){
printf("%lf", -c/b);
return 0;
}else if(a == 0 && b == 0 && c == 0){
printf("Phuong trinh vo so nghiem");
return 0;
}else if(a == 0 && b == 0 && c != 0){
printf("Phuong trinh vo nghiem");
return 0;
}
if(delta<0){
printf("%lf+%lfi",-b/(2*a),sqrt(fabs(delta))/(2*a));
printf("\n%lf-%lfi",-b/(2*a),sqrt(fabs(delta))/(2*a));
}
if(delta>0){
printf("%lf",-b/(2*a)+sqrt(fabs(delta))/(2*a));
printf("\n%lf",-b/(2*a)-sqrt(fabs(delta))/(2*a));
}
if(delta==0){
printf("%lf",-b/(2*a)+sqrt(fabs(delta))/(2*a));
}
return 0;
}
Bài 4.6

#include <stdio.h>
double ex(double a, int b){
double res =1;
for(int i=0;i<b;i++ ){
res *= a;
}
return res;
}
int isInt(double a){
int res = 0;
for(int i=0;i<a+1;i++){
if(i+1==a){
res += 1;
}
}
return res;
}
int main(){
double n,x,sum = 1;
scanf("%lf %lf",&n,&x);
if(n<=0||isInt(n)==0){
printf("Error");
return 0;
}
for (int i=1;i<n+1;i++){
sum += ex(x,i);
}
printf("%lf",sum);
return 0;
}
Bài 4.7

#include <stdio.h>
double ex(double a, int b){
double res =1;
for(int i=0;i<b;i++ ){
res *= a;
}
return res;
}
int isInt(double a){
int res = 0;
for(int i=0;i<a+1;i++){
if(i+1==a){
res += 1;
}
}
return res;
}
int main(){
double n,x,sum = 1;
scanf("%lf %lf",&n,&x);
if(n<=0||isInt(n)==0){
printf("Error");
return 0;
}
for (int i=1;i<n+1;i++){
sum += ex(x,i)*(i%2==1?-1:1);
}
printf("%lf",sum);
return 0;
}
Bài 4.8

#include <stdio.h>
double ex(double a, int b){
double res =1;
for(int i=0;i<b;i++ ){
res *= a;
}
return res;
}
double ex2(double a, int b){
double res =1;
for(int i=0;i<b;i++ ){
res *= a--;
}
return res;
}
int isInt(double a){
int res = 0;
for(int i=0;i<a+1;i++){
if(i+1==a){
res += 1;
}
}
return res;
}
int main(){
long double n,x,sum = 1;
int a = scanf("%Lf",&n);
int b = scanf("%Lf",&x);
if(n<=0||isInt(n)==0||a<=0||b<=0){
printf("Error");
return 0;
}
for (int i=1;i<n+1;i++){
sum += ex(x,i)/ex2(i,i);
}
printf("%Lf",sum);
return 0;
}
Bài 4.9

#include <stdio.h>
#include <math.h>
int main(){
double x;
int n;
scanf("%lf %d",&x,&n);
if(n<1||x<0){
printf("Error");
return 0;
}
double re = sqrt(x);
while(n>1){
re = sqrt(x + re);
n--;
}
printf("%.4lf",re);
return 0;
}
Bài 4.10

#include <stdio.h>
#include <math.h>
double ex(double a, int b){
double res =1;
for(int i=0;i<b;i++ ){
res *= a;
}
return res;
}
int main(){
double x,sum=1;
int n;
scanf("%lf %d",&x,&n);
if(n<1||x<0){
printf("Error");
return 0;
}
for(int i=1;i<n+1;i++){
sum+=ex(x,i)/i;
}
printf("%.4lf",sum);
return 0;
}
Bài 4.11

#include <stdio.h>
#include <math.h>
double ex(double a, int b){
double res =1;
for(int i=0;i<b;i++ ){
res *= a;
}
return res;
}
double ex2(double a, int b){
double res =1;
for(int i=0;i<b;i++ ){
res *= a--;
}
return res;
}
int main(){
double x,sum=1;
int n;
scanf("%lf %d",&x,&n);
if(n<1||x<0){
printf("Error");
return 0;
}
for(int i=1;i<n+1;i++){
sum+=ex(x,i)/ex2(i,i);
}
printf("%.4lf",sum);
return 0;
}
Bài 4.12

#include <stdio.h>
#include <math.h>
double ex(double a, int b){
double res =1;
for(int i=0;i<b;i++ ){
res *= a;
}
return res;
}
double ex2(double a, int b){
double res =1;
for(int i=0;i<b;i++ ){
res *= a--;
}
return res;
}
int main(){
double x,sum=1;
int n;
scanf("%lf %d",&x,&n);
if(n<1||x<0){
printf("Error");
return 0;
}
for(int i=1;i<n+1;i++){
sum+=ex(x,i)/ex2(i,i)*(i%2==1?-1:1);
}
printf("%.4lf",sum);
return 0;
}