为什么两个相同的代码给出不同的输出,而它们之间的唯一区别是不同的变量名称和写作样式

Why two same codes are giving different outputs yet the only difference between them is different variables names and writing style.

本文关键字:唯一 区别 之间 是不同 样式 变量名 输出 两个 代码 为什么      更新时间:2023-10-16

这两个程序是为了计算用户提供范围中的质量数字。这不是给出正确的输出我不知道为什么吗?为什么只有变量名称和写作样式正在产生不同的输出?请让我知道是否有人可以指导我。

  #include<iostream>
    using namespace std;
    int main()
    {
        int upper_limit=0;
        int lower_limit=0;
        int num=0;
        int flag=0;
        cout<<"Enter lower limit"<<endl;
        cin>>lower_limit;
        cout<<"Enter upeer limit"<<endl;
        cin>>upper_limit;
            for (int i=lower_limit;i<=upper_limit;i++)
            {
                for (int j=2;j<=i/2;j++)
                {
                    if (i%j==0)
                    {
                        flag++;
                    }
                    if ((flag==0)&&(i!=1))
                    {
                        num++;
                        cout<<"prime numbers are"<<i<<endl;
                        flag=0;
                    }
                    flag=0;
                }
            }
            cout<<"Total prime num are"<<num<<endl;
        return 0;
    }

这给出了正确的输出,但是这两个代码都是相同的。

#include<iostream>
using namespace std;
int main()
{
    int startNum,endNum;
    int found=0,count=0;
    cout<<"Enter Number START of Range:  ";
    cin>>startNum;
    cout<<"Enter Number END of Range:  ";
    cin>>endNum;
    for(int i=startNum;i<=endNum;i++)
       {
           for(int j=2;j<=i/2;j++)
               {
               if(i%j==0)
                  count++;
               }
               if(count==0&&i!=1)
               { found++;
                 cout<<"Prime Number -> "<<i<<endl;
                 count=0;
               }
               count=0;
       }
 cout<<"Total Prime Number Between Range "<<startNum<<" to"<<endNum<<" = "<<found<<endl;
 return 0;
}

问题在括号中。第一个程序:

for (int i=lower_limit;i<=upper_limit;i++)
{
    for (int j=2;j<=i/2;j++)
    { <------------------------------- 
        if (i%j==0)
        {
            flag++;
        }
        if ((flag==0)&&(i!=1))
        {
            num++;
            cout<<"prime numbers are"<<i<<endl;
            flag=0;
        }
        flag=0;
    } <------------------------------- 
}

第二个程序:

for(int i=startNum;i<=endNum;i++)
{
   for(int j=2;j<=i/2;j++)
   { <------------------------------- 
       if(i%j==0)
          count++;
   } <------------------------------- 
   if(count==0&&i!=1)
   { 
        found++;
        cout<<"Prime Number -> "<<i<<endl;
        count=0;
   }
   count=0;
}

这就是为什么正确制表程序代码非常重要的原因。