博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
杭电复试笔试题目:2006-2009
阅读量:3898 次
发布时间:2019-05-23

本文共 5199 字,大约阅读时间需要 17 分钟。

2006年 题目1:输入一个十进制的数,把它转成八进制。类似的把十进制转成16进制,把十六进制转变为十进制等。

#include
#include
#include
using namespace std;//2006年//题目1:输入一个十进制的数,把它转成八进制。类似的把十进制转成16进制,把十六进制转变为十进制等。int main(){
int n;//表示输入的数值 int a[100]={
0};//用一个数组来存对应的八进制位数 scanf("%d",&n); int i=0; int j; while(n!=0){
a[i]=n%8; n/=8; i++; } //然后从后往前输入 for(j=i-1;j>=0;j--) printf("%d",a[j]);}

题目2:输入两个非常大的整数(完全超出了int、long的表示范围),这个整数的长度可能超过100位,计算并输出这两个数相加的结果。(

HDU acm 1002用string处理比较好)

这道题还是挺好的:1.首选是需要选择#include<string.h>这个头函数 2.其次是char数组输入是 选%s并且后面不用跟 3.就是关于字符和数字的转换 靠’0’ 4.还有就是相加是从最后一位,也就是数组的最后一位开始的

#include
#include
#include
#include
using namespace std;//题目2:输入两个非常大的整数(完全超出了int、long的表示范围),//这个整数的长度可能超过100位,计算并输出这两个数相加的结果。( HDU acm 1002用string处理比较好)//我的思路就是,创建三个字符串数组两个用来输入,一个用来最后的输出,char str1[1000];char str2[1000];char str3[1000];int main(){
//先初始化一下 memset(str1,0,sizeof(str1)); memset(str2,0,sizeof(str2)); memset(str3,0,sizeof(str3)); //输入对应的两个数 scanf("%s%s",str1,str2);//这里需要注意一下 int len1=strlen(str1)-1; int len2=strlen(str2)-1;//这两个的长度都是需要知道的 int i=len1; int j=len2; int k=0;//k是求和之后的存储数组中的值 int num;//用来存中间值 int flag=0;//用来存中间的进位 while(i>=0&&j>=0){
//在这两个长度都满足的情况之下 //开始进行从个位开始加 num=(str1[i--]-'0')+(str2[j--]-'0');//这里值得注意的是,字符串通过-'0'变成数字(因为数字字符串就是'0’这个位置加上对应数字向前进几位 num+=flag; flag=(num/10);//这就相当于下一个了 num%=10; str3[k++]=num+'0'; } //然后可能会存在两个数值的长度不一样,所以会让有一个更进一步 while(i>=0){
num=str1[i--]-'0'; num+=flag; flag=(num/10); num%=10; str3[k++]=num+'0'; } while(j>=0){
num=str2[j--]-'0'; num+=flag; flag=(num/10); num%=10; str3[k++]=num+'0'; } //这里还有一点,还要看最后一个进位 if(flag==1) str3[k++]=1+'0'; //然后开始输出 for(j=k-1;j>=0;j--) printf("%c",str3[j]);}

2007年

题目1:回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。请写一个程序判断读入的字符串是否是“回文”。

#include
#include
#include
#include
using namespace std;//2007年//题目1:回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。请写一个程序判断读入的字符串是否是“回文”。char str[100];int main(){
//输入字符 scanf("%s",str); int len=strlen(str); int i,j; int flag=0; for(i=0,j=len-1;i<=j;j--,i++){
//这个i和j的关系需要注意一下 if(str[i]!=str[j]) flag=1; } if(flag==1) printf("NO"); else printf("YES");}

题目2:输入n个数,按从小到大进行排序并输出。

#include
#include
#include
#include
using namespace std;//题目2:输入n个数,按从小到大进行排序并输出。//就直接sort排序吧char str[100];int main(){
int a[1000]; int n;//这个是输入的数 int i; scanf("%d",&n); for(i=0;i

题目1:输入一个长整型的数,从低位起取出奇数位组成一个新的数输出。

值得注意的是,长整型是Ld

#include
#include
#include
#include
#include
using namespace std;//题目1:输入一个长整型的数,从低位起取出奇数位组成一个新的数输出。int main(){
long int num,sum,temp;//这是要输入的值,最终值,中间值 scanf("%ld",&num); sum=0; int k=0;//这个是10的次方 //是需要用到/和% while(num!=0){
//先取第一位 temp=num%10; sum+=(temp*pow(10,k)); k++; num/=100;//因为直接跳过下一个 } printf("%ld",sum);}

题目2:输入n个字符串,将它们按字母由小到大的顺序排列并输出。

#include
#include
#include
#include
#define MAX 100using namespace std;bool cmp(string x,string y)//strcmp(x,y)若x==y,则返回零;若x
y,则返回正数。{
if(strcmp(x.c_str(),y.c_str())==1) return false; return true;}int main(){
int n; string str[MAX]; while(scanf("%d",&n)!=EOF) {
for(int i=0;i

2009年: 题目1:输入两个正整数,求出这两个数的最大公约数。

#include
#include
#include
#include
using namespace std;//2009年://题目1:输入两个正整数,求出这两个数的最大公约数。int main(){
//就是之前学的辗转相除法 int a,b;//两个需要输入的正整数 int temp; scanf("%d%d",&a,&b); //需要判断这两个的大小 if(a>b){
temp=a; a=b; b=temp; } while(b!=0){
temp=b%a; a=b; b=temp; } printf("%d",a);}

题目2:水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=13+53+3^3,输入一个整数,判断它是否是水仙花数

#include
#include
#include
#include
using namespace std;//题目2:水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=13+53+3^3,输入一个整数,判断它是否是水仙花数。//写一个方法求立方int lifang(int x){
return x*x*x;}int main(){
int n,m;//写一个三位数 int sum=0; int temp; scanf("%d",&n); m=n; while(n){
//依次求个十百位 temp=n%10; sum+=lifang(temp); n/=10; } if(sum==m) printf("YES"); else printf("NO");}

题目3:完数的定义:如果一个大于1的正整数的所有因子之和等于它的本身,则称这个数是完数,比如6,28都是完数:6=1+2+3;28=1+2+4+7+14。输入一个整数,判断它是否是完数。

#include
#include
#include
#include
using namespace std;//题目3:完数的定义://如果一个大于1的正整数的所有因子之和等于它的本身,则称这个数是完数,比如6,28都是完数:6=1+2+3;28=1+2+4+7+14。输入一个整数,判断它是否是完数。//写一个方法判断是否为因子bool yingzi(int x,int y){
if(x%y==0) return true; return false;}int main(){
int n;//输入整数 scanf("%d",&n); int i; int sum=0; for(i=1;i

转载地址:http://gkfen.baihongyu.com/

你可能感兴趣的文章
php面试题2-用到过的传输协议
查看>>
php面试题3-yii2和yii的不一样的地方
查看>>
IOS 一些好的框架和 技术大牛的博客
查看>>
Java 和 Object-c的区别
查看>>
Windows环境下Android NDK环境搭建
查看>>
NDK Build 用法(NDK Build)
查看>>
Android NDK开发起步Hello Jni
查看>>
[已解决]AutoCompleteTextView 不显示匹配的内容,因为将空的内容添加进去了
查看>>
object c 归档和解档,其实就是java中的序列化和反序列化
查看>>
object c的浅拷贝(地址拷贝)和深拷贝(对象拷贝)
查看>>
object c son字符串的解析
查看>>
object c 非常强大的类的属性复制kcv键值码赋值
查看>>
Java中普通代码块,构造代码块,静态代码块区别及代码示例
查看>>
iOS 第4课 UILabel
查看>>
[已解决]junit.framework.AssertionFailedError: No tests found in
查看>>
“服务器端跳转”和“客户端跳转”的区别
查看>>
Datatables基本初始化——jQuery表格插件
查看>>
Servlet监听器——实现在线登录人数统计小例子
查看>>
Oracle笔记——简单查询语句 Oracle入门
查看>>
基于Hibernate和Struts2的用户管理系统小案例
查看>>