Tải bản đầy đủ (.docx) (23 trang)

Các câu chia hết cho 9 trong chương 2,3,4,9

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (244.05 KB, 23 trang )

TIỂU LUẬN
Đề bài: Các câu chia hết cho 9 trong chương 2,3,4,9
Chương 2:
Câu 14 : a, Tính diện tích hình cầu theo công thức S=4piR
2
b , Tính thể tích hình cầu theo công thức V= RS/3
* Ý tưởng:
Nhập R
- Sử dụng công thức s=4piR
2
tính diện tích
* Code:
#include<conio.h>
#include<stdio.h>
float DTHT( float x);
int main()
{
float R;
printf("\nNhap ban kinh hinh tron:");scanf("%f",&R);
printf("\nDien tich hinh tron la: %.2f",DTHT(R));
getch();
}
//****************
float DTHT( float x)
{
float pi=3.14,dt;
dt=x*pi;
return dt;
}
* Kết quả:
/* tính thể tích hình cầu */


*Code:
#include<conio.h>
#include<stdio.h>
float DTHT( float x);
int main()
{
float R;
printf("\nNhap ban kinh hinh cau:");scanf("%f",&R);
printf("\nThe tich hinh cau la: %.2f",DTHT(R));
getch();
}
//****************
float DTHT( float x)
{
float pi=3.14,dt;
dt=x*(4*x*pi)/3;
return dt;
}
*Kết quả:
Chương 3:
Câu 9: Nhập 2 số biểu thị tháng và năm. In ra ngày của tháng đó
*Ý tưởng :
-nhập năm và tháng bất kỳ
-Nếu số năm chia hết cho 4( năm nhuận) thì:
+các tháng 1,3,5,7,8,10,12 là 31 ngày
+các tháng 4,6,9,11 là 30 ngày
+tháng 2 là 29 ngày
*Code :
#include<iostream.h>
#include<conio.h>

void main()
{
clrscr();
int th,n;
cout<<"Nhap vao thang ";cin>>th;
cout<<"\nNhap vao nam ";cin>>n;
if(n%4==0)
{
cout<<"\nNam "<<n<<" la nam nhuan\n";
switch(th)
{
case 1: case 3: case 5: case 7: case 8: case 10:
case 12: cout<<"\nThang nay co 31 ngay";break;
case 2: cout<<"\nThang nay co 29 ngay";break;
case 4: case 6: case 9:
case 11: cout<<"\nThang nay co 30 ngay";break;
default: cout<<"\Nhap sai thang, day khong phai la mot thang
trong nam";
}
}
else
{
cout<<"\nNam "<<n<<" khong la nam nhuan\n";
switch(th)
{
case 1: case 3: case 5: case 7: case 8: case 10:
case 12: cout<<"\nThang nay co 31 ngay";break;
case 2: cout<<"\nThang nay co 28 ngay";break;
case 4: case 6: case 9:
case 11: cout<<"\nThang nay co 30 ngay";break;

default: cout<<"\Nhap sai thang, day khong phai la mot thang
trong nam";
}
}
getch();
}
*Kết quả:


Câu 18: Nhập số tự nhiên n. in ra màn hình biểu diễn của n ở dạng nhị phân
*Ý tưởng:
- nhập một số n
- nhập vào cơ số 2 muốn chuyển đổi
- dùng phép chia 2 lấy phần dư chia tiếp cho 2
- tất cả các phần tử dư là kết quả của chuyển đổi
*Code:
#include<conio.h>
#include<stdio.h>
#include<malloc.h>
int main()
{
int i=0,coso=0,n=0,du=0,*mang;
mang=(int*)malloc(100*sizeof(int));
printf("Nhap vao mot con so: ");scanf("%d",&n);
printf("Nhap vao co so muon chuyen doi: ");scanf("%d",&coso);
int m=n;
do
{
du=n%coso;
n/=coso;

mang[i]=du;
i++;
}while(n>0);
if(coso==16)
{
printf("So %d sau khi chuyen sang co so %d: \n",m,coso);
for(int j=i-1;j>=0;j )
{
switch(mang[j])
{
case 10: printf("A");
break;
case 11: printf("B");
break;
case 12: printf("C");
break;
case 13: printf("D");
break;
case 14: printf("E");
break;
case 15: printf("F");
break;
default: printf("%d",mang[j]);

}
}
}
else
{
printf("So %d sau khi chuyen sang co so %d: \n",m,coso);

for(int j=i-1;j>=0;j )
{
printf("%d",mang[j]);
}

}
getch();
return 0;
}
* kết quả :
Câu 27: Nhập vào dãy n số thực. tính tổng dãy và trung bình dãy
*Tính tổng dãy:
B1: Cho tổng A=0
B2 : Cho đoạn lặp từ phần tử thứ 1 đến phần tử thứ n có tổng mới là A=A+ai
B3 : Đưa ra tổng cuối cùng
hoặc
B1: sum< a1, i< 1
B2: i< i+1
B3: nếu i<=n thì sum< sum+i, quay lai b2
B4: In kq và kết thúc thuật toán
*Code :






 !"#$
 %&!
!'((


))"#
 !"#$*+
(*+
,
!'((

"#*+
,
"#
!&&
& 
&)
,
Kết quả
*Trung bình cộng:
- nhập dãy A
- cho A=0
- dùng vòng lặp for tính tổng với A=A+ai
- lấy tổng chia cho n số phần tử
*Code:
- )#&'#./
- )#&' ./
012*+


*3+
)
 !"#$
#)&)

!'((

*"#+(4
 !"#$*+
,
5)6 ))7&"!12
& 
,
012*+

)
!'((
)(*+
&)0)8
,
*Kêt quả :
Câu 36: nhập ma trận vuông cấp n A và B. Tính A+B , A-B , A*B
*Ý tưởng :
- nhập vào 2 mảng dữ liệu A, B
- sử dụng vòng lặp for cho 2 mảng
- ma trận C là kết quả cua 2 ma trận A,B
*Code:
#include <conio.h>
#include <stdio.h>
#define max 100
//Nhap ma tran vuong A cap n
void NhapMaTran(int A[max][max], int n)
{
for(int i = 0; i<n ; i++)
for(int j = 0; j<n ; j++)

{
printf("[%d][%d] =",i,j);
scanf("%d", &A[i][j]);
}
}
//Xuat ma tran vuong A cap n
void XuatMaTran(int A[max][max], int n)
{
for(int i = 0; i<n ; i++)
{
printf("\n");
for(int j = 0; j<n ; j++)
printf("%d\t",A[i][j]);
}
}
//Tong hai ma tran A va B luu vao trong ma tran C
void Tong(int A[max][max], int B[max][max], int C[max]
[max], int n){
for(int i = 0; i<n ; i++)
for(int j = 0; j<n ; j++)
C[i][j] = A[i][j]+B[i][j];
}
//Tich hai ma tran A va B luu vao trong ma tran C
void Tich(int A[max][max], int B[max][max], int C[max]
[max], int n)
{
for(int i = 0; i<n ; i++)
for(int k = 0; k<n ; k++)
{
C[i][k] = 0;

for(int j = 0; j<n ; j++)
C[i][k] = C[i][k] + A[i][j]*B[j][k];
}
}
void main()
{
clrscr();
int A[max][max],B[max][max], C[max][max], n;
//nhap cap n
printf("Nhap cap n= ");
scanf("%d",&n);
//nhap ma tran A
printf("Nhap vao ma tran A\n");
NhapMaTran(A,n);
//nhap ma tran B
printf("Nhap vao ma tran B\n");
NhapMaTran(B,n);
//In hai ma tran A va B vua nhap
printf("Ma tran A vua nhap\n");
XuatMaTran(A,n);
printf("\nMa tran B vua nhap\n");
XuatMaTran(B,n);
//C=A+B
Tong(A,B,C,n);
printf("\nMa tran C=A+B\n");
XuatMaTran(C,n);
//C=A*B
printf("\nMa tran C=A*B\n");
Tich(A,B,C,n);
XuatMaTran(C,n);

getch();
}
*Kết quả:
Chương 4:
Câu 27: Viết hàm kiểm tra một số nguyên n có phải là số nguyên tố hay
không?
* Ý tưởng :
- nhập n
- n chia cho các số từ 2 cho đến n-1
- nếu n chia hết thì n không phải số nguyên tố
- ngược lại thì n là số nguyên tố
*Code:
#include <conio.h>
#include <stdio.h>
#include <math.h>
int nguyento(int n)
{
int i,kt=1;
if (n==1 || n==2) kt=1;
for (i=2;i<=(int)sqrt(n);i++)
{
if (n%i==0)
{
kt=0;
break;
}
else kt=1;
}
return kt;
}

int main()
{
int n;
printf ("Moi nhap n: ");
scanf ("%d",&n);
if (nguyento(n)) printf ("%d la so nguyen to!",n);
else printf ("%d khong la so nguyen to!",n);
getch();
return 0;
}
*Kết quả:
Câu 36: In tổng của n số nguyên tố đầu tiên:
*Ý tưởng
- Nhập n
- Tìm tất cả các số nguyên tố bé hơn hoặc bằng n
- Tính tổng các số đó và n
*Code:
#include<stdio.h>
#include<math.h>
int nto(int n);
int main()
{
int tong=0,n,i=0;
printf("nhap n:");
scanf("%d",&n);
printf("%d so nguyen to dau tien la:\n",n);
for(int j=0;;j++)
{
if(nto(j)==1)
{

printf("%5d",j);
tong+=j;
i++;
}
if(i==n)break;
}
printf("\ntong la:%d",tong);
return 0;
}
int nto(int n)
{
if(n==0||n==1) return 0;
for(int i=2;i<=(int)sqrt(n);i++)
if(n%i==0)return 0;
return 1;
}
*Kết quả
Câu 45: Viết hàm đệ quy tính số fibonaxi thứ n:
*Ý tưởng:i
-dùng đệ quy đưa số tại vị trí thứ n về các số vị trí n-1 và n-2 dần dần cho
đến 2 số cuối cùng sẽ được giá trị của nó
* Code:
#include <stdio.h>
#include <memory.h>
#include <malloc.h>
#include <conio.h>
#include <assert.h>
int fibonacci(int* a, int current, int n)
{
assert(n > 0);

if(n < 3)
return 1;
if(!a[0])
a[0] = 1;
if(!a[1])
a[1] = 1;
if(current > 1)
{
a[current] = a[current - 1] + a[current - 2];
if(current == n - 1)
{
return a[current];
}
}
fibonacci(a, current + 1, n);
}
int fibo(int n, int* f1, int* f2, int current)
{
int f;
assert(n > 0);
if(n < 3)
return 1;
if(current > 1)
{
f = *f1 + *f2;
*f2 = *f1;
*f1 = f;
if(current >= n - 1)
return f;
}

fibo(n, f1, f2, current + 1);
}
int main ()
{
int n, size = 10;
int f1 = 1, f2 = 1;
int sum = 0;
int* a = (int *)malloc(size * sizeof(int));
memset(a, 0, size * sizeof(int));
fibonacci(a, 0, size);
printf("Cach 1:\n");
for(n = 0; n < size; n++)
{
printf("%d\t", a[n]);
if(n%2)
sum += a[n];
}
printf("\nTong = %d\n", sum);
free(a);
printf("Cach 2:\n");
sum = 0;
for(n = 0; n < size; n++)
{
int f;
f1 = 1;
f2 = 1;
f = fibo(n + 1, &f1, &f2, 0);
printf("%d\t", f);
if(n % 2)
sum += f;

}
printf("\nTong = %d\n", sum);
getch();
return 0;
}
*Kết quả:

THE END

×