C++补做作业(共4个)

一 问题及代码(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();
}

八  运行结果   










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值