快乐投递员-1001 2021-11-05 09:57 采纳率: 28.6%
浏览 259
已结题

输出两位数的绝对素数(绝对素数是素数交换数字后仍为素数))

#include<stdio.h>
int main()
{
int a,i,k,o=0;
int n=10;
while(n>10&&n<100){
n++;
for(i=2;i<n;i++){
if(n%i==0){
a++;
}
}
if(a==0){
o = n;
change(o,k);
}
for(i=2;i<o;i++){
if(o%i==0){
a++;
}
}
if(a==0){
printf("%d",n);
}
}
return 0;
}
int change(int b,int c)
{
int e,x;
e=b%10;
x=b/10;
c=10*e+x;
b = c;

}
为什么我没有结果输出来,啥也没有

  • 写回答

1条回答 默认 最新

  • -Undefined_ 2021-11-05 10:05
    关注

    你的while循环都没进去,n=10的时候n>10&&n<100条件都不满足,循环结束,程序结束了。。。
    改了下你的程序,你看看

    #include<stdio.h>
    int main() {
        int a,i,k,o=0;
        int n=10;
        while(n<=100) {
            n++;
            a=0;
            for(i=2; i<n; i++) {
                if(n%i==0) {
                    a++;
                    break;
                }
            }
    
            if(a==0) {
                o = n;
                o=change(o);
                for(i=2; i<o; i++) {
                    if(o%i==0) {
                        a++;
                        break;
                    }
                }
                if(a==0) {
                    printf("%d ",n);
                }
            }
    
        }
        return 0;
    }
    int change(int b) {
        int e,x,c;
        e=b%10;
        x=b/10;
        c=10*e+x;
        return c;
    }
    


     觉得有用的话采纳一下哈

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月13日
  • 已采纳回答 11月5日
  • 创建了问题 11月5日