c语言可逆素数
代码写得较乱,以下给出结构较清晰的同功能代码,供对照查错:
#include <stdio.h>
#include <stdlib.h>
//判断给定值是否为素数
int isPrime( int num )
{
int v;
for( v=2; v<=(num/2); v++ )
{
if( num % v == 0 ) return 0;
}
return 1;
}
//反转给定值
int numReverse( int num )
{
int i, val=0;
for( i=0; num; i++ )
{
val *= 10;
val += (num % 10);
num /= 10;
}
return val;
}
#define MAX(a,b) ((a)>(b)?(a):(b))
int main( int argc, char ** argv )
{
int i, r, sv, ev, cnt=0;
do {
printf( "Please input two integers: " );
scanf( "%d %d", &sv, &ev );
} while( (sv >= ev) ); //此处保证数值区间距离非零非负
sv = MAX(sv,2); //此处保证跳过非合数非素数的数值1
for( i=sv; i<=ev; i++ )
{
if( i>9 ) //此处保证忽略测试小于10的值
{
r = numReverse( i );
//若两数均为素数且两数不相等
if( isPrime( i ) && isPrime( r ) && (i!=r) )
{
printf( "%d & %d\n", i, r );
cnt++;
}
}
}
printf( "Count = %d\n", cnt );
return 0;
}
② 大一,差不多学完c语言了,网上哪里有c语言的编程题目我就是想多做做题,提高能力,谢谢大家了
就那点c语言的基础,最多也就是在scanf,printf
如果想真正学学编程
你应该想想,为什么c语言编程是黑色的框框, 比如像qq之类的是怎么编写的,,然后再去写写游戏,到后面写点简单的软件
如果一味的光练习那种东西,也没多大用