0

这个程序是为一堂课。我需要使用两个功能。这些是列出的 3 个错误:

  1. 错误 C2601:“isPrime”:本地函数定义非法
  2. 错误 C2601: 'reverse' : 局部函数定义是非法的
  3. 错误 C1075:在 e 的左大括号“{”之前找到文件结尾。

任何其他帮助和提示也非常感谢。谢谢!

/* 
* 2/07/2013
* Computer Science II
* Homework #1
*/

//Purpose: Display first 'n' (user chosen) number if emirps to the console, five per line.
//Note: An "emirp" is a prime number that is also prime when reversed. 

#include <iostream>
using namespace std;
int isPrime(int value); //Prototyle for "prime number function"
int reverse (int value2); //Prototype for "emirp function"

int main()
{

//Ask the user for a positive number

    enter code here`enter code here`cout << "Please enter a positive number: ";
    int n;
    cin >> n;

    //Reject negative value input
    if ( n < 1) 
    {
    cout << "INVALID NUMBER \n"; 
    }
    else

    //Calculate all emirps up to 'n'. 
    for (int test = 0; test < n; test++)
    {
    int number = 2;

    if (isPrime(number))
    {
    cout << "\n" << reverse(number) << "\t\t\t";
    }
    }

    return 0;
    }

    int isPrime(int value)
    {
    //If value is prime, the remainder (count) will be zero twice--for 1 and itself. 
    int divisor = 1;
    int count = 0;
    int prime = 0;
    if (value % divisor == 0)
    {
    count++;
    ++divisor;
    }
    if (count = 2)
    {
    int prime = value; //store prime value in new variable
    }

    return prime;
    }


    int reverse(int value2)
    {
    //reverse the number
    value2*=10;
    value2 = value2 %10;
    value2/=10;

    //same procedure as prime function
    int divisor2 = 1;   
    int count2 = 0;
    int emirp = 0;
    if (value2 % divisor2 == 0)
    {
    {
    count2++;
    ++divisor2;
    }

    if (count2 = 2)
    {
    int emirp = value2;
    }
    }
    return emirp;
    }
4

1 回答 1

1

Problem with you syntax in reverse function :

//same procedure as prime function
int divisor2 = 1;   
int count2 = 0;
int emirp = 0;
if (value2 % divisor2 == 0)
{//if
{// ? why this 
count2++;
++divisor2;
}//if
于 2013-02-08T04:55:23.077 回答