
#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语言做个游程编码程序,下面我解释具体意思,高手来等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)