1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài tập lập trình PHẦN I Hàm

13 186 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 13
Dung lượng 75,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Viết chương trình nhập từ bàn phím số nguyên dương n, áp dụng hàm trên tính và in ra màn hình tổng tương ứng... Viết chương trình nhập từ bàn phím số nguyên không âm n, áp dụng hàm trên

Trang 1

PHẦN I : HÀM Câu 1: viết hàm tính tổng s=1+3+5+ +(2*n+1), với n nguyên dương.

Viết chương trình nhập từ bàn phím số nguyên dương n, áp dụng hàm trên tính và in ra màn hình tổng tương ứng.

#include <conio.h>

#include <stdio.h>

int tong(int n)

{int i,s;

for (i=0,s=0;i<=n;s=s+2*i+1,i++);

return s;

}

main()

{int n,s;

clrscr();

nhap: printf ("\n moi nhap n= ");

scanf ("%5d:",&n);

if (n<=0) goto nhap;

s=tong(n);

printf ("\n tong = %5d",s);

getch();

return 0;

}

Câu 2: viết hàm tính giai thừa của một số nguyên không âm Viết

chương trình nhập từ bàn phím số nguyên dương n, áp dụng hàm trên in ra màn hình giai thừa của n.

#include <conio.h>

#include <stdio.h>

int giai_thua(int n)

{int gt=1,i=1;

while (i<=n)

{gt=gt*i;

i++;

}

return gt;

}

void main()

{int n;

clrscr();

nhap: printf("\n nhap n= ");

scanf("%d",&n);

if (n<=0) goto nhap;

Trang 2

printf("\n giai thua cua %5d = %7d",n,giai_thua(n));

getch()

}

Câu 3: viết hàm đổi một số nguyên không âm thành xâu nhị phân

Viết chương trình nhập từ bàn phím số nguyên không âm n, áp dụng hàm trên in ra màn hình xâu nhị phân tương ứng.

#include <conio.h>

#include <stdio.h>

void chuyen(int n)

{int i=0,j,a[50];

while (n!=0)

{a[i]=n%2;

n=n/2;

i++;

}

j=i-1;

for (i=j;i>=0;i )

printf("%d",a[i]);

}

void main()

{clrscr();

int n;

nhap: printf("\n nhap so nguyen can chuyen doi: ");

scanf("%d",&n);

if (n<=0) goto nhap;

printf("\n day nhi phan cua %d la: ");

chuyen(n);

getch();

}

Câu 4: viết hàm tính tổng s=2+4+6+ +2*n, với n nguyên dương.viết

chương trình nhập từ bàm phím số nguyên dương n, áp dụng hàm trên tính và in ra màn hình tổng tương ứng.

#include <conio.h>

#include <stdio.h>

int tong(int n)

{int i,s;

for (i=1,s=0;i<=n;s=s+2*i,i++);

return s;

}

main()

{int n,s;

clrscr();

Trang 3

nhap: printf ("\n moi nhap n: ");

scanf ("%5d:",&n);

if (n<=0) goto nhap;

s=tong(n);

printf ("\n tong = %5d",s);

getch();

return 0;

}

Câu 5: viết hàm đổi một số nguyên không âm thành xâu Hecxa Viết

chương trình nhập từ bàn phím số nguyên không âm n, áp dụng hàm trên in ra màn hình xâu Hecxa tương ứng.

#include <conio.h>

#include <stdio.h>

#include <string.h>

void doi_xhx(int n,char s[])

{int i=0,r;

while (n!=0)

{r=n%16;

if (r<=9) s[i]=r+48;

else s[i]=r+55;

i++;

n=n/16;

}

s[i]=NULL;

}

void main()

{clrscr();

char s[50];

int n;

nhap: printf ("\n nhap n:");

scanf("%d",&n);

if (n<=0) goto nhap;

doi_xhx(n,s);

printf ("\n %d doi thanh xau hexa la: %s",n,strrev(s));

getch();

}

Câu 6: viết hàm tính tổng s=13 +2 3 + +n 3 , với n nguyên dương Viết chương trình nhập vào từ bàn phím số nguyên dương n, áp dụng hàm trên tính và in ra màn hình tổng tương ứng.

#include <conio.h>

#include <stdio.h>

Trang 4

#include <math.h>

int tong(int n)

{int i=1,s=0;

while (i<=n)

{s=s+pow(i,3);

i++;

}

return s;

}

main()

{int n,s;

clrscr();

nhap: printf ("\n moi nhap n: ");

scanf ("%5d:",&n);

if (n<=0) goto nhap;

s=tong(n);

printf ("\n tong = %5d",s);

getch();

return 0;

}

Câu 7: viết hàm kiểm tra tính nguyên tố của một số nguyên dương

Viết chương trình nhập vào từ bàn phím số nguyên dương n, áp dụng hàm trên hãy cho biết n có phải là số nguyên tố hay không?

#include <conio.h>

#include <stdio.h>

#include <math.h>

int SNT(int a)

{int i;

if (a==1) return 0;

if (a<4) return 1;

else

for (i=2; ;i++)

{if (i>sqrt(a)) return 1;

if ((a%i)==0) return 0;

}

}

main()

{clrscr();

int n;

nhap: printf ("\n moi nhap so nguyen n: ");

scanf ("%d",&n);

if (n<=0) goto nhap;

if (SNT(n)==0) printf("\n %d khong phai la so nguyen to",n);

Trang 5

else printf("\n %d la so nguyen to",n);

getch();

return 0;

}

Câu 8: viết hàm tính tổng s=1*2*3+2*3*4+ +n*(n+1)*(n+2), với n

nguyên dương.viết chương trình nhập từ bàm phím số nguyên dương n, áp dụng hàm trên tính và in ra màn hình tổng tương ứng.

#include <conio.h>

#include <stdio.h>

int tong(int n)

{int i=1,s=0;

while (i<=n)

{s=s+i*(i+1)*(i+2);

i++;

}

return s;

}

main()

{int n,s;

clrscr();

nhap: printf ("\n moi nhap n= ");

scanf ("%5d:",&n);

if (n<=0) goto nhap;

s=tong(n);

printf ("\n tong = %5d",s);

getch();

return 0;

}

Câu 9: Viết hàm kiểm tra tính hoàn thiện của một số nguyên dương

.Viết chương trình nhập vào từ bàn phím số nguyên dương n, áp dụng hàm trên thông báo ra màn hình số n có phải là số hoàn thiện hay không?

#include <conio.h>

#include <stdio.h>

#include <math.h>

void SHT(int a)

{int i=1,s=0;

for ( ; ;i++)

{if (i>a/2) break;

else if ((a%i)==0) s=s+i;

}

if (s==a) printf ("\n %5d la so hoan thien",a);

Trang 6

else printf ("\n %5d khong phai la so hoan thien",a);

}

main(

{clrscr()

int n;

nhap: printf ("\n moi nhap so nguyen n: ");

scanf ("%d",&n);

if (n<=0) goto nhap;

SHT(n);

getch();

return 0;

}

Câu 10: viết hàm tìm số bé nhất của 3 số thực viết chương trình

nhập vào từ bàn phím 3 số thực x, y, z, áp dụng hàm trên tìm và in

ra màn hình số bé nhất của 3 số vừa nhập.

#include <conio.h>

#include <stdio.h>

float min_3so(float a,float b,float c)

{float min,min1;

min=(min1=a<b?a:b)<c?min1:c;

return min;

}

void main()

{clrscr();

float a,b,c;

printf("\n nhap a,b,c: ");

scanf("%f%f%f",&a,&b,&c);

printf("\n min=%5.2f",min_3so(a,b,c));

getch();

}

Câu 11: viết hàm giải và biện luận phương trình bậc hai

ax 2 +bx+c=0 viết chương trình nhập vào từ bàn phí 3 số thực a, b, c,

áp dụng hàm trên cho biết kết quả giải phương trình bậc hai với 3

hệ số a, b, c vừa nhập.

#include <conio.h>

#include <stdio.h>

#include <math.h>

void PTB2(float a, float b, float c)

{float delta, x1, x2;

if (a==0)

if (b==0)

Trang 7

if (c==0)

printf ("\n phuong trinh co vo so nghiem");

else

printf ("\n phuong trinh vo nghiem");

else

printf ("\n phuong trinh co mot nghiem x= %5.2f",-c/b);

else

{delta=b*b-4*a*c;

if (delta<0) printf ("\n phuong trinh vo nghiem");

else

if (delta==0) printf ("\n phuong trinh co nghiem kep x1=x2=%5.2f",-b/(2*a));

else

{printf ("\n phuong trinh co 2 nghiem phan biet");

x1=(-b+sqrt(delta))/(2*a);

x2=(-b-sqrt(delta))/(2*a);

printf ("\n x1= %5.2f \n x2= %5.2f",x1,x2);

}

}

}

main()

{clrscr();

float a,b,c;

printf ("\n nhap cac he so a,b,c: ");

scanf ("%f%f%f",&a,&b,&c);

PTB2(a,b,c);

getch();

return 0;

}

Câu 12: viết hàm kiểu int kiểm tra xem 3 số thực có thể lập thành 3

cạnh của một tam giác hay không? Viết chương trình nhập vào từ bàn phím 3 số thực a, b, c, áp dụng hàm trên thông báo ra màn hình

3 số vùa nhập có tạo thành 3 cạnh của một tam giác hay không?

#include <conio.h>

#include <stdio.h>

int tg(float a,float b,float c)

{if ((a+b>c) && (a+c>b) && (b+c>a)) return 1;

else return 0;

}

void main()

{clrscr();

float a,b,c;

printf("\n nhap a,b,c: ");

Trang 8

scanf("%f%f%f",&a,&b,&c);

if (tg(a,b,c)==0) printf("\n 3 so vua nhap khong tao thanh tam giac!"); else printf("\n 3 so vua nhap co tao thanh 3 canh tam giac");

getch();

}

Câu 13: viết hàm đếm số từ trong một xâu kí tự chuẩn viết chương

trình nhập vào từ bàn phím một xâu kí tự chuẩn s, áp dụng hàm trên thông báo ra màn hình số từ của xâu.

#include <conio.h>

#include <stdio.h>

#include <string.h>

#include <ctype.h>

char dem_tu(char s[])

{char d=1,i=0;

while (i<strlen(s))

{if (s[i]==32) d=d+1;

i++;

}

return d;

}

void main()

{clrscr();

char s[100];

printf("\n moi nhap xau: ");

fflush(stdin); gets(s);

printf("\n so tu trong xau la: %3d",dem_tu(s));

getch();

}

Câu 14: viết hàm tính số fibonaxi thứ n viết chương trình nhập vào

từ bàn phím số nguyên dương n áp dụng hàm trên tìm và in ra màn hình số fibonaxi tương ứng.

#include <conio.h>

#include <stdio.h>

int fibonaxi(int n)

{int i=3, f1=1, f2=1, fn;

if (n<3) return f1;

while (i<=n)

{fn=f1+f2;

f1=f2;

f2=fn;

i++;

}

Trang 9

return fn;

}

void main()

{clrscr();

int n;

nhap: printf("\n nhap n= ");

scanf("%d",&n);

if (n<=0) goto nhap;

printf("\n so fibonaxi thu %d la: %5d",n,fibonaxi(n));

getch();

}

Câu 15: viết hàm có kiểu void nhằm đổi chỗ giá trị hai biến thực cho

nhau Viết chương trinh nhập vào từ bàn phímhai số thực x, y, áp dụng hàm trên để đổi chỗ giá trị hai biến x, y cho nhau In ra màn hình giá trị x và y trước và sau khi đổi chỗ.

#include <conio.h>

#include <stdio.h>

void doi_cho(float *a, float *b)

{float tg;

tg=*a;

*a=*b;

*b=tg;

}

void main()

{clrscr();

float x,y;

printf("\n nhap x,y: ");

scanf("%f%f",&x,&y);

printf("\n truoc khi doi cho x=%5.2f, y=%5.2f",x,y);

doi_cho(&x,&y);

printf("\n sau khi doi cho x=%5.2f, y=%5.2f",x,y);

getch();

}

Trang 10

Câu 16: viết hàm tìm ước chung lớn nhất của hai số nguyên dương

Viết chương trình nhập vào từ bàn phím hai số nguyên dươnga và

b, áp dụng hàm trên tìm và in ra màn hình ước chung lớn nhất của chúng.

#include <conio.h>

#include <stdio.h>

int ucln(int a,int b)

{while (a!=b)

if (a>b) a=a-b;

else b=b-a;

return a;

}

void main()

{int a,b;

clrscr();

printf("\n nhap a,b: ");

scanf("%d%d",&a,&b);

printf("\n uoc chung lon nhat cua %d va %d la: %d",a,b,ucln(a,b)); getch();

}

Câu 17: viết hàm tính độ dài xâu kí tự (không sử dụng hàm chuẩn

strlen) Viết chương trình nhập vào từ bàn phím xâu kí tự s, áp dụng hàm trên in ra độ dài xâu vừa nhập.

#include <conio.h>

#include <stdio.h>

#include <string.h>

#include <ctype.h>

int do_dai_xau(char s[])

{int i;

for (i=0;s[i]!=NULL;i++);

return i;

}

void main()

{char s[500];

printf ("\n moi nhap xau: ");

fflush(stdin); gets(s);

printf("\ do dai xau la: %d",do_dai_xau(s));

getch();

}

Trang 11

Câu 18: viết hàm đếm các chữ số in hoa trong một xâu kí tự viết

chương trình nhập vào từ bàn phím xâu kí tự s, áp dụng hàm trên cho biết xâu kí tự s có bao nhiêu chữ cái in hoa.

#include <conio.h>

#include <stdio.h>

#include <string.h>

#include <ctype.h>

int dem(char s[])

{int d=0,i=0;

while (i<strlen(s))

{if ((s[i]<91)&&(s[i]>64)) d=d+1;

i++;

}

return d;

}

void main()

{clrscr();

char s[50];

printf("\n moi nhap xau: ");

fflush(stdin); gets(s);

printf("\n so chu cai in hoa trong xau la: %d",dem(s));

getch();

}

Câu 19: viết hàm đổi các chữ cái in hoacủa một xâu kí tự thành chữ

cái in thường viết chương trình nhập vào từ bàn phím xâu kí tự s,

áp dụng hàm trên đổi các chữ cái in hoa của xâu s thành chữ cái in thường in ra màn hình xâu trước và sau khi đổi.

#include <conio.h>

#include <stdio.h>

#include <string.h>

#include <ctype.h>

char *doi(char s[])

{int i=0;

while (i<strlen(s))

{if ((s[i]<91)&&(s[i]>64)) s[i]=s[i]+32;

i++;

}

return s;

}

void main()

{clrscr();

char s[50];

Trang 12

printf("\n moi nhap xau: ");

fflush(stdin); gets(s);

printf("\n xau truoc khi doi: %s",s); printf("\n xau sau khi doi: %s",doi(s)); getch();

}

Trang 13

Câu 20: : viết hàm giải và biện luận phương trình bậc nhất ax+b=0

viết chương trình nhập vào từ bàn phí 2 số thực a, b, áp dụng hàm trên cho biết kết quả giải phương trình bậc nhất với 2 hệ số a, b vừa nhập.

#include <conio.h>

#include <stdio.h>

void PTBN(float a,float b)

{float x;

if (a==0)

if (b==0) printf ("\n phuong trinh co vo so nghiem");

else printf ("\n phuong trinh vo nghiem");

else

{x=-b/a;

printf ("\n phuong trinh co mot nghiem x= %5.2f",x);

}

}

main()

{clrscr();

float a,b;

printf ("\n moi nhap cac gia tri a,b: ");

scanf ("%f%f",&a,&b);

PTBN(a,b);

getch();

return 0;

}

Ngày đăng: 25/03/2018, 21:21

TỪ KHÓA LIÊN QUAN

w