Bai Tap C

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

Nhập ma trận vuông gồm n phần tử , tính tổng các hàng của mt:

#include<stdio.h>
#include<conio.h>
void main()
{
int i,j,n ;
int a[100][100] ,tong[100];
clrscr();
printf("\n nhap cap cua ma tran vuong: n= ");
scanf("%d",&n);
for (i=0;i<n;i++)
for (j=0;j<n;j++)
{
printf("nhap cac pt cua ma tran a[%d][%d] =",i+1,j+1);
scanf("%d",&a[i][j]); }
for (i=0;i<n;i++)
{tong[i]=0;
for (j=0;j<n;j++)
tong[i]=tong[i]+a[i][j] ;
printf("tong hang thu %d la: %d \n ",i+1,tong[i]); }
getch();
}

1
/* VIET CHUONG TRINH NHAP BIEN SO XE VA IN RA TEN TINH
TUONG UNG*/

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void main(void)
{
struct tinh
{ int ma;
char *ten;
} sds[64]={{17,"THAI BINH"},{35,"NINH BINH"},{29,"HA NOI"},
{16,"HAI PHONG"},{34,"HAI DUONG"},{89,"HUNG YEN"}};
char ctam[10];
int i,in;
clrscr();
printf("Nhap vao bien so xe: ");
gets(ctam);
in = atoi(ctam);
for (i=0;i<in;i++)
if (sds[i].ma == in)
printf("Xe dang ky tai: %s",sds[i].ten);
getch();
}

2
Giải hệ 2 pt:

#include <conio.h>
#include <stdio.h>
#include <math.h>
void main(void)
{
float a,b,c,d,e,f,x,y;

float delta,delta_x,delta_y;
clrscr();
printf("Nhap vao cac he so cua he phuong trinh:");
printf("\n Nhap vao a: ");
scanf("%f",&a);
printf("\n Nhap vao b: ");
scanf("%f",&b);
printf("\n Nhap vao c: ");
scanf("%f",&c);
printf("\n Nhap vao d: ");
scanf("%f",&d);
printf("\n Nhap vao e: ");
scanf("%f",&e);
printf("\n Nhap vao f: ");
scanf("%f",&f);

delta = a*e - b*d;


delta_x = c*e - b*f;
delta_y = a*f - c*d;

x = delta_x/delta;
y = delta_y/delta;

printf("\n Nghiem x la: %f",x);


printf("\n Nghiem y la: %f",y);

getch();
}
3
Giải hệ 3 pt:
#include <stdio.h>
#include <conio.h>
#include <math.h>
void main(void)
{ float a[3],b[3],c[3],d[3],x,y,z,delta,deltax,deltay,deltaz;
int i;
clrscr();
for (i=1;i<=3;i++)
{ printf("Nhap cac he so cua he phuong trinh \n");
printf("a[%d]= ",i);
scanf("%f",&a[i]);
printf("b[%d]= ",i);
scanf("%f",&b[i]);
printf("c[%d]= ",i);
scanf("%f",&c[i]);
printf("d[%d]= ",i);
scanf("%f",&d[i]); }
delta = a[1]*(b[2]*c[3]-b[3]*c[2])-a[2]*(b[1]*c[3]-b[3]*c[1])
+a[3]*(b[1]*c[2]-b[2]*c[1]);
deltax= d[1]*(b[2]*c[3]-b[3]*c[2])-d[2]*(b[1]*c[3]-b[3]*c[1])
+d[3]*(b[1]*c[2]-b[2]*c[1]);
deltay= a[1]*(d[2]*c[3]-d[3]*c[2])-a[2]*(d[1]*c[3]-d[3]*c[1])
+a[3]*(d[1]*c[2]-d[2]*c[1]);
deltaz= a[1]*(b[2]*d[3]-b[3]*c[2])-a[2]*(b[1]*d[3]-b[3]*d[1])
+a[3]*(b[1]*d[2]-b[2]*d[1]);
if (delta != 0)
{ x = deltax/delta;
y = deltay/delta;
z = deltaz/delta;
printf("Nghiem la x = %6.2f, y = %4.2f, z = %4.2f",x,y,z);
}
else if ((deltax == 0) && (deltay == 0) && (deltaz == 0))
printf("He vo so nghiem");
else
printf("He vo nghiem");
getch();}
4
NHẬP MT 5X5 VÀ TÌM PT MAX TRÊN HÀNG:
#include <stdio.h>
#include <conio.h>
/*chuong trinh tim phan tu max hang cua matran*/
void main(void)
{ float a[5][5],max;
int i,j;
clrscr();
for (i=0;i<5;i++)
for (j=0;j<5;j++)
{
printf("Nhap vao phan tu ma tran a[%d][%d]: ",i+1,j+1);
scanf("%f",&a[i][j]);
}
for (i=0;i<5;i++)
{
max=a[0][0];
for (j=0;j<5;j++)
{ if (max<a[i][j]) max=a[i][j];}
printf(" phan tu tren hang thu %d la: %4.2f\n",i+1,max);
}
getch();
}

5
/*CHUONG TRINH NHAP VAO BON SO A, B, C VA D. TIM VA IN
KET QUA SO LON NHAT*/
#include <stdio.h>
#include <conio.h>
main()
{ float a,b,c,d,x,y,max;
clrscr();
printf("NHAP VAO SO THU NHAT.\n\n");
scanf("%f",&a);
printf("Nhap vao so thu hai.\n\n");
scanf("%f",&b);
printf("Nhap vao so thu ba.\n\n");
scanf("%f",&c);
printf("Nhap vao so thu tu.\n\n");
scanf("%f",&d);
if (a > b)
x = a;
else
x = b;
if (c > d)
y = c;
else
y = d;
if (x > y)
max = x;
else
max = y;
printf("So lon nhat trong bon so %2.2f, %2.2f, %2.2f va %2.2f la:
%2.2f \n\n",a,b,c,d,max);
getch();
}

6
Max min dãy số:
#include <stdio.h>
#include <conio.h>
void main(void)
{ int a[50],i,n,max,min,vitri;
clrscr();
printf("Nhap vao so phan tu: \n");
scanf("%d",&n);
for (i=0;i<n;i++)
{ printf("Nhap vao gia tri phan tu thu %d: ",i+1);
scanf("%d",&a[i]);
}
{ max = a[0];
Vitri=0
for (i=1;i<n;i++)
{ if (max < a[i]) max = a[i];
Vitri=i ; }
printf("Phan tu lon nhat la: %d\n",max); }
printf("vi tri : %d \n ",vitri);

{ min=a[0] ;
Vitri=0;
for(i=0; i<n;i++)
{ if (min>a[i]) min = a[i];}
Vitri=j;
printf("phan tu nho nhat la %d",min);
printf("vi tri : %d \n ",vitri); }
getch();
}

7
TÌM PT MAX MIN CỦA MT:
#include <stdio.h>
#include <conio.h>

void main(void)
{
float a[6][6],max,min;
int i,j;
clrscr();

for (i=1;i<6;i++)
for (j=1;j<6;j++)
{
printf("Nhap vao phan tu ma tran a[%d][%d]: ",i,j);
scanf("%f",&a[i][j]);
}
{ max = a[1][1];

for(i=1;i<6;i++)

for (j=1;j<6;j++)
if (max < a[i][j])
max=a[i][j];

printf(" pt max la : %4.2f\n",max); }

{ min = a[1][1];

for(i=1;i<6;i++)

for (j=1;j<6;j++)

if (min > a[i][j])


min = a[i][j];
printf(" pt min la : %4.2f\n",min); }

getch() ; }
8
XXXXXXXXXXX
#include <stdio.h>
#include <conio.h>

void main(void)
{
float a[50][50],max,min,Tonghang[50]={0},Tongcot[50]={0},TBC;
int i,j,n,m;
clrscr();

printf("Nhap vao so hang cua ma tran: ");


scanf("%d",&n);
printf("Nhap vao so hang cot ma tran: ");
scanf("%d",&m);

for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
{
printf("a[%d][%d] = ",i,j);
scanf("%f",&a[i][j]);
}
TBC = 0;
max = a[1][1];
min = a[1][1];
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
{
if (max < a[i][j])
max = a[i][j];
if (min > a[i][j])
min = a[i][j];
}
printf("Phan tu lon nhat la: %4.2f \n",max);
printf("Phan tu nho nhat la: %4.2f \n",min);

for (j=1;j<=m;j++)
9
{
for (i=1;i<=n;i++)
Tongcot[j] = Tongcot[j]+a[i][j];
printf("Tong cot %d la: %4.2f \n",j,Tongcot[j]);
}

for (i=1;i<=n;i++)
{
for (j=1;j<=m;j++)
Tonghang[i] = Tonghang[i]+a[i][j];
printf("Tong hang %d la: %4.2f \n",i,Tonghang[i]);
}
if (n == m)
{
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
if (i == j)
TBC = TBC + a[i][j];
TBC = TBC/n;
printf("Trung binh cong la: %f \n",TBC);
}
else
printf("Khong phai ma tran vuong");
getch();

10
/* CHUONG TRINH GIAI PHUONG TRINH BAC HAI */

#include <stdio.h>
#include <conio.h>
#include <math.h>
void main(void)
{ float a,b,c,x1,x2,tg,delta;
clrscr();

printf("Nhap vao he a PTB2: \n");


scanf("%f",&a);
printf("Nhap vao he b PTB2: \n");
scanf("%f",&b);
printf("Nhap vao he c PTB2: \n");
scanf("%f",&c);

delta=(b*b-4*a*c);

if (delta > 0)
{
tg=sqrt(delta);
x1=(-b+tg)/(2*a);
x2=(-b-tg)/(2*a);
printf("Phuong trinh co hai nghiem phan biet:\n");
printf("%f",x1);
printf("%f",x2);
}
else if (delta == 0)
{
x1=x2 = -b/(2*a);
printf("Phuong trinh co nghiem kep:\n");
printf("%f",x1);
}
else {
printf("Phuong trinh vo nghiem:\n");
}
getch();}
11
phuong trinh bac bac nhat

#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int a,b;
float x;

clrscr();

printf("nhap a b \n");
scanf("%d %d",&a,&b);

if(a==0)
{ if(b==0) printf("pt VSN");
else printf("pt VN") ; }

else { x=-b/a ;
printf("\n pt co nghiem la %f ",x) ; }

getch();
}

12
Xác định bien so xe :
#include<stdio.h>
#include<conio.h>
void main()
{ clrscr();
int ten_bien;
printf("nhap ten bien so xe la: ");
scanf("%d",&ten_bien);
switch (ten_bien)
{
case 34:
printf("bien xe HD");
break;
case 30:case 29: case 31:
printf ("bien xe hn");
break;
case 89:
printf ("bien xe HY");
break;
case 16:
printf("bien xe HP");
break;
case 14:
printf("bien xe QN");
break;
default:
printf("bien xe do chua xd hay thuoc tinh khac");
}
getch();
}

13
/* VIET CHUONG TRINH NHAP BIEN SO XE VA IN RA TEN TINH
TUONG UNG*/

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

void main(void)
{
struct tinh
{
int ma;
char *ten;
} sds[64]={{17,"THAI BINH"},{35,"NINH BINH"},{29,"HA NOI"},
{16,"HAI PHONG"},{34,"HAI DUONG"},{89,"HUNG YEN"}};

char ctam[10];
int i,in;
clrscr();

printf("Nhap vao bien so xe: ");


gets(ctam);
in = atoi(ctam);

for (i=0;i<in;i++)
if (sds[i].ma == in)
printf("Xe dang ky tai: %s",sds[i].ten);
getch();
}

14
Viết ct nhập 1 chuỗi ký tự gồm 11 ký tự từ bàn phím , so sánh chuỗi đó
với chuỗi : “Nguyen Van A’’ . in ra màn hình kết quả đúng hay sai với
chuỗi đã cho.

Void main()
{ char ten[ ]= “nguyen van a” ; int i ,n ;
char hoten[20];
Puts ( “nhap hoten [ ] ” );
Gets (hoten);
Int KT=0;
For (i=0; i<12; i++)
{ if (hoten[i]== Ten[i] )
KT++;}
If (KT==12)
Printf(“ban nhap dung “);
Else
Printf(“ban nhap sai “);
Getch();
}

Nhập 30 ký tự từ bàn phím sau đó chuyển ký tự thường sang hoa và


ngược lại

Void main()
{ char C[30] ; int I; gets(C);
For (i=0; C[i]!= ‘ \0 ‘ ; i++)
If((C[i]>= ‘a’) &&(C[i]<= ‘z’))
C[i]= C[i]-32;

If((C[i]>= ‘A’) &&(C[i]<= ‘Z’))


C[i]= C[i]+32;
}

15
Nhập mảng 50 pt. tính tích 10 pt đầu in ra kết quả, tìm các pt >50 và in
ra chỉ số các pt đó:

Void main()
{ int a[50], i;
Int S=1;
Clrscr();
Printf(“nhap pt cua mang”);
For ( i=0;i <50; i++)
{ printf (“a[%d]”, i);
Scanf(“%d”, &a[i]);}

For ( i=0;i <10; i++)


{S=S*i;}
Printf(“tich 10 so dau la %f”, S);
For ( i=0;i <50; i++)
{if (a[i]>50)
Printf(“phan tu thu %d lon hon 50 co gia tri la%d”,i+1, a[i]);
}
Getch();
}

16
Viết chương trinh nhập vào số nguyên có 3 chữ số(100>999) roi in ra
hàng trăm ,trục, đơn vị:

Void main()
{ int a,b,c,x;
Printf(“ nhap x”);
Scanf(“%d”, %x);
If (x>=100)&&(x<=999)
{ a=x/100;
b= (x-a*100)/10;
c=x%10;
printf(“so hang trăm là %d”,a) ;
printf(“so hang truc là %d”,b) ;
printf(“so hang dvi là %d”,c) ;
else printf(“ko thoa man”) ;
getch();
}

17
CT in ra tam gia * và bang cửu chương:

For(int i=1; i<=N; i++)


{ For(int j=1; j<=N; j++)
Printf (“ * ”);
Printf (“ \n ”);
}

In ra bang cuu chuong:

For(int i=1; i<=9; i++)


{ For(int j=1; j<=9; j++)

Printf (“ %d x %d = %d ”, i ,j , i*j );
Printf (“ \n ”);
}

Xắp xep theo giá tri tang dần:

For( i=1; i<=20; i++)


For( i=1; i<=20; i++)
If (bangdiem[i] > bangdiem[j])
{ temp= bangdiem[j] ;
bangdiem[i]= bangdiem[j];
bangdiem[j]=temp;}

18
Chương trình sáng dần tắt dần 8 led:
#include<AT89X51.H>
Const char maled[9]= { 0X00, 0X01, 0X03, 0X07, 0X0F, 0X1F, 0X3F,
0X7F, 0XFF}
Void main(void)
{ int lan, I;
Lan=10;
While ( lan > 0 )
For ( i=0 ; i<9 ; i++ )
{ P1 = maled[i];
Delay(1000); }

For ( i=8 ; i>=0 ; i--)


{ P1 = maled[i];
Delay(1000); }
}
Chú ý: nếu 16led:
-sang dan 8led P1
-sang dan 8led P3
-tat dan 8led P3
-tat dan 8led P1
Chương trình sáng dần từ trái qua phải và tắt dần từ phải qua trái
#include<AT89X51.H>
Const char maled1[9]={ 0X00, 0X01, 0X03, 0X07, 0X0F, 0X1F, 0X3F,
0X7F, 0XFF};
Const char maled1[8]= { 0X7F , 0X3F, 0X1F, 0X0F , 0X07, 0X03, 0X01,
0X00 };
Void main(void)
{ int i;
While(1) { For ( i=0 ; i<=9 ; i++ )
{ P1 = maled1[i];
Delay(100); }
For ( i=0 ; i<8 ; i++ )
{ P1 = maled2[i];
Delay(100); }
}
}
19
Chương trình hiển thị số 13:
#include<AT89X51.H>
Const char maled[10]= { 0X3F, 0X06, ….};
Void main ()
{ while (1)
{ P3.1 = 1 ;
P3.2= 0;
P1 = maled[1];
Delay 1ms();
P3.1 = 0 ;
P3.2 = 1 ;
P1 = maled[3];
Delay 1ms();
}
}
Chương trình hiển thị 00 den 99:
#include<AT89X51.H>
Const char maled[10]= { ….., …., ….};
Void main ()
{ int i , j , t ;
For ( i=0 ; i<9 ; i++)
For ( j=0 ; j<9 ; j++)
For ( t=0 ; t<50 ; t++)
{ P3.1=1 ; P3.2 = 0 ;
P1 = maled[i] ;
Delay(100) ; }

{ P3.1= 0 ; P3.2 = 1 ;
P1 = maled[i];
Delay(100);}
}
Từ 99ve 00 thì ngược lại

20
Chương trình dk động cơ:( mạch cầu H)
Void main()
{ p1.1=1 ;
P1.4=1;
P1.2=0;
P1.3=0;
Delay 5s();

p1.1=0 ;
P1.4=0;
While(1);
}
Dùng ngắt timer để tạo ra xung chu kỳ 50ms, độ lấp đầy 20%, tần số
thạc anh 12MHz.
63BF=55535=X1 suy ra 655535=10khz(1) 20%
D8EF=25535=X2 suy ra 25535=40khz(0)

#define hb1 0XD8


#define Lb1 0XEF
#define hb0 0X63
#define hb0 0XBF
Int xung=0;
Void timer 0 _ngat(0) interrapt 1 using 2
If ( xung == 0 ) { P0.0 = 1 ; TH0 = hb0 ; TL0 = Lb0; xung = 1 ; }
Else { P0.0 = 0 ; TH0 = hb1 ; TL0 = Lb1; xung = 0 ; }
}
Void main()
{ TMOM = 0X01;
TH0 = hb0;
TL0 = Lb0;
Xung =1 ;
TR = 1;
IE = )X82 ;
While(1)
}

21
P1.7= 0 thi chuong trinh thuc hien dem:

#include<AT89X51.H>
Const char maled[10]= { ….., …., ….};
Void main ()
{ int dem=0;
{ While ( P1.7==1);
While ( P1.7==0);
If ( dem==9 ) dem=0;
Else dem++;
P2 = Maled [dem];
}
}

22

You might also like