Bài giải mẫu chi tiết đề thi tin học đại cương các trường đại học . Giúp bạn đọc nâng cao kĩ năng làm bài thi tin học đại cương. Vượt qua môn thi khó này.Chúc các bạn làm tốt bài thi này. Tin học đại cương bài giải chi tiết 36 đề tổng hợp
Trang 1/* Bai 1 */ kiểm tra n có phải là số nguyên tố hay không?
<conio.h>
#include<stdio.h>
int ktsnt(int a)
{
int kt, i=2 ;
if(a<2) kt=0;
else if(a<4) kt=1;
else {
kt=1;
for(i;i*i<=a;i++) if(a%i==0) kt=0;
}
return kt;
}
main()
{
int n;
do
{
printf(" nhap so nguyen khong am, n=");
scanf("%i",&n);
}
while (n<0);
if(ktsnt(n)) printf(" %i la so nguyen to.",n);
else printf(" %i khong la so nguyen to.",n);
getch();
}
/* Bai 5 */số hoàn hảo là số nguyên dương bằng tổng các ước thật sự của nó viết chương trình kiểm tra n có phải số hoàn hảo hay không?
<conio.h>
#include<stdio.h>
int ktshh(int a)
{
int b=1, c=0;
for(b;b<a;b++) if(a%b==0) c=c+b;
if(c-a) return 0;
else return 1;
}
main()
{
int n;
do
{
Trang 2printf(" nhap so nguyen khong am, n=");
scanf("%i",&n);
}
while (n<0);
if(ktshh(n)) printf(" %i la so hoan hao.",n);
else printf(" %i khong la so hoan hao.",n);
getch();
}
/* Bai 3 */viết chương trình có sử dụng hàm n có phải là số chính phương hay không?s
<conio.h>
#include<stdio.h>
int ktsnt(int a)
{
int kt=0, i=0 ;
for(i;i*i<=a;i++) if(i*i==a) kt=1;
return kt;
}
main()
{
int n;
do
{
printf(" nhap so nguyen khong am, n=");
scanf("%i",&n);
}
while (n<0);
if(ktsnt(n)) printf(" %i la so chinh phuong.",n);
else printf(" %i khong la so chinh phuong.",n);
getch();
}
/* Bai 7 */số tổ hợp có công thức truy hồi Viết chương trình sử dụng hàm nhập từ bàn phím
<conio.h>
#include<stdio.h>
int tohop(int a,int b)
{
if(a==0) return 1;
else if(a==b) return 1;
else return (tohop(a,b-1)+tohop(a-1,b-1));
}
main()
{
int n, k, th;
Trang 3printf(" nhap so nguyen khong am, n=");
scanf("%i",&n);
printf(" nhap so nguyen khong am, k=");
scanf("%i",&k);
printf(" To hop chap %i cua %i la",k,n);
th=tohop(k,n);
printf(" %i.",th);
getch();
}
/* Bai 6 */viết ucln và bcnn nhập từ bàn phím
<conio.h>
#include<stdio.h>
main()
{
int a, b, c, d, uc, bc;
printf(" nhap hai so nguyen khong am a="); scanf("%i",&a);
printf(" nhap hai so nguyen khong am b="); scanf("%i",&b);
c=a;
d=b;
while(a!=b) if(a>b) a=a-b;
else b=b-a;
printf(" UCLN cua %i va %i la %i.",c,d,a); bc=c*d/a;
printf(" BCNN cua %i va %i la %i.",c,d,bc); getch();
}
/* Bai 10 */giải và biện luận phương trình bậc 2
<conio.h>
#include<math.h>
#include<stdio.h>
main()
{
int a, b, c;
float d, x, x1, x2;
printf(" nhap a=");
scanf("%i",&a);
printf(" nhap b=");
scanf("%i",&b);
printf(" nhap c=");
scanf("%i",&c);
Trang 4if(a==0)
{
if(b==0)
{
if(c==0) printf(" phuong tinh co vo so nghiem.");
else printf(" phuong tinh vo nghiem.");
}
else printf(" phuong tinh co nghiem:%f",-c/b);
}
else
{
d=b*b-4*a*c;
if(d<0) printf(" phuong trinh vo nghiem.");
else if(d==0)
{
x=-b/(2*a);
printf(" phuong trinh co mot nghiem duy nhat: %f.",x);
}
else {
d=sqrt(d);
x1=(-b-d)/(2*a);
x2=(-b+d)/(2*a);
printf(" phuong trinh co hai nghiem phan biet: %f va %f.",x1,x2); }
}
getch();
}
/* Bai 9 */viet chuong trinh su dung ham de tinh tong sau S=1+x+x^2/2
<conio.h>
#include<stdio.h>
float tong(int a, int b)
{
long mu=1;
float s=1;
int i=1;
if(b==0) return s;
else for(i;i<=b;i++)
{
mu*=a;
s+=mu/i;
}
return s;
}
Trang 5{
int n, x;
float t;
printf(" nhap x=");
scanf("%d",&x);
printf(" nhap n=");
scanf("%d",&n);
t=tong(x,n);
printf(" S = %f",t);
getch();
}
/* Bai 8 */ viết chương trình để tính tổng sau s=1+x+x^2/2!+ x^n/n
<conio.h>
#include<stdio.h>
float tong(int a, int b)
{
long mu=1, gt=1;
float s=1;
int i=1;
if(b==0) return s;
else for(i;i<=b;i++)
{
mu*=a;
gt*=i;
s+=mu/gt;
}
return s;
}
main()
{
int n, x;
float t;
printf(" nhap x=");
scanf("%d",&x);
printf(" nhap n=");
scanf("%d",&n);
t=tong(x,n);
printf(" S = %f",t);
getch();
}
Trang 6/* Bài 23 */viet chuong trinh tinh N!!
<conio.h>
#include<stdio.h>
main()
{
int n, i, ngt2=1;
printf(" Nhap n= ");
scanf("%i",&n);
for(i=n;i>0;i=i-2) ngt2*=i;
printf("ket qua: %i",ngt2);
getch();
}
/* Bài 25 */
<conio.h>
#include<stdio.h>
main()
{
int a, b, c;
printf(" Nhap a= ");
scanf("%i",&a);
printf(" Nhap b= ");
scanf("%i",&b);
printf(" Nhap c= ");
scanf("%i",&c);
if(((a+b)>c)&&((a-b)<c)) printf(" Ba canh da cho la ba canh cua mot tam giac."); else printf(" Ba canh da cho khong la ba canh cua mot tam giac.");
getch();
}
/* Bài 27 */nhap so nguyen n tinh tich cac chu so cua no?
<conio.h>
#include<stdio.h>
main()
{
int n, a, s=1;
printf(" Nhap n= ");
scanf("%i",&n);
a=n;
while(a>0)
{
s*=(a%10);
a/=10;
}
Trang 7printf(" tong cac chu so cua %i la %i", n, s);
getch();
}
/* Bài 26 */nhap so nguyen n tinh tong cac chu so cua no
<conio.h>
#include<stdio.h>
main()
{
int n, a, s=0;
printf(" Nhap n= ");
scanf("%i",&n);
a=n;
while(a>0)
{
s+=a%10;
a/=10;
}
printf(" tong cac chu so cua %i la %i", n, s);
getch();
}
/* Bài 29 */viet chuong trinh nhap 3 so a,b,c Tinh so trung gian lon thu nhi?
<conio.h>
#include<stdio.h>
main()
{
int a, b, c, m2;
printf(" Nhap a= ");
scanf("%i",&a);
printf(" Nhap b= ");
scanf("%i",&b);
printf(" Nhap c= ");
scanf("%i",&c);
m2=a>b?a:b;
m2=m2>c?c:m2;
printf(" so lon nhi la: %i",m2);
getch();
}
/* Bai 36 */ Voi cac chu so 2,4,6,8 Hoi lap duoc bao nhieu so thap phan co 4 chu so
<conio.h>
#include<stdio.h>
main()
{
Trang 8int a=101;
for(a;a>101,a<=999;a++) if((a-1)%60==0) break;
printf("so nho nhat co ba chu so chia cho 2,3,4,5,6 deu du 1 la: %i",a); getch();
}
/* Bài 31 */
<conio.h>
#include<stdio.h>
main()
{
char a;
printf(" Nhap 1 ki tu x, h, t hoac d: ");
scanf("%c",&a);
switch(a)
{
case 'x': printf(" Mua xuan.");
break;
case 'h': printf(" Mua ha.");
break;
case 't': printf(" Mua thu.");
break;
case 'd': printf(" Mua dong.");
break;
default: printf(" Moi ban nhap lai.");
}
getch();
}
/* Bài 30 */
<conio.h>
#include<stdio.h>
main()
{
int a;
printf(" Nhap 1 so 1, 2, 3 hoac 4: ");
scanf("%c",&a);
switch(a)
{
case '1': printf(" Mua xuan.");
break;
case '2': printf(" Mua ha.");
break;
case '3': printf(" Mua thu.");
Trang 9case '4': printf(" Mua dong."); break;
default: printf(" Moi ban nhap lai."); }
getch();
}d