Bài 1:
Input: Nhập vào 1 số thực f, và 1 số nguyên N
OutPut: làm tròn số thực f đến 2 chữ số thập phân, tam giác đều với đỉnh là số f.
---------------------------------------------------------------------------------------------------------------------
- Làm tròn số f thì đơn giản rùi, khi xuất ra chỉ cần: printf("%.2f",f); là OK
- Vẽ tam giác cân thì ta dùng 1 vòng lặp for để vẽ khoảng trắng và * cho cân đối:
//Ve Tam Giac
for (i=2; i<=n; i++)
{
for (j=1; j<=(n-i); j++) printf(" ");
for (j=1; j<=(2*i-1); j++) printf("*");
printf("\n");
}
hoặc:
//Ve Tam Giac
for (i=2; i<=n; i++)
{
for (j=1; j<=(n-i); j++) printf(" ");
for (j=1; j<=(i); j++) printf("* ");
printf("\n");
}
- Bây giờ là khoản căn số f sao cho vào đúng đỉnh của tam giác. Sẽ phải dùng đến thư viện <stdlib.h> và <string.h> sau đó dùng đến 2 cái sau:
+Thủ tục itoa(f,ch,10): biến số f thành xâu ch với f là một số, ch là một xâu (chú ý: chỉ biến được phần nguyên).
+Hàm strlen(ch): đưa ra chiều dài của xâu ch.
==> bây giờ chiều dài của số f sẽ là (strlen(ch)+3). Phải cộng 3 vì ngoài phần nguyên còn có dấu phẩy và 2 số phần thập phân!
==> căn cho số f vào đỉnh tam giác đã OK
Mã nguồn như sau:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
main()
{
float f;
int n,i,j,l;
char ch[255];
printf("Nhap vao so can lam tron f= ");
scanf("%f",&f);
itoa(f,ch,10); //chuyen phan nguyen cua so f thanh xau ch
printf("Nhap vao chieu cao tam giac: ");
scanf("%d",&n);
for (i=1; i<=(n-(strlen(ch)+3)/2); i++) //Can vi tri cua so f
printf(" ");
printf("%.2f",f);
printf("\n");
//Ve Tam Giac
for (i=2; i<=n; i++)
{
for (j=1; j<=(n-i); j++) printf(" ");
for (j=1; j<=i; j++) printf("* ");
printf("\n");
}
}
(Thay đoạn vẽ tam giác sẽ cho kiểu vẽ tam giác khác nhau)
Bài 2:
InPut: Nhập vào 1 số N dương
OutPut: Xuất ra các số từ 1 đến N
-------------------------------------------------
-Bài này khá OK nhưng bây giờ mình không chơi theo vòng lặp if hay while thì làm thế nào@!
-Nghịch tí hì, mình với Dũng làm theo kiểu đệ quy cũng OK phết
* Làm theo vòng lặp for:
#include <stdio.h>
main()
{
int i,n;
scanf("%d",&n);
for (i=1; i<=n; i++)
printf("%d ",i);
getch();
}
*Chơi theo đệ quy:
#include <stdio.h>
int i=1;
int n;
viet(int n)
{
if (i<=n)
{
printf("%d ",i);
i++;
viet(n);
}
}
main()
{
printf("Nhap vao N: ");
scanf("%d",&n);
viet(n);
getch();
}
Bonus: a++ và ++a
vd:
Tức là gán b=a xong mới tăng a
Còn:
Ở đây thì tăng a xong mới gán b=a;
Thứ tự thực hiện phép toán