1. 程式人生 > 其它 >函式初階幾道練習題

函式初階幾道練習題

技術標籤: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"); }
  1. 寫一個函式,每呼叫一次這個函式,就會將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;
}