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

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

题目1:猜数字的游戏,不太难的。题目:随即产生一个3位的正整数,让你进行猜数字,如果猜小了,输出:“猜小了,请继续”。如果猜大了,输出:“猜大了,请继续”。如果猜对了。输出:“恭喜你,猜对了”。不过最多只能猜10次,如果猜了10次还没有猜对,就退出程序,输出:“很遗憾”。

随机生成一个三位数是 100+rand()%900;

#include
#include
#include
#include
using namespace std;//题目1:猜数字的游戏,不太难的。题目:随即产生一个3位的正整数,让你进行猜数字,如果猜小了,输出:“猜小了,请继续”//。如果猜大了,输出:“猜大了,请继续”。//如果猜对了。输出:“恭喜你,猜对了”。不过最多只能猜10次,如果猜了10次还没有猜对,就退出程序,输出:“很遗憾”。int main(){
int num;//这个是随机生成的数字,并且是三位数的 //猜十次的话,就用一个while循环吧,并且一个判断位置,他是猜对了跳出循环还是猜错了跳出循环 int i=10; int flag=0; int a;//这是每次用来猜的数字 num=(100+rand()%900);//这招不错 printf("%d\n",num); while(i){
scanf("%d",&a); if(a==num){
flag=1; break; } else if(a>num) printf("猜大了,请继续\n"); else if(a

题目2:将字符串中的数字提取出来,并加和。如“No       Signal ”,“123,and456”,“12, 123and124”

运行结果分别是0,579,259

#include
#include
#include
#include
using namespace std;//题目2:将字符串中的数字提取出来,并加和。如“No       Signal ”,“123,and456”,“12, 123and124”//运行结果分别是0,579,259int main(){
//创建一个字符串数组 char num[100]; scanf("%s",num);//输入,注意这个不需要写& int le=strlen(num); int i,sum=0; //开始遍历 for(i=0;i
='0'&&num[i]<='9'){
sum+=(num[i]-'0');//从字符串变成数字 } } printf("%d",sum);}

题目3: 处理一个文件 student.txt,然后将文本中的信息按总分排序,其中文本每列信息的意思是: 姓名 学号 英语 语文 数学 科学

张三 20100601 78 89 62 75
李四 20100602 78 54 98 86
王五 20100603 78 69 85 75

这道题的难题是在于怎么读取文件内容

#include
#include
#include
#include
using namespace std;//题目3://处理一个文件 student.txt,然后将文本中的信息按总分排序,其中文本每列信息的意思是://姓名 学号 英语 语文 数学 科学//张三 20100601 78 89 62 75//李四 20100602 78 54 98 86//王五 20100603 78 69 85 75//首先肯定是要 创建一个结构体数组来存储struct M{
char name[10]; char id[10]; int english; int yuwen; int math; int kexue; int sum;}stu[10];//写方法,按照总分从大到小bool cmp(M a,M b){
a.sum=a.english+a.kexue+a.math+a.yuwen; b.sum=b.english+b.kexue+b.math+b.yuwen; return a.sum>b.sum;}int main(){
int i; int c=0; char str[20]; //然后就是最关键的读取文件了 FILE *fpread=fopen("student.txt","r");//打开并读取文件 if(fpread==NULL) return 0; for(i=0;i<6;i++) {
fscanf(fpread,"%s",&str);//这是第一行嘛 printf("%s ",str); } printf("\n"); while(fscanf(fpread,"%c",&stu[c].name)!=EOF){
fscanf(fpread,"%c",&stu[c].id); fscanf(fpread,"%d",&stu[c].english); fscanf(fpread,"%d",&stu[c].yuwen); fscanf(fpread,"%d",stu[c].math); fscanf(fpread,"%d",&stu[c].kexue); c++; } //开始排序 sort(stu,stu+c,cmp); //开始输出 for(i=0;i

题目1:输入三个正整数A、B、C。判断这三个数能不能构成一个三角形。

#include
#include
#include
#include
using namespace std;//题目1:输入三个正整数A、B、C。判断这三个数能不能构成一个三角形。int main(){
int a,b,c; scanf("%d%d%d",&a,&b,&c);//输入三个边长 if(a+b>c&&a+c>b&&c+b>a) printf("YES"); else printf("No");}

题目2:有个人从2003年1月1日开始,三天打鱼两天晒网,请输入月份、日期,问在当年的某一天他是在打鱼还是在晒网。

#include
#include
#include
#include
using namespace std;//题目2:有个人从2003年1月1日开始,三天打鱼两天晒网,请输入月份、日期,问在当年的某一天他是在打鱼还是在晒网。int main(){
//首先要知道,2003年不是闰年,即二月只有28天 //创建一个数组,来存每个月的天数 int a[13]={
0,31,28,31,30,31,30,31,31,30,31,30,31}; int m,d;//存储输入的月份和天数 int i; scanf("%d%d",&m,&d); int sum=0;//记录总天数 for(i=0;i
=1&&sum<=3) printf("打鱼"); else printf("晒网");}

题目3: 丑数是这样定义的:如果一个正整数的素因子只包含 2、3、5、7四种,则它被称为丑数。以下数列 1, 2, 3,4,

5,6,7,8,9, 10,12,14,15,16,18, 20, 21,24,25, 27………. 就显示了前20个丑数。
给出一个正整数N,判断这个数是否为丑数。

这题挺好的

#include
#include
#include
#include
using namespace std;//题目3://丑数是这样定义的:如果一个正整数的素因子只包含 2、3、5、7四种,则它被称为丑数。以下数列 1, 2, 3,4, 5,6,7,8,9, 10,12,14,15,16,18, 20, 21,24,25, 27………. 就显示了前20个丑数。//给出一个正整数N,判断这个数是否为丑数。//参考了别人的代码,因为这道题用正常的方法写会超时,所以可以用动态规划//写一个方法来找最小值int minn(int a,int b,int c,int d){
return min(a,min(b,min(c,d)));}int main(){
int i,flag=0; int dp[1000];//这个是用来存储丑数的 dp[1]=1;//第一个丑数是1 而根据因子有2,3,5,7这几个。所以之后是2,3,2*2,5, int f2=1,f3=1,f5=1,f7=1;//这些用来存 那些由对应的因子生成的系数 for(i=2;i<1000;i++){
dp[i]=minn(dp[f2]*2,dp[f3]*3,dp[f5]*5,dp[f7]*5); if(dp[i]==dp[f2]*2) f2++;//这个数组多存了一个 if(dp[i]==dp[f3]*3) f3++; if(dp[i]==dp[f5]*5) f5++; if(dp[i]==dp[f7]*7) f7++; } int num;//输入该正整数 scanf("%d",&num); for(i=1;i<=num;i++) if(dp[i]==num) flag=1; if(flag==1) printf("YES"); else printf("NO");}

题目1:输入一个十进制的数,把它转成十六进制。

#include
#include
#include
#include
using namespace std;//题目1:输入一个十进制的数,把它转成十六进制。//需要注意的是 当余数大于等于10的时候是需要-10+'A'int main(){
int num;//要输入的正整数 int temp; char a[100];//存输入的值,因为存在字符,所以不适合用int 类型 scanf("%d",&num); int j,i=0; while(num){
temp=num%16; if(temp<10) a[i]=temp+'0';//将整数转换为字符 else a[i]=temp-10+'A'; num/=16; i++; } //然后开始输出 for(j=i-1;j>=0;j--){
printf("%c",a[j]); }}

2012年的第二题基本上没人写,所以我就也不写啦

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

你可能感兴趣的文章
epoll模型讲解/源码分析
查看>>
ELF格式与bss段
查看>>
java继承 long和float小记点
查看>>
记录几点在开发中遇到的问题 2015-7-28 (会更新)
查看>>
网银在线的异步操作代码示意图
查看>>
火狐Firefox浏览器安装Selenium_IDE的步骤以及其使用规则
查看>>
记录运行代码的时间长短
查看>>
关于yii2的一些知识的学习笔述
查看>>
用纯php实现MVC框架,文件目录模仿yii2
查看>>
新开发的体重管理项目----用纯php模仿yii2框架建立的
查看>>
JavaScript面向对象编程指南 的笔记
查看>>
在 2016 年做 PHP 开发是一种什么样的体验?(一)
查看>>
PHP获取客户端的IP
查看>>
从头开始学习yii2---1.搭建yii2开发环境
查看>>
从头开始学习yii2---3.语言包的配置
查看>>
yii2-表单验证的一些规则
查看>>
索引相关问题
查看>>
php面试可能会被问道的技术题汇总
查看>>
php面试题1-线程和进程的区别(顺带提下协程)
查看>>
php面试题2-用到过的传输协议
查看>>