为什么案例对了,提交上去全错?
查看原帖
为什么案例对了,提交上去全错?
517091
molichen楼主2022/3/19 21:29
#include<iostream>(从主函数开始运行)
using namespace std;
int prime(int a)//设函数prime,参数为整形变量a。
{
    int i;//设局部整形变量i。
    if(a==2)//当a等于2时(因下方判断时2被排除,所以得先挑出来)
    {
        return 1;//结束函数并返回1(1指是质数)
    }
    for(i=2;i<=a/2+1;i++)//循环,用于判断质数。
    {
        if(a%i==0)//当a有2以上的因数时。
        {
            return 0;//结束函数并返回0(0指不是质数)
        }
    }
    return 1;//否则结束并返回1。
}
int back(int a)//设函数back,参数为整形a。(因两个函数互不相干,其变量也不相干。)
{
    int b[10],i,j;//设局部整形数组变量b个。
    i=0;//i的初始值为0(i为a的位数)
    while(a>0)//循环用于将a的每一位存入数组中。
    {
        i++;//i加1(只要能运行就说明至少还有1位未存入数组,这时,将a的数位加1。)
        b[i]=a%10;//将未处理数位的末位存入数组。
        a=a/10;//将a的末位去除。
    }
    for(j=1;j<i;j++)//循环用于判断a是否回文。
    {
        if(b[j]!=b[i+1-j])//当a的第j与倒数第j位不相同(不是回文数)
        {
            return 0;//结束函数并返回0(0指不是回文数)
        }
    }
    return 1;//否则结束并返回1。
}
int main()//主函数的起始。
{
    int i;//设局部变量i。
    for(i=2;i<=1000;i++)//循环用于判断输出回文质数
    {
        if(prime(i)==1)//当a是质数时。
        {
            if(back(i)==1)//且还是回文数时。
            {
                cout<<i<<" ";//输出此数。
            }
        }
    }
    return 0;//结束主函数的运行。
}

2022/3/19 21:29
加载中...