ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

南京理工2006年入学机试练习

2021-03-01 19:33:48  阅读:162  来源: 互联网

标签:std 10 int sum 2006 南京理工 using 机试 include


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;
}

 

标签:std,10,int,sum,2006,南京理工,using,机试,include
来源: https://blog.csdn.net/weixin_42578658/article/details/114188142

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有