C++ 基礎(chǔ)教程

C++ 流程控制

C++ 函數(shù)

C++ 數(shù)組 & 字符串

C++ 數(shù)據(jù)結(jié)構(gòu)

C++ 類(lèi) & 對(duì)象

C++ 指針

C++ 繼承

C++ STL 教程

C++ 參考手冊(cè)

c++ 用戶(hù)定義的函數(shù)類(lèi)型

在本教程中,您將學(xué)習(xí)使用函數(shù)來(lái)解決單個(gè)問(wèn)題的不同方法。

為了更好地理解參數(shù)和函數(shù)返回,可以將用戶(hù)定義的函數(shù)歸類(lèi)為:

考慮一種情況,您必須檢查素?cái)?shù)。通過(guò)以上述4種不同的方式制作用戶(hù)定義的函數(shù),可以解決以下問(wèn)題。

示例1:沒(méi)有傳遞參數(shù),也沒(méi)有返回值

#include <iostream>
using namespace std;

void prime();
int main()
{
    // 沒(méi)有參數(shù)傳遞給prime()
    prime();
    return 0;
}


// 函數(shù)的返回類(lèi)型為void,因?yàn)槲捶祷刂怠?
void prime()
{

    int num, i, flag = 0;
    cout << "輸入一個(gè)正整數(shù)進(jìn)行檢查: ";
    cin >> num;
    for(i = 2; i <= num/2; ++i)
    {
        if(num % i == 0)
        {
            flag = 1; 
            break;
        }
    }

    if (flag == 1)
    {
        cout << num << " 不是質(zhì)數(shù)。";
    }
    else
    {
        cout << num << " 是質(zhì)數(shù)。";
    }
}

在上面的程序中,在main()中調(diào)用prime(),但沒(méi)有參數(shù)。

prime() 函數(shù)用來(lái)從用戶(hù)處獲取輸入的正數(shù),并檢查該數(shù)字是否為質(zhì)數(shù)。

由于prime()返回類(lèi)型為void,因此該函數(shù)不返回任何值。

示例2:不傳遞任何參數(shù),但有返回值

#include <iostream>
using namespace std;

int prime();

int main()
{
    int num, i, flag = 0;
    // 沒(méi)有參數(shù)被傳遞給prime()
    num = prime();
    for (i = 2; i <= num/2; ++i)
    {
        if (num%i == 0)
        {
            flag = 1;
            break;
        }
    }

    if (flag == 1)
    {
        cout<<num<<" 不是質(zhì)數(shù)。";
    }
    else
    {
        cout<<num<<" 是質(zhì)數(shù)。";
    }
    return 0;
}

// 函數(shù)的返回類(lèi)型是int
int prime()
{
    int n;

    printf("輸入一個(gè)正整數(shù)進(jìn)行檢查: ");
    cin >> n;

    return n;
}

在上面的程序中,從main()調(diào)用prime()函數(shù),沒(méi)有參數(shù)。

prime()從用戶(hù)處獲取一個(gè)正整數(shù)。 由于該函數(shù)的返回類(lèi)型為int,因此它將用戶(hù)輸入的數(shù)字返回給調(diào)用main()函數(shù)。

然后,在main()本身中檢查數(shù)字是否為質(zhì)數(shù)并打印到屏幕上。

示例3:參數(shù)已傳遞但沒(méi)有返回值

#include <iostream>
using namespace std;

void prime(int n);

int main()
{
    int num;
    cout << "輸入一個(gè)正整數(shù)進(jìn)行檢查: ";
    cin >> num;
    
    // 參數(shù)num被傳遞給函數(shù)prime()
    prime(num);
    return 0;
}

// 調(diào)用函數(shù)沒(méi)有返回值。 因此,函數(shù)的返回類(lèi)型為void。 */
void prime(int n)
{
    int i, flag = 0;
    for (i = 2; i <= n/2; ++i)
    {
        if (n%i == 0)
        {
            flag = 1;
            break;
        }
    }

    if (flag == 1)
    {
        cout << n << " 不是質(zhì)數(shù)。";
    }
    else {
        cout << n << " 是質(zhì)數(shù)。";
    }
}

在上述程序中,首先要求用戶(hù)輸入正數(shù),該正數(shù)存儲(chǔ)在變量num中。

然后,將num傳遞給prime()函數(shù),在其中檢查并打印數(shù)字是否為質(zhì)數(shù)。

因?yàn)?,prime()返回類(lèi)型是void,prime()函數(shù)沒(méi)有返回值。

示例4:傳遞的參數(shù)和返回值。

#include <iostream>
using namespace std;

int prime(int n);

int main()
{
    int num, flag = 0;
    cout << "輸入正整數(shù)進(jìn)行檢查: ";
    cin >> num;

    // 參數(shù)num被傳遞給check()函數(shù)
    flag = prime(num);

    if(flag == 1)
        cout << num << " 不是質(zhì)數(shù)。";
    else
        cout<< num << " 是質(zhì)數(shù)。";
    return 0;
}

/* 此函數(shù)返回整數(shù)值。 */
int prime(int n)
{
    int i;
    for(i = 2; i <= n/2; ++i)
    {
        if(n % i == 0)
            return 1;
    }

    return 0;
}

在上面的程序中,向用戶(hù)詢(xún)問(wèn)一個(gè)正整數(shù)并將其存儲(chǔ)在變量num中。

然后,將num傳遞給函數(shù)prime(),在其中檢查數(shù)字是否為質(zhì)數(shù)。

由于prime()的返回類(lèi)型為int,因此將1或0返回給main()調(diào)用函數(shù)。 如果數(shù)字是質(zhì)數(shù),則返回1。 如果不是,則返回0。

在main()函數(shù)中,返回的1或0存儲(chǔ)在變量flag中,相應(yīng)的文本打印到屏幕上。

哪種方法更好?

上面所有四個(gè)程序都提供相同的輸出結(jié)果,并且在技術(shù)上都是正確的程序。

對(duì)于選擇哪種方法沒(méi)有嚴(yán)格的指定。

根據(jù)具體情況以及您要如何解決問(wèn)題來(lái)選擇特定的方法。

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清