01/10/2018, 12:13
Không printf được trong lập trình C
mình chạy chương trình thì ko có lỗi, nhưng không hiện được lệnh printf số hoàn thiện nhỏ nhất ai chỉ mình cách fix với, copy đi mấy phần mềm lập trình C khác nhau đều không ra.
#include"stdio.h"
void nhapmang(int a[],int &n)
{
int i;
printf("nhap kich thuoc mang:");
scanf("%d",&n);
printf("nhap cac phan tu mang
");
for(i=0;i<n;i++)
{
printf("a[%d]=",i);
scanf("%d",&a[i]);
}
}
void xuatmang(int a[],int n)
{
int i;
for(i=0;i<n;i++)
printf("%3d",a[i]);
}
int maxmang(int a[],int n)
{
int i,max=a[0];
for(i=1;i<n;i++)
if(a[i]>max)
max=a[i];
return max;
}
int maxchan(int a[],int n)
{
int i,max=0;
for(i=0;i<n;i++)
if(a[i]%2==0&&a[i]>max)
max=a[i];
return max;
}
int ktcp(int n)
{
int i=1;
if(n==1) return 1;
while(i<n)
if(i*i==n)
return 1;
else
i++;
return 0;
}
int mincp(int a[],int n)
{
int i,min2,cp2=0;
for(i=0;i<n;i++)
if(ktcp(a[i])==1)
{
min2=a[i];
cp2++;
}
for(i=0;i<n;i++)
if(ktcp(a[i])==1&&a[i]<min2)
min2=a[i];
if(cp2!=0)
return min2;
return 0;
}
int ktsht(int x)
{
int i=1,k=0;
while(i<x)
if(x%i==0)
k=k+i;
else
i++;
if(k==x)
return 1;
return 0;
}
int minht(int a[], int n)
{
int i,d=0,min;
for(i=0;i<n;i++)
if(ktsht(a[i])==1)
{
min=a[i];
d++;
}
for(i=0;i<n;i++)
if(ktsht(a[i])==1&&a[i]<min) min=a[i];
if(d!=0)
return min;
return -1;
}
main()
{
int a[50],n;
nhapmang(a,n);
printf("
mang vua nhap la");
xuatmang(a,n);
printf("
so chinh phuong nho nhat la: %d
",mincp(a,n));
printf("so lon nhat mang la: %d
",maxmang(a,n));
printf("so hoan thien nho nhat la: %d
",minht(a,n));
//printf("so doi xung lon nhat la%d",maxdx(a,n));
//printf("so cp nho nhat la %d",mincp(a,n));
//printf("so ht nho nhat la: %d",minht(a,n));
//printf("so nt nho nhat la %d",minnt(a,n));
}
Bài liên quan
Có lẽ nào?
2 cách khai báo này không khác nhau mà
Vừa test rồi. Vòng lặp while vô hạn. Bạn kiểm tra kỹ lại code nhé
oke thank