Tải bản đầy đủ (.pdf) (41 trang)

MỘT SỐ BÀI LUYỆN TẬP PHẦN CODE MÔN TIN HỌC ĐẠI CƯƠNG

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 (686.99 KB, 41 trang )

Một số bài luyện tập phần code môn Tin học đại cương
(Gồm 37 bài kèm lời giải tham khảo)

Bài 1:
Viết chương trình thực hiện các cơng việc sau:
 Nhập vào 1 mảng số nguyên (tối đa 10 phần tử)
 In ra màn hình phần tử bé nhất trong mảng và tổng của các số chẵn trong
mảng.
Lưu ý: nếu khơng có số chẵn nào thì tổng sẽ là 0

Bài 2:
Lập chương trình thực hiện các cơng việc sau:
 Nhập một mảng có N số ngun bất kì (0< N < 10 được nhập từ bàn phím).
 In ra màn hình mảng vừa nhập dưới dạng một dãy số.
 Nhập một số ngun X bất kì (X>0) từ bàn phím.
Nếu X ≤ N thì tính trung bình cộng của X số đầu tiên trong dãy.
Nếu X > N thì tính tổng các số trong mảng.
 Thơng báo kết quả ra màn hình.

Bài 3:
Lập chương trình thực hiện các cơng việc sau:
 Nhập một mảng gồm các số nguyên bất kì từ bàn phím.
 Việc nhập mảng sẽ dừng lại khi số lượng các phần tử bằng 7 hoặc khi nhập
vào số 0 (Số 0 không phải phần tử trong mảng).
 In ra màn hình mảng vừa nhập dưới dạng một dãy số.
 Sắp xếp mảng vừa nhập theo thứ tự tăng dần và in ra màn hình.
1


Bài 4:
Viết chương trình thực hiện các cơng việc sau:


 Nhập vào hai ký tự
 In ra kết quả là khoảng cách của hai ký tự đó trên bảng mã ASCII
Lưu ý: khoảng cách là số nguyên có thể âm hoặc dương

Bài 5:
Lập chương trình thực hiện các cơng việc sau:
 Nhập một số nguyên N (0 < N < 10) từ bàn phím.
 Nhập một mảng có N số thực từ bàn phím. In ra màn hình mảng vừa nhập
như một dãy số.
 Tìm số lớn nhất trong mảng, đếm xem có bao nhiêu số lớn nhất trong mảng.
Hiện kết quả ra màn hình dưới dạng như sau:
"Gia tri lon nhat cua day la < giatri >"
"So luong phan tu bang gia tri lon nhat la < giatri >"

Bài 6:
Lập chương trình thực hiện các cơng việc sau:
 Nhập một số nguyên N (0 < N < 10) từ bàn phím.
 Nhập một mảng có N số thực từ bàn phím. Tính tổng các phần tử cực đại
 In ra mảng vừa nhập và tổng các phần tử cực đại.
Lưu ý: Phần tử cực đại là phần tử lớn hơn phần tử ngay trước và ngay sau nó
Ví dụ: các phần tử được tô đỏ dưới đây là phần tử cực đại:
152635188

2


Bài 7:
Lập chương trình thực hiện các cơng việc sau:
 Nhập một số nguyên N (0 < N < 10) từ bàn phím.
 Nhập một mảng có N số ngun từ bàn phím. In ra màn hình mảng vừa nhập

như một dãy số.
 Tính và in ra số lượng các số nguyên tố trong dãy dưới dạng:
"So luong so nguyen to co trong day la < gia tri >"

Bài 8:
Lập chương trình thực hiện các cơng việc sau:
 Nhập một số nguyên N (0 < N < 10) từ bàn phím.
 Nhập một mảng có N số ngun từ bàn phím. In ra màn hình mảng vừa nhập
như một dãy số.
 Tính và in ra trung bình cộng của các số chẵn (chia hết cho 2) trong dãy
dưới dạng:
"Trung binh cong cua cac so chan co trong day la: < giatri >".

Bài 9:
Lập chương trình thực hiện các cơng việc sau:
 Nhập một số nguyên N (0 < N < 10) từ bàn phím.
 Nhập một mảng có N số ngun từ bàn phím. In ra màn hình mảng vừa nhập
như một dãy số.
 Tìm và in ra số lớn thứ 2 trong dãy.
Ví dụ: 1,2,3,4,4 thì kết quả là 3

3


Bài 10:
Lập chương trình thực hiện các cơng việc sau:
 Nhập một số nguyên N (0 < N < 10) từ bàn phím.
 Nhập một mảng có N số ngun từ bàn phím. In ra màn hình mảng vừa nhập
như một dãy số.
 Tính và in ra số lượng số hoàn thi



for(j=1;j<=a[i];j++)
{
if(a[i]%j==0)
s+=j;
}
if(s==(2*a[i]))
{
printf("%d ",i+1);
if(a[i]<2016 && a[i]>=1)
dem++;
}
}
printf("\nSo luong so hoan thien nho hon 2016: %d",dem);
return 0;
}
Bài 17:
#include <stdio.h>
#include <math.h>
int main()
{
int a[100],n,i,j,d=0;
do{
scanf("%d",&n);
}while(n<=0 || n>=10);
for(i=0;iscanf("%d",&a[i]);
for(i=0;iprintf("%d ",a[i]);

printf("\nVi tri cac so nguyen to la: ");
for(i=0;i{
if(a[i]>=2)
{
int dem=0;
for(j=2;j<=sqrt(a[i]);j++)
{
25


}

if(a[i]%j==0)
dem++;
if(dem==0)
{
printf("%d ",i+1);
if(a[i]<2016)
d++;
}

}
}
printf("\nSo luong so nguyen to nho hon 2016 la: %d",d);
return 0;
}
Bài 18:
#include <stdio.h>
int so(int a)

{
int s=0;
for(int i=1;i{
if(a%i==0)
s+=i;
}
return s;
}
int main()
{
int m,n;
do{
scanf("%d",&m);
}while( m<1||m>2000 );
do{
scanf("%d",&n);
}while(n<1||n>2000);

26


if(so(m)==n && so(n)==m)
printf("%d %d la cap so than thiet",m,n);
else
printf("%d %d khong phai cap so than thiet",m,n);
return 0;
}
Bài 19:
#include <stdio.h>

int so(int a)
{
int s=0;
for(int i=1;i{
if(a%i==0)
s+=i;
}
return s;
}
int main()
{
int m,n;
do{
scanf("%d",&m);
}while(m<1||m>2000);
do{
scanf("%d",&n);
}while(n<1||n>2000);
if( so(m)==n+1 && so(n)==m+1 )
printf("%d %d la cap so hua hon",m,n);
else
printf("%d %d khong phai cap so hua hon",m,n);
return 0;
}
27


Bài 20:
#include <stdio.h>

#include <math.h>
int so(int a)
{
int x,s=0;
while(a!=0)
{
x=a%10;
s+=pow(x,3);
a/=10;
}
return s;
}
int main()
{
int n,i;
do{
scanf("%d",&n);
}while(n<=0||n>=10000);
for(i=1;i{
if(i==so(i))
printf("%d ",i);
}
return 0;
}
Bài 21:
#include <stdio.h>
int main()
{
int n,a[1000],i=0;

do{
28


scanf("%d",&n);
}while(n<0);
while(n>0)
{
a[i]=n%2;
n/=2;
i++;
}
for(i--;i>=0;i--)
printf("%d",a[i]);
return 0;
}
Bài 22:
#include <stdio.h>
int main()
{
int m,n,i,s=0,dem=0;
do{
scanf("%d",&m);
}while(m<1);
do{
scanf("%d",&n);
}while(n<1);
for(i=1;i{
if(m%i==0 && n%i==0)

{
s+=i;
dem++;
}
}
printf("%Tong cac uoc chung: %d\nSo luong uoc chung: %d",s,dem);
return 0;
}
29


Bài 23:
#include <stdio.h>
int main()
{
int n,a[10],s=0;
do{
scanf("%d",&n);
}while(n<=0||n>=10);
for(int i=0;iscanf("%d",&a[i]);
for(int i=0;iprintf("%d ",a[i]);
for(int i=0;i{
if( a[i]==(a[i+1]+a[i-1]) )
s+=a[i];
}
printf("\nTong cac phan tu xung quanh cua mang: %d",s);
return 0;

}
Bài 24:
#include <stdio.h>
#include <math.h>
int kiemtra(int x)
{
int i=0;
while(x>0)
{
if((x%10)>1 || (x%10)<0)
i++; x/=10;
}
return i;
30


}
int doi(int x)
{
int s=0,i=0;
while(x>0)
{
s+=(x%10)*pow(2,i);
x/=10;
i++;
}
return s;
}
int main()
{

int n;
do{
scanf("%d",&n);
}while(kiemtra(n)>0);
printf("%d",doi(n));
return 0;
}
Bài 25:
#include <stdio.h>
int main()
{
int n,t;
do{
scanf("%d",&n);
}while(n<=0||n>=10000);
if(n>400)
{
t+=2587*(n-400);
n=400;}
if(n>300)
{
t+=2503*(n-300);
31


n=300;
}
if(n>200)
{
t+=2242*(n-200);

n=200;
}
if(n>100)
{
t+=1786*(n-100);n=100;
}
if(n>50)
{
t+=1533*(n-50);n=50;}
t+=1484*n;
printf("%d",t);
return 0;
}
Bài 26:
#include <stdio.h>
#include <math.h>
int so(int a)
{
int s=0,x;
while(a!=0)
{
x=a%10;
s+=pow(x,3);
a/=10;
}
return s;
}
int main()
{
int n,i,a[11],dem=0;

do{
32


scanf("%d",&n);
}while(n<0||n>10);
for(i=0;iscanf("%d",&a[i]);
for(i=0;iprintf("%d,",a[i]);
printf("\nCac so tu man co trong mang: ");
for(i=0;i{
if(a[i]==so(a[i]))
printf("%d, ",a[i]);
else if(a[i]<2016)
dem++;
}
printf("\nSo luong so tu man nho hon 2016: %d",dem);
return 0;
}
Bài 27:
#include <stdio.h>
int main()
{
int i=0,a[7];
while(i<7)
{
scanf("%d",&a[i]);
if(i>0 && a[i]>a[i-1])

{
printf("Ban nhap sai quy cach, ban hay nhap lai:\n");
continue;
}
i++;
}
for(i=0;i<7;i++)
33


printf("%d,",a[i]);
return 0;
}
Bài 28:
#include <stdio.h>
int main()
{
float x,t=0,d=1;
printf("So km di duoc: ");
do{
scanf("%f",&x);
}while(x<=0||x>=200);
if(x>120) d=0.9;
if(x>5)
{ t+=(x-5)*11000; x=5;}
if(x>1)
{ t+=(x-1)*13500; x=1;}
t+=15000;
printf("\nSo tien di taxi: %f dong",d*t);
return 0;

}
Bài 29:
#include <stdio.h>
int main()
{
int N,n,dem=0,x;
do{
scanf("%d",&n);
}while(n<=0);
N=n;
while(n/10!=0)
{
if( n%10 >= (n/10)%10 )
{
dem=1; break;}
34


n/=10;
}
if(dem==0)
printf("%d la so lui",N);
else
printf("%d khong phai so lui",N);
return 0;
}
Bài 30:
#include <stdio.h>
int main()
{

int n,s=0,dem;
do{
scanf("%d",&n);
}while(n<=0||n>=100000);
while(n!=0)
{
dem=n%10;
s=s*10+dem;
n/=10;
}
printf("%d",s);
return 0;
}
Bài 31:
#include <stdio.h>
#include <ctype.h>
int main()
{
int n,i;
char a[10];
35


do{
scanf("%d",&n);
}while(n<=0||n>=10);
for(i=0;i{fflush(stdin);
scanf("%c",&a[i]);}
printf("Mang vua nhap la\n");

for(i=0;iprintf("%c ",a[i]);
printf("\nMang S\n");
for(i=0;i{
if(isalpha(a[i])==0)
printf("K ");
else
{
if(isupper(a[i])==0)
printf("T ");
else
printf("H ");
}
}
return 0;
}
Bài 32:
#include <stdio.h>
#include <math.h>
int main()
{
int n,a[10],i,j;
do{
scanf("%d",&n);
}while(n<=0||n>=10);
printf("Nhap mang A co %d so nguyen\n",n);
36



for(i=0;i{
printf("A[%d]=",i);
scanf("%d",&a[i]);}
printf("\nMang vua nhap la\n");
for(i=0;iprintf("%d ",a[i]);
printf("\nMang S:\n");
for(i=0;i{
int dem=0;
if(a[i]>=2)
{
for(j=2;j<=sqrt(a[i]);j++)
{
if(a[i]%2==0)
dem++;
if(dem==0)
printf("T ");
else printf("K ");
}
else printf("A ");
}
return 0;

}

}
Bài 33:
#include <stdio.h>

int main()
{
int n,i,a[10];
do{
scanf("%d",&n);
}while(n<=0||n>=10);
for(i=0;iscanf("%d",&a[i]);
printf("Mang vua nhap vao la:\n");
for(i=0;iprintf("%d ",a[i]);
37


printf("\nMang S:\n");
for(i=0;i{
if(a[i]==0)
printf("K ");
else{
if(a[i]%2==0)
printf("C ");
else
printf("L ");
}
}
return 0;
}
Bài 34:
#include <stdio.h>

int main()
{
int N,n,i=0,dem=0;
do{
scanf("%d",&n);
}while(n<=0);
N=n;
while(n!=0)
{
if(n%2==0)
dem++;
else
dem--;
n/=10;
}
if(dem==0)
printf("%d la so can bang",N);
else
38


printf("%d khong phai la so can bang",N);
return 0;
}
Bài 35:
#include <stdio.h>
int main()
{
int n,a[10],dem,x;
do{

scanf("%d",&n);
}while(n<=0||n>=10);
for(int i=0;iscanf("%d",&a[i]);
for(int i=0;iprintf("%d,",a[i]);
printf("\n");
for(int i=0;i{
x=a[i]; dem=1;
while(x>0)
{
if(x%2)
{
dem=0; break;}
x/=10;
}
if(dem)
printf("%d,",a[i]);
}
return 0;
}
Bài 36:
#include <stdio.h>
int main()
39


{
int N, A[100], k;

do{
scanf("%d",&N);
}while(N<1 || N>10);
for(int i=0;iscanf("%d",&A[i]);
scanf("%d",&k);
int max=A[0];
for(int i=0;iif(maxmax=A[i];}
for(int i=0;iif(A[i] > (max-k) && A[i]printf("%d",i);
break;}
return 0;
}
Bài 37:
#include<stdio.h>
#include<math.h>
int main()
{
int n,i,j,a,s[10];
do{
scanf("%d", &n);
}while((n<=0) || (n>=10));
for(i=0;iscanf("%d", &s[i]);
}
for(i=0;ifor(j=i+1;j

if(s[i]a=s[i];
s[i]=s[j];
40


s[j]=a;
}
}
}
int k=0;
for(i=0;i<(int)sqrt(2*n);i++){
for(j=0;j<=i;j++){
printf("%d ", s[k]);
k++;
if(k>=n) break;
}
printf("\n");
}
return 0;
}

41



×