1.输入一个整数,如2,输入项数如4,计算下式的值:2+22+222+2222
#include <iostream>
#include <bits/stdc++.h>//保证scanf 和printf?
using namespace std;//保证cin,cout的有效进行
int main() {
while(1){
int a,b,sum,temp,i,j;
cin>>a>>b;
//scanf("%d",a);为啥不对 ,,,忘记加&
//&a、&b、&c 中的 & 是地址运算符,分别获得这三个变量的内存地址
//printf("%d",a);烦人
sum=0;
temp=0;
for(i=1;i<=b;i++){
//temp=0;
//for(j=1;j<=i;j++){
temp=temp*10+a;
if(i<b)
cout<<temp<<"+";
else
cout<<temp<<"=";
//}
sum=temp+sum;
}
cout<<sum<<endl;//别忘了endl;
}
return 0;
}
2.根据公式求e的值,e=1+1/1!+1/2!+1/3!+1/4!+1/n!(精确度为10^-6)
1e-6表示1乘以10的负6次方
因为忘记给temp赋初值
#include <bits/stdc++.h>
using namespace std;
int main(){
double sum=1.0,temp=1.0;//temp记得赋初值
for(int i=1;i<=1000000;i++){
temp=temp*i;
sum=sum+1.0/temp;
}
printf("%.6f",sum);//%7.2f是输出小数点后2位,数据位宽是7位
return 0;
}
3.一篮鸡蛋数目除2余1,除3余2,除4余3,除5余4,问有多少个鸡蛋
#include <iostream>
using namespace std;
int main() {
int n=0;
while(++n){//注意这里不能是n++,0表示false
//cout<<n;
if(n%2==1&&n%3==2&&n%4==3&&n%5==4){
cout<<n;
//break;
}
}
return 0;
}
4.将一个整数转换成16进制输出(不得使用系统函数)
#include <iostream>
using namespace std;
int main() {
//cout<<(3*16*16+33)=801;
int a[18];
int j=0,c=1,x;
cin>>x;
while(x>=1){
a[j++]=x%16;
x=x/16;
}
//cout<<j<<endl;
while(j>=1){
if(a[--j]==10)
cout<<'A';
else if(a[j]==11)
cout<<'B';
else if(a[j]==12)
cout<<'C';
else if(a[j]==13)
cout<<'D';
else if(a[j]==14)
cout<<'E';
else if(a[j]==15)
cout<<'F';
else
cout<<a[j];
}
return 0;
}
5.打印100-999间的回文数(正读反读相同,如101,111,121....)
#include <iostream>
using namespace std;
int main() {
int a[5];
for(int i=100;i<=999;i++){
if(i/100==i%10)
cout<<i<<' ';
}
return 0;
}
6.
打印九九表:
1*1=1
1*2=2 2* 2=4
1*3=3 2*3=6 3*3=9
#include <iostream>
using namespace std;
int main() {
int i,j;
for(i=1;i<=9;i++){
for(j=1;j<=i;j++){
cout<<j<<'*'<<i<<'='<<j*i<<"\t";//t保证间距相同
}
cout<<endl;
}
return 0;
}
7.将一个数(XYZ) 的个位移到首位(ZXY) 后,该数字将是原来的4倍,编程求满足这个条件的最小数(输出结果为102564)。
#include <iostream>
#include <math.h>
using namespace std;
int main() {
int i=1;
while(i++){
int x=i;
int len=0;
while(x>=1){
x=x/10;
len++;
}
if(i*4==(i%10*int(pow(10,len-1))+i/10)){
cout<<i;
break;
}
}
return 0;
}
8.A,B,C,D,E,F,G分别代表1000,500,100,50,10,5,1,给定一个字符串如ABC,求它的值(ABC=1000+500+100)
#include <iostream>
#include <string.h>
using namespace std;
int main() {
char a[10];
cin>>a;
int sum=0;
for(int i=0;a[i]!='\0';i++){
if(a[i]=='A')
sum=sum+1000;
else if(a[i]=='B')
sum=sum+500;
else if(a[i]=='C')
sum=sum+100;
else if(a[i]=='D')
sum=sum+50;
else if(a[i]=='E')
sum=sum+10;
else if(a[i]=='F')
sum=sum+5;
else if(a[i]=='G')
sum=sum+1;
}
cout<<sum<<endl;
return 0;
}