一,编写程序:选取出100以上1000以内所有个位数字与十位数字之和被10除所得余数恰是百位数字的素数(如:293)。计算这些素数值的和sum,并将结果sum按格式“%10d”写入考生文件夹下的sj618.dat文件中。
二,统计从1到32765之间的素数(质数)的个数,将统计结果以带符号的十进制整数形式写入磁盘文件sj433.dat中。
三,找出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
请编写程序,找出所有满足上述条件的数,将所有满足条件的数依次按格式"%d\n"写入考生文件夹下的sj540.c文件中。要求每行存放一个数。
能写几个就写几个,先谢谢各位了,加分!
第一题我看答案给你吧,下面的写入文件自己写下,和第一个一样!
void countValue()
{int I,j,half,hun,ten,data;
for(I=101;I<1000;I++)
{hun=I/100;
ten=I%100/10;
data=I%10;
if(hun==(ten+data)%10)
{half=I/2;
for(j=2;j<half;j++)
if(I%j==0) break;
if(j>=half)
{cnt++;sum+=I;} } }
}
#include <stdio.h>
int cnt, sum ;
void countvalue()
{
}
void main()
{ cnt = sum = 0 ;
countvalue() ;
printf("素数的个数=%d\n", cnt) ;
printf("满足条件素数值的和=%d", sum) ;
writeDAT() ;
system("pause");
}
writeDAT()
{ FILE *fp ;
fp = fopen("bc10.out", "w") ;
fprintf(fp, "%d\n%d\n", cnt, sum) ;
fclose(fp) ;
}
第二题:
#include<stdio.h>
#include<math.h>
main()
{ int i,j;int n=0;
for(i=1;i<=100;i++)
{ for(j=(int)sqrt(i);j>=2;j--)
if(i%j==0)break;
if(j==1)
n++;}
printf("%d",n);}
第三题:
#include <stdio.h>
int main(void)
{
int a,b,c;
for(a=1;a<=9;a++)
for(b=0;b<=9;b++)
for(c=0;c<=9;c++)
if(100*a+10*b+c==a*a*a+b*b*b+c*c*c)
printf("%d%d%d\n",a,b,c);
return 0;
}
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息