函式初階幾道練習題
阿新 • • 發佈:2021-01-23
技術標籤:c語言
1,寫一個函式判斷是否是素數
//寫一個函式判斷是否是素數
//素數: 只有1和它本身兩個因數
//用這個數從2模到它本身,看能不能整除
bool IsPrime(int value) //用bool接收返回是(真)和不是(假),主函式條件只需要if(IsPrime(n))為真
// if(!IsPrime(n))為假
//如果用int接收,函式return 0 / return 1;主函式要給if(IsPrime(n)==0)為真
{ // if(IsPrime(n)==-1)為假
for (int i = 2; i < value - 1; ++i) //value-1 ,如果是99,有必要模到98嗎? 只要模到一半位置就好
{
if (value%i == 0)
return false;
}
return true;
}
void main()
{
int n;
printf("input :>");
scanf("%d",&n);
if (IsPrime(n))
printf("Is Prime.\n");
else
printf("Isnot Prime.\n");
}
2,寫一個函式判斷是否是閏年
bool IsLeap(int year)
{
return ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0);
} //bool型別為真就返回真,為假就返回假
void main()
{
int year;
printf("input :>");
scanf("%d", &year);
if (IsLeap(year))
printf("Is Leap.\n");
else
printf("Isnot Leap.\n");
}
- 寫一個函式,每呼叫一次這個函式,就會將num的值增加1。
//4. 寫一個函式,每呼叫一次這個函式,就會將num的值增加1。
//注意:形參不能改變實參
void fun(int *pnum)
{
*pnum++;
}
int main()
{ // 原理就是形參不能改變實參!
int num = 0; //num如果放在區域性,是實參,那麼調動多少次函式都無法++,因為無法取到num的值 ,所以要作全域性變數
printf("num = %d\n",num); //但要解決這個問題,就要用指標 呼叫函式的時候傳地址fun(&num)
fun(&num); // 這樣做就是先取值在調動函式++
printf("num = %d\n", num);
return 0;
}