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之類的是怎麼編寫的,,然後再去寫寫游戲,到後面寫點簡單的軟體
如果一味的光練習那種東西,也沒多大用