You are on page 1of 2

Đáp án bài tập chương 6

Bài 1

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

void main()
{
int i, n;
int *p;
printf("Nhap vao so ngay can theo doi: ");
scanf_s("%d", &n);
p = (int *)malloc(n*sizeof(int));
for (i = 0; i < n; i++)
{
do{
printf("Nhap vao so luong mach thanh pham cua ngay %d: ", i + 1);
scanf_s("%d", (p + i));
} while (*(p + i) <= 0);
}
int ThanhPham = 0;
printf("Nhung ngay dat target:");
for (i = 0; i < n; i++)
{
if (*(p + i) >= 400)
{
printf("%d ", i + 1);
}
}
printf("\nNhung ngay khong dat target: ");
for (i = 0; i < n; i++)
{
if (*(p + i) < 400)
{
printf("%d ", i + 1);
}
ThanhPham = ThanhPham + *(p + i);
}
printf("\nTong so mach thanh pham trong %d ngay la: %d", n, ThanhPham);
free(p);
_getch();
}

Ngôn ngữ lập trình C_Nguyễn Văn Phúc Page 1/2


Đáp án bài tập chương 6

Bài 2
#include<stdio.h>
#include<conio.h>
void main()
{
int SanXuat[30];
int i;
int *p;
int sum = 0;
int TienLai = 0;
p = SanXuat;

for (i = 0; i < 30; i++)


{
do{
printf("Nhap vao so luong mach san xuat trong ngay %d: ", i);
scanf_s("%d", (p+i));
} while (*(p+i) <= 0);
}

for (i = 0; i < 30; i += 2)


{
printf("So luong mach san xuat trong ngay %d: %d\n", i, *(p+i));
}
int max = *(p + 0);

for (i = 0; i < 30; i++)


{
if (*(p + i) > max)
{
max = *(p + i);
}
sum = sum + *(p + i);
}
printf("So luong mach duoc san xuat nhieu nhat trong ngay: %d\n", max);
printf("Tong so luong mach duoc san xuat trong 01 thang: %d\n", sum);

for (i = 0; i < 30; i++)


{
if (*(p + i) > 1000)
{
TienLai = TienLai + *(p + i) * 280000;
}
else if (*(p + i) > 500)
{
TienLai = TienLai + *(p + i) * 250000;
}
else
{
TienLai = TienLai + *(p + i) * 220000;
}
}
printf("Tong tien lai: %d", TienLai);
_getch();
}

Ngôn ngữ lập trình C_Nguyễn Văn Phúc Page 2/2

You might also like