c 程序得问题,将for得嵌套循环改成for、while(while、 for)语言

来源:百度知道 编辑:UC知道 时间:2024/09/23 17:17:31
将for嵌套循环语句改成for、while(while、 for)循环嵌套语句。
#include<iostream>
#include<cmath>
using namespace std;
void main()
{
int a,b,c,d;
cout<<"a=";
cin>>a;
if(a<=0||a%2!=0)
cout<<"输入一个正偶数!"<<endl;
else
for(b=3;b<=a/2;b+=2)
{
for(c=2;c<=sqrt(b);c++)
if(b%c==0) break;
if(c>sqrt(b)) d=a-b;
else break;
for(c=2;c<=sqrt(d);c++)
if(d%c==0) break;
if(c>sqrt(d))
cout<<b<<" + "<<d<<" = "<<a<<endl;
}
}

b=3;
while(b<=a/2)
{
c=2;
while(c<=sqrt(b))
{
if(b%c==0) break;
if(c>sqrt(b)) d=a-b;
else break;
c++;
}
c=2;
while(c<=sqrt(d))
{
if(d%c==0) break;
if(c>sqrt(d))
cout<<b<<" + "<<d<<" = "<<a<<endl;
c++;
}
b+=2;
}

for(b=3;b<=a/2;b+=2)
{
c=2;
while(c<=sqrt(b))
{
if(b%c==0) break;
c+=1;
}
// for(c=2;c<=sqrt(b);c++)
// if(b%c==0) break;
if(c>sqrt(b)) d=a-b;
else break;
c=2;
while(c<=sqrt(d))
{
if(d%c==0) break;
c+=1;
}
// for(c=2;c<=sqrt(d);c++)
// if(d%c==0) break;
if(c>sqrt(d))
cout<<b<<" + "<<d<<" = "<<a<<endl;
}