/****************************************************************************************************************
*(1)定义函数Rand1000(), 随机生成1000个均不相同的正整数,并写入到文本文件“file1.dat” 中,各数之间用空格来分隔。
*(2)编写一个函数input(int a[],int n),将上述数据读入到数组a中。
*(3)编写一个函数digitcount(int a[],int n,int b[10]), 统计数组a的每个元素保存的整数中,每位数字出现的次数,并分
* 别保存在b[0]到b[9]中。
*(4)编写函数maxprime(int *p,int n), 找出其中最大的素数,如果不存在素数函数结果为0。
*(5)对于这些整数排序之后,分别输出相邻两数之差最大和之差最小的两个数,如果有多组满足条件要输出所有的。
*(6)定义函数myinput(int a[],int n),用fgetc函数从文件“file1.dat”上逐个读入字符,并将其转换成独立的正整数,并依
* 次存入数组a中。
*****************************************************************************************************************/
//#include <stdafx.h>
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<string>
using namespace std;
void Rand1000();/*生成1000个随机数放入文件中*/
void input(int a[],int n);/*读取数组里的数放入数组中*/
void digitcount(int a[],int n,int b[10]);/*计算0-9出现的次数*/
void myiput(int a[],int n);/*在input(int,int)实现了,你自己改一下吧,我没看到有这么一个函数*/
int maxprime(int *p,int n);/*最大素数*/
bool isPrime(int);/*判断是否为素数*/
/*遗留问题:对于这些整数排序之后,分别输出相邻两数之差最大和之差最小的两个数,如果有多组满足条件要输出所有的。
*/
/*template <class Type>
Type stringToNum(const string& str)
{
istringstream iss(str);
Type num;
iss >> num;
return num;
}*/
FILE *fp;
int main()
{
int array[1000],Ab[10],int max = 0;
srand( (unsigned)time(NULL) );
Rand1000();
input(array,1000);
digitcount(array,1000,Ab);
max = maxprime(array,10);
if( max == 0 )
printf("
[无最大素数]
");
else
printf("
最大素数:[%d]
",max);
return 0;
}
int maxprime(int *p,int n)
{
int MAX = -1;
for(int i=0;i<n;i++)
if( isPrime(p[i]) && p[i] > MAX )
MAX = p[i];
if( MAX == -1 )
return 0;
return MAX;
}
bool isPrime(int n)
{
if (n == 1) return false;
if (n == 2) return true;
if (n%2 == 0) return false;
for (int i = 3; i * i < n; i += 2)
if (n%i == 0) return false;
return true;
}
void digitcount(int a[],int n,int b[10])
{
int temp =0;
for(int k=0;k<10;k++)
b[k]=0;
for(int i=0;i<n;i++)
{
temp = a[i] % 10 ;
while(a[i])
{
switch(temp)
{
case 0 : {b[0] ++;break;}
case 1 : {b[1] ++;break;}
case 2 : {b[2] ++;break;}
case 3 : {b[3] ++;break;}
case 4 : {b[4] ++;break;}
case 5 : {b[5] ++;break;}
case 6 : {b[6] ++;break;}
case 7 : {b[7] ++;break;}
case 8 : {b[8] ++;break;}
case 9 : {b[9] ++;break;}
default: {printf("
[switch error]
");}
}
a[i] = a[i] / 10 ;
temp = a[i] % 10 ;
}
}
for(int j=0;j<10;j++)
printf("
[%d] 出现的次数为 [%d]
",j,b[j]);
}
void input( int a[],int n)
{
int *p = a;
char ch;
string temp="";
if( (fp = fopen("d:\file1.bat","rt")) == NULL )
{
perror(" open file failed ");
exit(EXIT_FAILURE);
}
ch = fgetc(fp);
temp = ch;
for(int i=0;i<n;i++)
{
while( ch != EOF && ch != )
{
ch = fgetc(fp);
temp += ch;
}
p[i] = atoi(temp.c_str());
ch = fgetc(fp);
temp = ch;
}
fclose(fp);
} void Rand1000() { int x,temp; if( (fp = fopen("d:\file1.bat","wt")) == NULL ) { perror(" fopen failed "); exit(EXIT_FAILURE); } x = temp = -1; for(int i=0;i<1000;i++) { x = rand() % 10000; if(temp != x ) { fprintf( fp,"%d ",x); printf("%d ",x); temp = x; } } fclose(fp); }
第一题
int a[1000]; int fun() { int i,m=0; for(i=1;i<=1000;i++) { if(i%7==0||i%11==0) {
if(i%7==0&&i%11==0) continue;
a[m]=i; m++; } } return m; } main() { int n,len,i; len=fun(); printf("符合条件的整数有%d个 ",len);
for(i=0;i<len;i++)
printf("%4d",a[i]); printf(" "); }
香港云服务器最便宜价格是多少钱一个月/一年?无论香港云服务器推出什么类型的配置和活动,价格都会一直吸引我们,那么就来说说香港最便宜的云服务器类型和香港最低的云服务器价格吧。香港云服务器最便宜最低价的价格是多少?香港云服务器只是服务器中最受欢迎的产品。香港云服务器有多种配置类型,如1核1G、2核2G、2核4G、8到16核32G等。这些配置可以满足大多数用户的需求,无论是电商站、视频还是游戏、小说等。...
RAKsmart机房将于7月1日~7月31日推出“年中大促”活动,多重惊喜供您选择;爆款I3-2120仅30美金秒杀、V4新品上市,活动期间5折抢购、爆款产品持续热卖、洛杉矶+硅谷+香港+日本站群恢复销售、G口不限流量产品超低价热卖。美国VPS、日本VPS及香港VPS享全场7折优惠;爆款VPS $ 1.99/月限量秒杀,10台/天,售完即止, VPS 7折优惠码:VPS-TP-disRAKsmar...
2021年各大云服务商竞争尤为激烈,因为云服务商家的竞争我们可以选择更加便宜的VPS或云服务器,这样成本更低,选择空间更大。但是,如果我们是建站用途或者是稳定项目的,不要太过于追求便宜VPS或便宜云服务器,更需要追求稳定和服务。不同的商家有不同的特点,而且任何商家和线路不可能一直稳定,我们需要做的就是定期观察和数据定期备份。下面,请跟云服务器网(yuntue.com)小编来看一下2021年国内/国...