Tính giá trị giai thừa n!. trong đó n nhập vào từ bàn phím.. In kết quả ra màn hình... Tính giá trị lớn nhất và nhỏ nhất của dãy số đó.. In kết quả ra màn hình cùng vị trí thứ tự của các
Trang 1Bài tập lập trình C lớp AT10A - Phần 2: For
(Lượt xem: 6,760)
Bài 1 Tính giá trị giai thừa n! trong đó n nhập vào từ bàn phím In kết quả ra màn hình
Code:
#include "stdio.h"
#include "conio.h"
main()
{
int i,n,s;
clrscr();
printf("Nhap so n: ");
scanf("%d",&n);
if (n>0)
{
s=1;
for (i=1;i<=n;i++)
s = s*i;
printf("ket qua %d!= %d",n,s);
}
else printf("Ban phai nhap so nguyen duong!");
getch();
return 0;
}
Bài 2 : Tính tổng: S = 1 + 1/2! + 1/3! + + 1/n! với giá trị của n nhập từ bàn phím
Code:
#include "stdio.h"
#include "conio.h"
main()
{
int i,n,s;
float s1;
clrscr();
printf("Nhap so n: ");
scanf("%d",&n);
if (n>0)
{
s=1;
for (i=1;i<=n;i++)
{
s = s*i;
s1 = s1 + (float)1/s;
}
printf("ket qua S = %f",s1);
}
else printf("Ban phai nhap so nguyen duong!");
getch();
return 0;
}
Trang 2Bài 3 : Nhập vào một dãy n số bất kì từ bàn phím Tính giá trị lớn nhất và nhỏ nhất của dãy số
đó In kết quả ra màn hình cùng vị trí thứ tự của các giá trị max, min trong dãy số
Code:
#include "stdio.h"
#include "conio.h"
main()
{
int i,n,vtmax,vtmin;
float a[100],max,min;
clrscr();
printf("Nhap so phan tu cua day so: ");
scanf("%d",&n);
if (n>0)
{
for (i=0;i<n;i++)
{
printf("\nNhap phan tu thu a[%d]: ",i);
scanf("%f",&a[i]);
}
max = a[0];
min = a[0];
for (i=0;i<n;i++)
{
if (max < a[i]) max = a[i];
if (min > a[i]) min = a[i];
}
printf("\nSo lon nhat trong day la: %f, o vi tri ",max);
for (i=0;i<n;i++)
if (a[i] == max) printf("%4d",i);
printf("\nSo nho nhat trong day la: %f, o vi tri ",min);
for (i=0;i<n;i++)
if (a[i] == min) printf("%4d",i);
}
else printf("Ban phai nhap so nguyen duong!");
getch();
return 0;
}
Bài 4 : Nhập vào một dãy số bất kì từ bàn phím Đếm tổng số các số dương và tổng số các số
âm Tính trung bình cộng của các số dương, trung bình cộng các số âm Tính trung bình cộng của cả dãy số In kết quả ra màn hình
Code:
#include "stdio.h"
#include "conio.h"
main()
{
int i,n,am,duong;
float a[100],sduong,sam,tbduong,tbam,tbday,sday;
clrscr();
printf("Nhap so phan tu cua day so: ");
scanf("%d",&n);
if (n>0)
{
Trang 3for (i=0;i<n;i++)
{
printf("\nNhap phan tu thu %d: ",i+1);
scanf("%f",&a[i]);
}
am=duong=sduong=sam=sday=0;
for (i=0;i<n;i++)
{
if (a[i] > 0)
{
sduong=sduong+a[i];
duong = duong + 1;
}
if (a[i] < 0)
{
sam=sam+a[i];
am = am + 1;
}
sday = sday + a[i];
//printf("\nPhan tu thu %d cua day la: %f",i+1,a[i]);
}
if (duong!=0)
{
tbduong = (float)sduong/duong;
printf("\nTong cac so duong cua day la %.3f, trung binh cong la
%.3f",sduong,tbduong);
}
else printf("\nDay khong co so duong!");
if (am!=0)
{
tbam = (float)sam/am;
printf("\nTong cua cac so am la %.3f, trung binh cong la %.3f",sam,tbam); }
else printf("\nDay khong co so am!");
tbday = (float)sday/n;
printf("\nTrung binh cong cua day so la %.3f",tbday);
}
else printf("Ban phai nhap so nguyen duong!");
getch();
return 0;
}
Bài 5 : Tìm giá trị lớn nhất và đếm các giá trị lớn nhất của nửa dưới đường chéo phụ của một ma trận cấp A[n,n] In ma trận cùng kết quả tìm được ra màn hình
Code:
#include "stdio.h"
#include "conio.h"
main()
{
int i,j, n,t;
float a[100][100],max;
clrscr();
printf("Nhap so n: ");
scanf("%d",&n);
Trang 4if (n>0)
{
for (i=0;i<n;i++)
for (j=0;j<n;j++)
{
printf("Nhap gia tri a[%d][%d]: ",i,j);
scanf("%f",&a[i][j]);
}
max = a[2][n-1];
for (i=1;i<n;i++)
for (j=n-i;j<n;j++)
if (max < a[i][j]) max = a[i][j];
t=0;
for (i=1;i<n;i++)
for (j=n-i;j<n;j++)
if (a[i][j] == max) t=t+1;
printf("\nMa tran A:"); printf("\n");
for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
printf("%6.2f",a[i][j]);
printf("\n");
}
printf("\nGia tri lon nhat la %6.2f",max);
printf("\nTim duoc %d vi tri.",t);
}
else printf("Ban phai nhap so nguyen duong!");
getch();
return 0;
}
Bài 6 : Tính tích hai ma trận C[n,p] = A[n,m] x B[m,p] In các ma trận ra màn hình
Code:
#include "stdio.h"
#include "conio.h"
main()
{
int i,j,t,n1,n2,m1,m2;
float a[100][100],b[100][100],c[100][100];
clrscr();
printf("\nNhap cap cua ma tran a: ");
scanf("%d%d",&n1,&n2);
printf("\nNhap cap cua ma tran b: ");
scanf("%d%d",&m1,&m2);
if (n2!=m1) printf("Hai ma tran khong nhan duoc!");
else if (n1>0&&n2>0&&m2>0)
{
for (i=0;i<n1;i++)
for (j=0;j<n2;j++)
{
printf("Nhap gia tri a[%d][%d]: ",i,j);
scanf("%f",&a[i][j]);
}
for (i=0;i<n2;i++)
Trang 5for (j=0;j<m2;j++)
{
printf("Nhap gia tri b[%d][%d]: ",i,j);
scanf("%f",&b[i][j]);
}
for (i=0;i<n1;i++)
for (j=0;j<m2;j++)
for (t=0;t<n2;t++)
c[i][j] = c[i][j] + (a[i][t])*(b[t][j]) ;
printf("Ma tran a: \n");
for (i=0;i<n1;i++)
{
for (j=0;j<n2;j++)
printf("%6.2f",a[i][j]);
printf("\n");
}
printf("Ma tran b: \n");
for (i=0;i<m1;i++)
{
for (j=0;j<m2;j++)
printf("%6.2f",b[i][j]);
printf("\n");
}
printf("Ma tran c: \n");
for (i=0;i<n1;i++)
{
for (j=0;j<m2;j++)
printf("%6.2f",c[i][j]);
printf("\n");
}
}
else printf("Ban phai nhap so nguyen duong!");
getch();
return 0;
}
Bài 7 Viết chương trình nhập vào số nguyên dương n Sau đó in ra màn hình ma trận xoáy A[n,n] theo dạng:
7 6 5 với n = 3
Code:
#include "stdio.h"
#include "conio.h"
main()
{
int i,j,n,v,m, A[100][100];
clrscr();
printf("Nhap so chieu n cua ma tran vuong a: ");
scanf("%d",&n);
if (n%2==0) m=n/2;
else { m=n/2+1; A[n/2][n/2]=n*n;}
v=1;
for (i=0;i<m;i++)
Trang 6{
for (j=i;j<n-i-1;j++) { A[i][j] = v; ++v; }
for (j=i;j<n-i-1;j++) { A[j][n-i-1] = v; ++v; }
for (j=n-i-1;j>i;j ) { A[n-i-1][j] = v; ++v; }
for (j=n-i-1;j>i;j ) { A[j][i] = v; ++v; }
}
for (i=0;i<n;i++)
{
for (j=0;j<n;j++) printf("%6d",A[i][j]);
printf("\n");
}
getch();
return 0;
}
Bài 8 : Viết chương trình nhập vào hai dãy số nguyên theo chiều tăng dần Sau đó trộn hai dãy này lại thành dãy thứ ba vẫn theo chiều tăng dần mà không cần sắp xếp lại In ra màn hình ba dãy
Code:
#include "stdio.h"
#include "conio.h"
main()
{
int i,j,t,n,m,p,a[100],b[100],c[100];
clrscr();
printf("\nSo phan tu cua day thu nhat: ");
scanf("%d",&n);
printf("\nSo phan tu cua day thu hai: ");
scanf("%d",&m);
if (n>0&&m>0)
{
for (i=0;i<n;i++)
{
printf("\nNhap phan tu thu %d cua day thu nhat: ",i+1);
scanf("%d",&a[i]);
}
for (i=0;i<m;i++)
{
printf("\nNhap phan tu thu %d cua day thu hai: ",i+1);
scanf("%d",&b[i]);
}
p = m + n;
t=j=0;
for (i=0;i<p;i++)
{
if (b[j] > a[t])
{
c[i] = a[t];
++t;
if (t==n) { c[i+1] = b[j]; break; }
}
else
{
c[i] = b[j];
Trang 7++j;
if (j==m) { c[i+1] = a[t]; break; }
}
}
printf("\nDay thu nhat: ");
for (i=0;i<n;i++)
printf("%4d",a[i]);
printf("\nDay thu hai: ");
for (i=0;i<m;i++)
printf("%4d",b[i]);
printf("\nDay thu ba: ");
for (i=0;i<p;i++)
printf("%4d",c[i]);
}
else printf("Ban phai nhap so nguyen duong!");
getch();
return 0;
}
Bài9 :
Code:
#include "stdio.h"
#include "conio.h"
#include "math.h"
main()
{
int n,i;
float a[100],x,p;
clrscr();
printf("\So mu cao nhat : ");
scanf("%d",&n);
if (n>0)
{
for (i=0;i<=n;i++)
{
printf("\nNhap so hang a%d : ",i);
scanf("%f",&a[i]);
}
printf("\nNhap x: ");
scanf("%f",&x);
p=0;
for (i=0;i<=n;i++)
p = p + a[i]*pow(x,i);
for (i=n;i>=0;i )
Trang 8{
if ((a[i] != 0)&&(a[i]!=1)&&(a[i]!=-1)&&(i!=0)&&(i!=1)) printf(" %.2fx%d ",a[i],i);
else if ((a[i]==1)&&(i!=1)) printf("x%d",i);
else if ((a[i]==1)&&(i==1)) printf("x",i);
else if ((a[i]==-1)&&(i!=1)) printf(" - x%d",i);
else if (a[i]==0) continue;
else if (i==0) printf(" %.2f ",a[i]);
else if (i==1) printf(" %.2fx ",a[i]);
if ((a[i-1]>0)&&(i>0)) printf(" + ");
}
printf(" = %.2f voi x = %.2f",p,x);
}
getch();
return 0;
}