//01求1000以内的所有完数。所谓完数,是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。
# include <iostream>
using namespace std;
int main ()
{
int i=1,j,s;
for (;i<=1000;i++)
{
j=1;
s=0;
for (;j<i;j++)
{
if(i%j==0)
s=s+j;
}
if(i==s)
cout<<i<<endl;
}
return 0;
}
//02有1、2、3、4 ,四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
# include <iostream>
using namespace std;
int main ()
{
int a,b,c;
for(a=1;a<=4;a++)
{
b=1;
for(;b<=4;b++)
{
c=1;
for(;c<=4;c++)
if(a!=b && a!=c && b!=c )
cout<<a<<b<<c<<'\t';
}
cout<<endl;
}
return 0;
}
//03求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),相加数的个数及a的值由键盘控制。
# include <iostream>
using namespace std;
int main ()
{
int a,s,i,n,b;
cin>>a>>n;
b=a;
s=0;
for(i=1;i<=n;i++)
{
s=s+b;
b=b*10+a;
}
cout<<s<<endl;
return 0;
}
//04循环嵌套,输出九九表
# include <iostream>
# include <iomanip>
using namespace std;
int main ()
{
int a,b;
for(a=1;a<10;a++)
{
b=1;
for(;b<a+1;b++)
{
cout<<setw(5)<<a*b; //设置输出宽度
}
cout<<endl;
}
return 0;
}
//05一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?(只考虑十万以内的数)
# include <iostream>
# include <cmath>
using namespace std;
int main ()
{
int i,b,c;
for(i=1;i<=100000;i++)
{
b=sqrt(i+100);//平方根
c=sqrt(i+268);
if(b*b==i+100 && c*c==i+268)
cout<<i<<endl;
}
return 0;
}
//06一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数。
# include <iostream>
using namespace std;
int main ()
{
int i,j,k;
for(i=1;i<1001;i++)
{
k=0;
j=1;
for(;j<i;j++)
{
if(i%j==0)
k=k+j;
}
if(i==k)
cout<<i<<endl;
}
return 0;
}
//08将输入的小写字母转换成大写字母,直至输入非小写字母字符结束程序。
# include <iostream>
using namespace std;
int main ()
{
char ch;
while(1)
{
cin.get(ch);
if(ch>='a' && ch<='z')
{
ch=ch-'a'+'A';
cout<<ch<<endl;
}
else
break;
}
return 0;
}
//09求输入的十个整数中正整数的个数及其和与平均值
# include <iostream>
using namespace std;
int main ()
{
int i,a=0,sum=0,n;
double aver=0;
for(i=1;i<11;i++)
{
cin>>n;
if(n>0)
{
sum=sum+n;
a+=1;
}
}
aver=sum/a;
cout<<a<<"\t"<<sum<<"\t"<<aver<<"\t"<<endl;
return 0;
}
待补:
//10译密码(A~V和a~v往后移4位,WXYZwxyz对应ABCDabcd,按回车结束)