用C++编写一个判断素数合数的程序,要求输入素数时显示出“此数是素数”,输入合数时给出该合数的分解式

用C++编写一个判断素数合数的程序,要求输入素数时显示出“此数是素数”,输入合数时给出该合数的分解式,第1张

#include<iostreamh>

bool prime(int n)//判断是否为素数

{

int i;bool flag=true;

for(i=2;i<=n/2;i++)

if(n%i==0)flag=false;

if(flag==true||n==2)return 1;//是的话返回 true

return 0;//否则 flase

}

int fun(int n)//将合数分解,这里用了函数的递归调用

{

int i;

if(prime(n))

{cout<<n;return 0;}

for(i=2;i<n;i++)

{

if(n%i==0&&prime(i))

cout<<i<<'';

else continue;

break;

}

fun(n/i);

}

void main()

{

int n;

cout<<"请输入一个数字n:";

cin>>n;

if(prime(n))cout<<"此数为素数。"<<endl;

else {cout<<"此数为合数:"<<"n=";fun(n);cout<<endl;}

}

#include<stdioh>

#include<stdlibh>

main(){

FILE fin,fout;

char namein[64],nameout[64];

int a,b,c,d;

printf("\007Enter input file name\n");

scanf("%s",namein);

printf("Enter output file name\n");

scanf("%s",nameout);

fin=fopen(namein,"r");

fout=fopen(nameout,"w");

fscanf(fin,"%d %d %d %d",&a,&b,&c,&d);

fprintf(fout,"%d %d %d %d\n",a,b,c,d);

fclose(fin);

fclose(fout);

return 0;

}

/

character64 namein, nameout

integer4 a,b,c,d

write(,) char(127),char(7)

write(,) 'Enter input file name'

read(,'(A)') namein

write(,) 'Enter output file name '

read(,'(A)') nameout

open(unit=1,file=namein,status='old')

open(unit=2,file=nameout,status='unknown')

read(1,'(1I5,1I5,1I5,1I5)') a,b,c,d

write(2,'(1I5,1I5,1I5,1I5)') a,b,c,d

close(1)

close(2)

end

/

#include <stdioh>

#include <stdlibh>

#include <memoryh>

#include <stringh>

#define MAXLINE 1024

#define DIM     ","

typedef struct STRLINK 

{

    int v;

    int t;

    struct STRLINK next;

} LINK;

static LINK head = NULL;

static int freelink()

{

    LINK tmp = NULL;

    if (head==NULL) return 0;

    while (head->next) {

        tmp = head->next;

        free(head);

        head = tmp;

    }

    free(head);

    return 0;

}

static int inode(int v)

{

    LINK tmp, newlink;

    tmp = head;

    newlink = (LINK)malloc(sizeof(LINK));

    if (newlink==NULL)  return -1;

    newlink->v = v;

    newlink->t = 1;

    newlink->next = NULL;

    if (tmp==NULL) {

        head = newlink;

        return 0;

    }

    while (tmp->next!=NULL) {

        if (tmp->v==v) {

            tmp->t++;

            return 0;

        }

        tmp = tmp->next;

    }

    if (tmp->v==v) {

        tmp->t++;

        return 0;

    } else {

        tmp->next = newlink;

        return 0;

    }

}

static int prt2file(FILE fout, int linenum)

{

    LINK tmp = head;

    if (head==NULL) return 0;

    while (tmp->next) {

        fprintf(fout, "(%d,%d,%d),", tmp->v, tmp->t, linenum);

        tmp = tmp->next;

    }

    fprintf(fout, "(%d,%d,%d)\n", tmp->v, tmp->t, linenum);

    return 0;

}

int main(int argc, char argv[])

{

    FILE fin, fout;

    char line[MAXLINE+1], str;

    int linenum, v;

    

    if (argc!=3) {

        printf("USAGE: %s 输入文件 输出文件\n", argv[0]);

    }

    fin = fopen(argv[1], "r");

    if (fin==NULL) {

        printf("input file[%s] can not open!\n", argv[1]);

        return -1;

    }

    fout = fopen(argv[2], "a+");

    if (fout==NULL) {

        printf("output file[%s] can not open!\n", argv[2]);

        fclose(fin);

        return -1;

    }

    

    /

    fin = fopen("intxt", "r");

    fout = fopen("outtxt", "a+");

    /

    memset(line, 0, sizeof(line));

    linenum = 0;

    while (fgets(line, MAXLINE, fin)!=NULL) {

        ++linenum;

        freelink();

        str = strtok(line, DIM);

        if (str==NULL)  break;

        v = atoi(str);

        inode(v);

        while((str=strtok(NULL, DIM))!=NULL) 

        {

            v = atoi(str);

            inode(v);

        }

        prt2file(fout, linenum);

    }

    

    fclose(fin);

    fclose(fout);

    return 0;

}

以上就是关于用C++编写一个判断素数合数的程序,要求输入素数时显示出“此数是素数”,输入合数时给出该合数的分解式全部的内容,包括:用C++编写一个判断素数合数的程序,要求输入素数时显示出“此数是素数”,输入合数时给出该合数的分解式、求fortran语言转化成c语言或者C++的程序实例!!(有文件 *** 作的哈!如一个fortran完整程序,转化成后仍完整、高分用C语言做个游程编码程序,下面我解释具体意思,高手来等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9728717.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存