一 问题及代码(4)
/*
02.* 文件名称:找出1-200之间的完数及个数 n
03.* 作 者:袁明杰
04.* 完成日期:2016 年 6 月 17 日
05.* 版 本 号:v1.0
06.* 对任务及求解方法的描述部分:
07.* 输入描述:无
08.* 问题描述:完数是一个数的因子之和是这个数本身。例如6=1+2+3
09.* 程序输出:略
10.* 问题分析:略
11.* 算法设计:略
12.*/
#include <iostream.h>
#include <fstream.h>
#include <stdio.h>
void writeinfile(int n);
void main()
{
int m,n,k,s,l;
/**********Program**********/
l=0;
for(m=1;m<=200;m++)
{
s=0;
for(k=1;k<=m/2;k++)
{
if(m%k==0)
s=s+k;
}
if(s==m)
{
cout<<m<<" ";
l++;
}
}
cout<<endl;
cout<<l<<endl;
/********** End **********/
writeinfile(n);
}
void writeinfile(int n)
{
fstream myfile;
myfile.open(" f.txt" ,ios::out);
myfile<<n<<endl;
myfile.close();
}
二 运行结果
三 问题及代码(5)
/*
02.* 文件名称:
03.* 作 者:袁明杰
04.* 完成日期:2016 年 6 月 17 日
05.* 版 本 号:v1.0
06.* 对任务及求解方法的描述部分:
07.* 输入描述:无
08.* 问题描述:在包含10个数的一维整数数组a中查找给定的数据num。如果找到则返回1,未找到返回 0 .
09.* 程序输出:略
10.* 问题分析:略
11.* 算法设计:略
12.*/
#include <fstream.h>
#include <iostream.h>
int fun(int a[],int num)
{
/**********Program**********/
for(int i=0;i<10;i++)
{
if(a[i]==num)
return 1;
}
return 0;
/********** End **********/
}
void main()
{
int a[10]={54,256,563,754,34,56,345,543,45,65};
int num = 46;
if (fun(a,num)==1)
cout <<" 找到!" <<endl;
else
cout <<" 没有找到!" <<endl;
void wwjt();
wwjt();
}
void wwjt()
{
int a[10]={54,256,563,754,34,56,345,543,45,65};
fstream myfile;
myfile.open(" out.txt" ,ios::out);
myfile<<fun(a,46)<<endl;
myfile<<fun(a,345)<<endl;
myfile.close();
}
四 运行结果
五 问题及代码 (6)
/*
02.* 文件名称:辗转相除方法
03.* 作 者:袁明杰
04.* 完成日期:2016 年 6 月 17 日
05.* 版 本 号:v1.0
06.* 对任务及求解方法的描述部分:
07.* 输入描述:无
08.* 问题描述:用“辗转相除方法”计算两个数 x,y 的最大公约数。
09.* 程序输出:略
10.* 问题分析:略
11.* 算法设计:略
12.*/
#include <iostream.h>
#include <fstream.h>
#include <stdio.h>
void writeinfile(int n);
void main()
{
int x,y,n;
x=25,y=10;
/**********Program**********/
n=x%y;
while(n)
{
x=y;
y=n;
n=x%y;
}
/********** End **********/
cout<<y;
writeinfile(y);
}
void writeinfile(int n)
{
fstream myfile;
myfile.open(" f.txt" ,ios::out);
myfile<<n<<endl;
myfile.close();
}
六 运行结果
七 问题及代码 (8)
/*
02.* 文件名称:
03.* 作 者:袁明杰
04.* 完成日期:2016 年 6 月 17 日
05.* 版 本 号:v1.0
06.* 对任务及求解方法的描述部分:
07.* 输入描述:无
08.* 问题描述:将数组S中所有小写字母改写成大写字母。
09.* 程序输出:略
10.* 问题分析:略
11.* 算法设计:略
12.*/
#include <iostream.h>
#include <fstream.h>
#include <string.h>
void fun(char s[])
{
/**********Program**********/
for(int i=0;i<80;i++)
{
if(s[i]>'Z')
s[i]=s[i]-32;
cout<<s[i];
}
/********** End **********/
}
void wwjt(char []);
void main()
{
char s[80] = " abdsaFDSAFdsafASFDSafghHFDHTjte" ;
fun(s);
wwjt(s);
}
void wwjt(char s[])
{
fstream myfile;
myfile.open(" out.dat" ,ios::out);
myfile<<s<<endl;
myfile.close();
}
八 运行结果