共8题:
1.输入一个整数如2,输入项数如4,计算下式的值:2+22+222+2222
(如输入的是3和2则需要计算的是3+33)
#include<iostream>
#include<math.h>
using namespace std;
void main()
{
double a,n;
double temp=0;
int sum=0;
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
int x;
x=temp/10;sum=temp;
for(int j=1;j<=n;j++)
{
sum=sum+x;
x=x/10;
}
cout<<sum;
}
×2.计算e的值e(给定e的表达式,精确度10^-6)
3.一篮鸡蛋数目除2余1,除3余2,除4余3,除5余4问有多少个(59)
#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;
}
4将一个整数转换为16进制输出,(不得使用系统函数)
#include<iostream>
using namespace std;
void tran(int num)
{
int a[8];
int i=0;
for(i=0;i<8;i++)
{
a[i]=num%16;
num/=16;
if(num==0) break;
}
for(;i>=0;i--)
{
switch(a[i])
{
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; <script type="text/javascript"> </script>
}
case 15:
{
cout<<'F';
break;
}
default:
{
cout<<a[i];
break;
}
}
}
}
void main()
{
int num;
cin>>num;
tran(num);
}
5打印100-999间的回文数(正读反读相同,如101 111 121 131 ……)
#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';
}
}
6打印九九表:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
……………………………………………………………………
……………………………………………………………………
#include<iostream>
using namespace std;
void main()
{
int j=1;
for(int i=1;i<=9;i++)
{
for(;j<=i;j++)
{
cout<<i<<'*'<<j<<'='<<i*j<<' /t';
}
j=1;
cout<<endl;
}
}
7一个数的个位是8(如128),将8移到首位(变成812 )后将是原来的4倍,编程求这个数(128205)(最小值)
#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; <script type="text/javascript"> </script>
}
8.A,B,C,D,E,F,G分别代表1000,500,100 ,50,10,5,1,给定一个字符串如ABC,求出它的值
(ABC=1000+500+100)
#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[i]=ch;
i++;
}
i=0;
while(a[i]!='.')
{
switch(a[i])
{
case 'A':
{
b[i]=1000;
i++;
break;
}
case 'B':
{
b[i]=500;
i++;
break;
}
case 'C':
{
b[i]=100;
i++;
break;
}
case 'D':
{
b[i]=50;
i++;
break;
}
case 'E':
{
b[i]=10;
i++;
break;
}
case 'F':
{
b[i]=5;
i++;
break;
}
case 'G':
{
b[i]=1;
i++;
break;
}
default:
{
cout<<"包含一个非法字符"<<a[i]<< "将以0计算"<<endl;
b[i]=0;
i++;
break;
}
}
}
i--;
for(;i>=0;i--)
sum+=b[i];
cout<<sum<<endl;
}
以上的代码都是在VS2005下编写的。 <script type="text/javascript"> </script>
1.输入一个整数如2,输入项数如4,计算下式的值:2+22+222+2222
(如输入的是3和2则需要计算的是3+33)
#include<iostream>
#include<math.h>
using namespace std;
void main()
{
double a,n;
double temp=0;
int sum=0;
cin>>a>>n;
for(double i=0;i<n;i++)
{
temp+=a*pow(10,i);
}
cout<<temp<<endl;//temp得到最大的那位
int x;
x=temp/10;sum=temp;
for(int j=1;j<=n;j++)
{
sum=sum+x;
x=x/10;
}
cout<<sum;
}
×2.计算e的值e(给定e的表达式,精确度10^-6)
3.一篮鸡蛋数目除2余1,除3余2,除4余3,除5余4问有多少个(59)
#include<iostream>
using namespace std;
void main()
{
int i=0;
while(!((i%2==1)&&(i%3==2)&&
{
i++;
}
cout<<i;
}
4将一个整数转换为16进制输出,(不得使用系统函数)
#include<iostream>
using namespace std;
void tran(int num)
{
int a[8];
int i=0;
for(i=0;i<8;i++)
{
a[i]=num%16;
num/=16;
if(num==0) break;
}
for(;i>=0;i--)
{
switch(a[i])
{
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; <script type="text/javascript"> </script>
}
case 15:
{
cout<<'F';
break;
}
default:
{
cout<<a[i];
break;
}
}
}
}
void main()
{
int num;
cin>>num;
tran(num);
}
5打印100-999间的回文数(正读反读相同,如101 111 121 131 ……)
#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';
}
}
6打印九九表:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
……………………………………………………………………
……………………………………………………………………
#include<iostream>
using namespace std;
void main()
{
int j=1;
for(int i=1;i<=9;i++)
{
for(;j<=i;j++)
{
cout<<i<<'*'<<j<<'='<<i*j<<'
}
j=1;
cout<<endl;
}
}
7一个数的个位是8(如128),将8移到首位(变成812
#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; <script type="text/javascript"> </script>
}
8.A,B,C,D,E,F,G分别代表1000,500,100
#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[i]=ch;
i++;
}
i=0;
while(a[i]!='.')
{
switch(a[i])
{
case 'A':
{
b[i]=1000;
i++;
break;
}
case 'B':
{
b[i]=500;
i++;
break;
}
case 'C':
{
b[i]=100;
i++;
break;
}
case 'D':
{
b[i]=50;
i++;
break;
}
case 'E':
{
b[i]=10;
i++;
break;
}
case 'F':
{
b[i]=5;
i++;
break;
}
case 'G':
{
b[i]=1;
i++;
break;
}
default:
{
cout<<"包含一个非法字符"<<a[i]<<
b[i]=0;
i++;
break;
}
}
}
i--;
for(;i>=0;i--)
sum+=b[i];
cout<<sum<<endl;
}
以上的代码都是在VS2005下编写的。 <script type="text/javascript"> </script>