用C求:
1、 十位不为0、个位不为0和1的三位素数中,去掉其百位后仍是素数,且该数的个位数也是素数。如113是素数,13是素数,3也是素数。编程输出所有这样的三位数。
2、s中存放一非空字符串,fg中存放一非空字符,编程用fg将s分割成若干子串并输出。
例如s=”adbcddduiedddst”,fg=’d',则输出“a” “bc” “uie” “st”
>> 本文固定链接: http://www.vcgood.com/archives/2383
用C求:
1、 十位不为0、个位不为0和1的三位素数中,去掉其百位后仍是素数,且该数的个位数也是素数。如113是素数,13是素数,3也是素数。编程输出所有这样的三位数。
2、s中存放一非空字符串,fg中存放一非空字符,编程用fg将s分割成若干子串并输出。
例如s=”adbcddduiedddst”,fg=’d',则输出“a” “bc” “uie” “st”
>> 本文固定链接: http://www.vcgood.com/archives/2383
你必须先 登录才能发表评论。
1.#include “stdio.h”
int define(int);
void main()
{
int i,j=0,k=0,a[200],b[200];
for(i=122;i<1000;i++)
if(define(i))
{
a[j]=i;
j++;
}
for(i=0;i<j;i++)
if(define(a[i]%10)&&(a[i]%10!=0)&&(a[i]%10!=1))
{
if((a[i]/10%10!=0)&&(define(a[i]%100)))
b[k++]=a[i];
}
for(i=0;i<k;i++)
{
printf(“ %d”,b[i]);
if((i+1)%5==0)
printf(“\n”);
}
}
int define(int n)
{
int i;
for (i=2;i<n/2;i++)
if(n%i==0)
return 0;
return 1;
}
谢谢delfeer!
我也写了一个,不知可以不,请指教:
1.isprime(int n)
{int i;
for(i=2;i<=n/2;i++)
if(n%i==0) return 0;
return 1;
}
main()
{int i,j=0;
for(i=100;i<=999;i++)
if (i/10%10!=0 && i%10!=0 && i%10!=1)
if(isprime(i)&& isprime(i%100)&& isprime(i%10))
{printf(“%5d”,i);j++;
if(j%10==0) printf(“\n”);
}
getch();
}
2.
#include “stdio.h”
main()
{char s[]=”adbcddduiedddst”,fg=’d',a[100][100],*p;
int i=0,j=0,k;
p=s;
while(*p)
{
if(*p!=fg) a[i][j++]=*p;
else {a[i][j]=’\0′;
if(*(p+1)!=fg)
{j=0;i++; }
}
p++;
}
for(k=0;k<=i;k++)
puts(a[k]);
getch();
}