精华2
威望145
K币316 元
注册时间2009-9-16
在线时间77 小时
最后登录2017-3-12
一般战友
- 精华
- 2
- 威望
- 145
- K币
- 316 元
- 注册时间
- 2009-9-16
|
A.1
#include<iostream.h>
#include<iomanip.h>
float fun(float x,int n){
if(0==n){
return 1;
}else if(1==n){
return x;
}else{
return ((2*n-1)*x-fun(x,n-1)-(n-1)*fun(x,n-2)/n);
}
}
void main(){
int n;
float p,x;
cout<<fun(2,0)<<endl;
cout<<fun(2,1)<<endl;
cout<<fun(2,3)<<endl;
}//main
A.2
#include<iostream.h>
#include<iomanip.h>
#include<math.h>
int fun1(int n){
int temp;
temp=(int)sqrt(n);
if(n==temp*temp){
return 1;
}else{
return 0;
}
}
int fun2(int n){
int a[3],i;
for(i=0;i<3;i++){
a=n%10;
n/=10;
}
if(a[0]== a[1] || a[1]== a[2] || a[0]== a[2])return (1);
else return 0;
}
void main(){
int n;
for(n=100;n<1000;n++){
if(fun1(n) && fun2(n)){
cout<<"n="<<n<<endl;
}
}
}//main
A.3
#include<iostream.h>
struct{
int year;
int month;
int day;
}date;
void main()
{
int days;
cout<<"input year,month,day:\n";
cin>>date.year>>date.month>>date.day;
switch(date.month)
{
case 1: days=date.day; break;
case 2: days=date.day+31; break;
case 3: days=date.day+31+28;break;
case 4: days=date.day+31+28+31;break;
case 5: days=date.day+31+28+30+31;break;
case 6: days=date.day+31+28+31+30+30;break;
case 7: days=date.day+31+28+31+30+30+31;break;
case 8: days=date.day+31+28+31+30+30+31+31;break;
case 9: days=date.day+31+28+31+30+30+31+31+30;break;
case 10: days=date.day+31+28+31+30+30+31+31+30+31;break;
case 11: days=date.day+31+28+31+30+30+31+31+30+31+30;break;
case 12: days=date.day+31+28+31+30+30+31+31+30+31+30+31;break;
}//switch(month)
if(((date.year%4==0&&date.year%100!=0)||date.year%400==0)&&date.month>=3)
days+=1;
cout<<date.month<<"/"<<date.day<<"is the "<<days<<"th day in "<<date.year<<"."<<endl;
}//main
A.3’
#include<iostream.h>
#include<iomanip.h>
#include<math.h>
int leapyear(int year){
if(year%4==0&&year%100!=0|| year%400==0){
return 1;
}else return 0;
}
void main(){
int year,month;
int num=0,feb=0;
cout<<"请输入年份n和月份m"<<endl;
cin>>year>>month;
if(leapyear(year)) feb=29;
else feb=28;
switch(month){
case 1: num=num+31; break;
case 2: num=num+31+feb; break;
case 3: num=num+31+feb+31;break;
case 4: num=num+31+feb+31+30;break;
case 5: num=num+31+feb+31+30+31;break;
case 6: num=num+31+feb+31+30+31+30;break;
case 7: num=num+31+feb+31+30+31+30+31;break;
case 8: num=num+31+feb+31+30+31+30+31+31;break;
case 9: num=num+31+feb+31+30+31+30+31+31+30;break;
case 10: num=num+31+feb+31+30+31+30+31+31+30+31;break;
case 11: num=num+31+feb+31+30+31+30+31+31+30+31+30;break;
case 12: num=num+31+feb+31+30+31+30+31+31+30+31+30+31;break;
}//switch(month)
cout<<"天数="<<num<<endl;
}//main
A.4
//迭代公式:x2=(x1+n/x1)/2,当x2-x1绝对值小于0.00001停止迭代
#include<iostream.h>
#include<iomanip.h>
#include<math.h>
float fun(float n)
{float x1=1,x2=1;
do{x1=x2;
x2=(x1+n/x1)/2.0f;}
while(fabs(x2-x1)>0.00001);
return x2;}
void main()
{cout<<fun(3)<<endl;
cout<<fun(9)<<endl;}//main
A.5
#include<iostream.h>
#include<iomanip.h>
#include<math.h>
int fun(int n)
{int i,sum=0;
for(i=1;i<n;i++)
{if(n%i==0) sum+=i;}
return sum;}
void main()
{int m,n,a,b;
cout<<"请输入范围m,n 10<m<n<10000)"<<endl;
cin>>m>>n;
for(a=m;a<=n;a++){b=fun(a);
if(a==fun(b) && a<b&&b<n)
cout<<"亲密数:a="<<a<<" b="<<b<<endl;}}//main
A.6
#include<iostream.h>
#include<iomanip.h>
#include<math.h>
void main()
{int a[10]={12,34,3,89,76,24,10,67,33,17};
int i,max=0,sum2=0,index=0;
max=a[0]+a[1]+a[2];
for(i=1;i<10;i++)
{sum2=a+a[(i+1)%10]+a[(i+2)%10];
if(sum2>max)
{index=i;
max=sum2;}}
cout<<"最大一组开始下标="<<index<<endl;}//main
A.7
#include<iostream.h>
#include<iomanip.h>
#include<math.h>
struct Node{
int data;
Node * per;
Node * next;
};
void main()
{
int a[1000],num=-1,i,j,temp;
Node * head , * cur,*fir;
cout<<"输入正整数序列,空格分隔,以-1结尾"<<endl;
do{
num++;
cin>>a[num];
}while(-1!=a[num]);
for(i=0;i<num-1;i++)
for(j=i+1;j<num;j++)
if(a>a[j]){temp=a; a=a[j]; a[j]=temp;}
head=cur= fir=new Node;
cur->per =NULL;
cur->next =NULL;
cur->data=a[0];
for(i=1;i<num;i++)
{
cur=new Node;
cur->data=a;
fir->next=cur;
cur->per=fir;
cur->next=NULL;
fir=cur;
}
head->per=fir;
fir->next=head;
for(; fir!=head; )
{
cout<<fir->data<<setw(5);
fir=fir->per;
}
cout<<head->data<<endl;
}//main
B.1
#include<iostream.h>
#include<math.h>
void main()
{ int m,n,i,imax=0,sum=0;
cout<<"输入整数m和项数n:"<<endl;
cin>>m>>n;
for(i=1;i<=n;i++)
{ imax=imax*10+m;
sum+=imax;
}
cout<<"结果为sum="<<sum;
}
B.1’
#include<iostream>
#include<math.h>
using namespace std;
void main()
{double a,n;
double temp=0;
int sum=0;
int x;
cin>>a>>n;
for(double i=0;i<n;i++)
temp+=a*pow(10,i);
cout<<temp<<endl;//temp得到最大的那位数,如输入a=2,n=4则temp=2222
x=temp/10;
sum=temp;
for(int j=1;j<=n;j++)
{sum=sum+x;
x=x/10;}
cout<<sum;}
B.2
#include<iostream.h>
void main()
{ int i=1;
double e=1.0,d=1.0;
while(d>=0.000001)
{ i++;
d=d/i;
e+=d;
}
cout<<"the value of e is:
"<<e<<endl;
}
B.3
#include<iostream>
using namespace std;
void main(){
int i=0;
while(!((i%2==1)&&(i%3==2)&&(i%4==3)&&(i%5==4)))
i++;
cout<<i;}
B.4
#include<iostream.h>
void tran(int num)
{
int a[100];
int i=0;
for(i=0;i<100;i++)
{
a=num%16;
num/=16;
if(num==0) break;
}
for(;i>=0;i--)
{
switch(a)
{
case 10:
cout<<'A';
break;
case 11:
cout<<'B';
break;
case 12:
cout<<'C';
break;
case 13:
cout<<'D';
break;
case 14:
cout<<'E';
break;
case 15:
cout<<'F';
break;
default:
cout<<a;
break;
}
}
}
void main()
{
int num;
cin>>num;
tran(num);
}
B.4’
#include<iostream.h>
void main()
{ int a[100],num,i=0;
cin>>num;
while(num!=0)
{ a=num%16;
num=num/16;
i++;
}
i--;
for(;i>=0;i--)
{
switch(a)
{
case 10:
{
cout<<"A"; break;
}
case 11:
{
cout<<'B'; break;
}
case 12:
{
cout<<'C'; break;
}
case 13:
{
cout<<'D'; break;
}
case 14:
{
cout<<'E'; break;
}
case 15:
{
cout<<'F'; break;
}
default:
{
cout<<a;
break;
}
}
}
}
B.5
#include<iostream>
using namespace std;
void main()
{
int i=100;
int f,l;
for(;i<=999;i++)
{
f=i/100;
l=i%10;
if(f==l) cout<<i<<'\t';
}
}
B.6
#include<iostream>
using namespace std;
void main()
{
int j=1;
for(int i=1;i<=9;i++)
{
for(;j<=i;j++)
{
cout<<j<<'*'<<i<<'='<<i*j<<'\t';
}
j=1;
cout<<endl;
}
}
B.7
#include<iostream>
#include<math.h>
using namespace std;
int pow1(int x)/*定义int型pow乘方函数*/
{
int r=1;
if(x==0)
return(r);
else
{
while(x>0)
{
r=r*10;
x--;
}
return(r);
}
}
void main()
{
int i,sum=0,j,n=0,temp,f,l;
n=temp=128;
while(sum!=temp*4)
{
temp=n;
i=0;
f=n%10;
j=n;
while(j>10)//计算数字的位数
{
j=j/10;
i++;
}
l=n/10;
sum=f*pow1(i)+l;
n++;
}
cout<<temp<<' '<<sum<<endl;
}
B.8
#include<iostream>
using namespace std;
void main()
{
char a[20];
int b[20];
int i=0,sum=0;
char ch='A';
while(ch!='.')
{
cin>>ch;
a=ch;
i++;
}
i=0;
while(a!='.')
{
switch(a)
{
case 'A':
{
b=1000;
i++;
break;
}
case 'B':
{
b=500;
i++;
break;
}
case 'C':
{
b=100;
i++;
break;
}
case 'D':
{
b=50;
i++;
break;
}
case 'E':
{
b=10;
i++;
break; }
case 'F':
{
b=5;
i++;
break;
}
case 'G':
{
b=1;
i++;
break;
}
default:
{
cout<<"包含一个非法字符"<<a<<"将以0计算"<<endl;
b=0;
i++;
break;}
}
}
i--;
for(;i>=0;i--)
sum+=b;
cout<<sum<<endl;
} |
|