Q8_16:
#include<stdio.h>
int main()
{
int find_k(int);
int n;
printf("Input N:");
scanf("%d",&n);
printf("K is %d.\n",find_k(n)); //將n的值傳入find_k(),其回傳值為k
return 0;
}
int find_k(int n)
{
int k;
k=n/4;
return k;
}
此題中若N=4的倍數,則會出現兩個k可以滿足答案,因此可利用下列程式碼判斷其是否有兩個k
#include<stdio.h>
int main()
{
int find_k(int);
void judge_k(int,int);
int n,k;
printf("Input N:");
scanf("%d",&n);
k=find_k(n);
printf("K is %d.\n",k);
judge_k(n,k);
return 0;
}
int find_k(int n)
{
int k;
k=n/4;
return k;
}
void judge_k(int n,int k)
{
if((4*k+2)-n == n-(4*(k-1)+2))
{
printf("While N=%d, k = %d or %d,the distance will be the same.\n",n,k,k-1);
}
else
{
printf("While N=%d, K = %d is a unique result.\n",n,k);
}
}
請先 登入 以發表留言。