2008年 浙工大考研计算机专业课试题C++
2008年 浙工大考研计算机专业课试题C++
个人闲暇之余整理,可能会有许多细节问题且题目实现代码不唯一,若有需要可邮件与我交流。
一,改程序错误
1-1,计算半径为(a+b)的圆的面积
// kaoshi.cpp : 定义控制台应用程序的入口点。
//2008-1-1
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#define PI 3.1415926
double S(double r)
{
doublearea=PI*r*r;
returnarea;
};
//define S(r)PI*r*r
void main() //main()
{
doublea,b,area;
a=3.6,b=4.4;
area=S(a+b);
printf("%f",area);
}
结果:
201.061926
1-2,用循环打印1到20的整数,要求每行只打印5个整数
#include "stdafx.h"
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
inti,k;
for(i=1;i<=20;i++)
{
cout<<i;
if(i%5==0)
{
cout<<endl;
}
}
}
1-3,计算N!
#include "stdafx.h"
#include <iostream>
using namespace std;
double f(double i)
{
if(i==0||i==1) return 1;
else return i*f(i-1);
}
void main()
{
doubleN;
cout<<"请输入一个整数N:";
cin>>N;
cout<<N<<"!的值是:"<<f(N)<<endl;
}
1-4,删除字符串尾部的空格符、制表符和换行符
// shijuan.cpp : Defines the entry pointfor the console application.
//
#include "stdafx.h"
#include <iostream>
using namespace std;
int trim(char s[])
{
int n;
for (n = strlen(s)-1; n >= 0; n--)
//从s[0] ...s[strlen(n) - 1] 因为要求删除字符串尾部的空格符、制表符与换行符
//也就是从字符串尾部开始判断若果是 空格符、制表符与换行符中的一个n--否则 跳出循环此时记录了最后一个不是空格符、制表符与换行符的字符的位置
// n 我们只需要在原来的字符串的后面加上一个 '\0'结束符 就可以删除后面的空格符、制表符与换行符了
if (s[n] != ' ' && s[n] != '\t'&& s[n] != '\n')
break;
s[n+1] = '\0';
return n;
}
void main()
{
charc[80];
cout<<"请任意输入一些字符串:";
cin.getline(c,80); //从键盘读入一行字符
cout<<"您输入的字符串是:";
for(inti=0;c[i]!=0;i++) //对字符逐个处理,直到遇′/0′为止
cout<<c[i];
cout<<endl;
intk=trim(c);
cout<<"删除字符串尾部空格符、制表符、换行符后是:";
for(k=0;c[k]!=0;k++) //对字符逐个处理,直到遇′/0′为止
cout<<c[k];
}
二,读程序写结果
// kaoshi.cpp : 定义控制台应用程序的入口点。
//2008-2-1
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
using namespace std;
int d=2;
int fun2(int a,int b)
{
staticint c=3;
c=a*b%3+c;
printf("thec is%d\n",c);
returnc;
}
int fun1(int a,int b)
{
intc=3;
a+=a;b+=b;
{
intd;
d=4;
}
c=fun2(a,b)+d;
d++;
printf("thed is%d\n",d);
returnc*c;
}
voidmain()
{
inti,a,b;
a=2;b=6;
for(i=1;i<3;i++)
printf("%d\n",fun1(a,b));
}
结果:
the c is3
the d is3
25
the c is3
the d is4
36
// kaoshi.cpp : 定义控制台应用程序的入口点。
//2008-2-2
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
using namespace std;
void main()
{
intb[2][3]={2,4,6,8,12};
int*a[2][3]={*b,*b+1,*b+2,*(b+1)+2,*(b+1)+1,*(b+1)};
int**q,k;
q=a[0];
for(k=1;k<6;k++)
{
printf("%4d\n",**q);
q++;
}
}
结果:
2
4
6
0
12
三,编程
3-1,编写一个程序,实现将多个文本文件连接成一个指定的文本文件cat.txt。要求使用命令行参数,参数将被解释为需要连接的文件名,并按照顺序逐个进行处理。
#include "StdAfx.h"
#include "stdlib.h "
#include <iostream>
#include <string>
#include <iomanip>
#include <fstream>
using namespace std;
//将 in1-3.txt 的内容连接到 cat.txt 的末尾
int main()
{
ifstream ifile1,ifile2,ifile3;
string s1,s2,s3;
cout<<"文件1的完整路径:";
cin>>s1;cout<<endl;
cout<<"文件2的完整路径:";
cin>>s2;cout<<endl;
cout<<"文件3的完整路径:";
cin>>s3;cout<<endl;
ifile1.open(s1);
ifile2.open(s2);
ifile3.open(s3);
/*
ifile1.open("c://in1.txt");
ifile2.open("c://in2.txt");
ifile3.open("c://in3.txt");
*/
ofstream ofile;
ofile.open("c://cat.txt",ofstream::app);
string str;
while(ifile1>>str)ofile<<str<<endl;
while(ifile2>>str)ofile<<str<<endl;
while(ifile3>>str)ofile<<str<<endl;
ifile1.close();
ifile2.close();
ifile3.close();
ofile.close();
return 0;
}
3-2,编写一个程序,统计从键盘输入的字符串中出现的“auto”“break”“case”三个单词的次数。
3-3, 每行10个,输出1-500之间的所有素数。(20分)
1. 根据概念判断:
如果一个正整数只有两个因子,1和p,则称p为素数.
代码:
bool isPrime(int n)
{
if(n < 2) return false;
for(int i = 2; i < n; ++i)
if(n%i == 0) return false;
return true;
}
时间复杂度O(n).
2. 改进, 去掉偶数的判断
代码:
bool isPrime(int n)
{
if(n < 2) return false;
if(n == 2) return true;
for(int i = 3; i < n; i += 2)
if(n%i == 0) return false;
return true;
}
时间复杂度O(n/2), 速度提高一倍.
3. 进一步减少判断的范围
定理: 如果n不是素数, 则n有满足1<d<=sqrt(n)的一个因子d.
证明: 如果n不是素数, 则由定义n有一个因子d满足1<d<n.
如果d大于sqrt(n), 则n/d是满足1<n/d<=sqrt(n)的一个因子.
代码:
bool isPrime(int n)
{
if(n < 2) return false;
if(n == 2) return true;
for(int i = 3; i*i <= n; i += 2)
if(n%i == 0) return false;
return true;
}
时间复杂度O(sqrt(n)/2),速度提高O((n-sqrt(n))/2).
#include "stdafx.h"
#include <iostream>
using namespace std;
#include<math.h>
main()
{
int i,j,k;
int a[101];
for(i=1;i<101;i++)
{
a[i]=i;
}
for(j=2;j<101;j++)
{
for(k=2;k<sqrt(j)+1;k++)
{
if(a[j]%k==0&&j!=2)
{
a[j]=0;
}
}
if(a[j]!=0)
printf("%d\n",a[j]);
}
}
3-4,输入50个整数,其中有重复数,输出其中重复次数最多的那个数。(20分)
// kaoyan.cpp : Defines the entry point forthe console application.
#include "StdAfx.h"
#include "stdlib.h "
#include <iostream>
#include <string>
#include <iomanip>
#include <fstream>
using namespace std;
#define NUM 50
int main(void)
{
// 一次过可输入50个数字
intdata[NUM], n = 0;
inti, j, k;
inttimes[NUM], visited[NUM], max;
while (cin.peek() != '\n')
{
cin>> data[n];
++n;
if(n == NUM)
break;
}
for(i = 0; i < n; ++i)
{
visited[i] = 0;
times[i] = 1;
}
for(i = 0; i < n; ++i)
{
if(!visited[i])
{
for (j = i + 1; j < n; ++j)
{
if ((data[i] == data[j]) && !visited[j])
{
visited[j] = 1;
++times[i];
}
}
}
visited[i] = 1;
}
max= times[0];
k =0;
for(i = 1; i < n; ++i)
{
if(times[i] > max)
{
max = times[i];
k= i;
}
}
cout<< data[k] << endl;
return 0;
}
undoner
LSOFT.CN (
2008年 浙工大考研计算机专业课试题C++相关推荐
- 2012年 浙工大考研计算机专业课试题C++(学硕)
2012年 浙工大考研计算机专业课试题C++(学硕) 个人闲暇之余整理,可能会有许多细节问题且题目实现代码不唯一,若有需要可邮件与我交流. 1读程序写结果(5*9=45) 1-1 // zgdyjs. ...
- 考研计算机专业课统考吗,【计算机考研】你了解计算机统考408吗?
原标题:[计算机考研]你了解计算机统考408吗? 什么是408计算机统考 计算机考研专业课在2009年年初实行了第一次统考,统考是国家教育部出题,全国统一考试,计算机考研统考编号是408,408考试科 ...
- 考研计算机专业课怎么复习,2016考研计算机专业课如何复习?
2016考研计算机专业课如何复习? ?基础复习阶段 以指定参考书为主,兼顾笔记,进行专业课的第一轮复习.看书要以理解为主,不必纠缠于细节,并在不懂的知识点处做上标记. 第一步,选择一本难度适宜.内容全 ...
- 计算机考研:全国明星院校考研计算机专业课一线汇总!!
计算机考研:全国明星院校考研计算机专业课一线汇总!! 附:各大高校专业课资料整理可以看一下我的博客主页上传的资源哦!感谢关注,点赞,评论♥ 北京航空航天大学 学姐这样说 王道系列+<计算机组成设 ...
- 计算机科学与技术考研专业课网课,考研计算机专业课视频教学哪个好
考研计算机专业课视频教学哪个好?如今,考研计算机专业课视频比比皆是,选择适合自己的成了很多考生的难题.其中,新东方在线的考研计算机专业课视频教学就是个不错的选择,16年教研精华沉淀.网校有着业内严选师 ...
- 计算机专业课科目,考研计算机专业课有哪些科目
考研计算机专业课有哪些科目 发布时间:2020-08-10 10:45:24 来源:亿速云 阅读:111 作者:Leah 考研计算机专业课有哪些科目?针对这个问题,这篇文章详细介绍了相对应的分析和解答 ...
- 计算机考研专业课课件,【考研计算机专业课】武汉大学计算机网络PPT课件 习题课.ppt...
[考研计算机专业课]武汉大学计算机网络PPT课件 习题课 习题课 快速复习作业中的问题课堂练习 目前计算机网络的实际模型 以IP协议为中心的沙漏模型 HTTP SMTP DHCP TFTP - - T ...
- 计算机考研专业课复习资料,考研计算机专业课复习重点归纳
考研计算机专业课复习重点归纳中国大学网考研:一.数据结构的章节结构及重点构成 数据结构学科的章节划分基本上为:概论,线性表,栈和队列,串,多维数组和广义表,树和二叉树,图,查找,内排,外排,文件,动态 ...
- 考研计算机专业课统考吗,09考研计算机专业课统考增至4部分内容
北京考试报讯(记者 陈霄飞) 全国硕士研究生统一入学考试计算机科学与技术学科的初试专业课考试明年将实行联考.有关考研辅导专家认为,针对初试专业课调整为4部分内容的情况,计划报考该专业的考生要提早调整复 ...
最新文章
- ClassCastException
- heartbeat v1版CRM的高可用web集群的实现
- Updater Application Block v1.0 翻译文档目录
- SQL基础语句汇总-学习
- linux字符串替换命令,Linux系统字符串替换命令详细说明
- 从jensen不等式到相对熵的非负性性
- Latex 带圈的序号
- FPGA入门的必经之路(一)
- 速看,成都市关于促进低效工业用地企业提质增效的信息
- Android下实现Google街景
- 笔记——H.264/AVC与H.265/HEVC基本总结
- 使用C#更新word中的目录域
- 青出于蓝而胜于蓝——揭秘全新的 HWSQL
- kind安装k8s集群
- 嵌入式系统移植课笔记1(学通)
- 操作系统-用信号量解决过独木桥问题
- Python将string转换到float的实例方法
- 模电1.3 晶体三极管
- 主要的几个脑网络——整理自eegfmri的博客
- python 储蓄计划_储蓄--投资恒式为什么不意味着计划的储蓄恒等于计划的投资?...
热门文章
- HTML用cookie实现自动登录,用cookie实现websocket自动登录,session状态保留。
- 机器学习中qa测试_机器学习自动化单元测试平台
- 添加摇头刷脸_小区门禁系统开始刷脸的时代,你准备好了吗?
- 70+Python项目,面向初学者、中级和经验丰富的开发人员
- python图片旋转脚本_Python+OpenCV 实现图片无损旋转90°且无黑边
- 网络的塔建+模型训练
- PTA基础编程题目集-7-32 说反话-加强版
- [NOI2002] 银河英雄传说(带权并查集好题)
- java 移动页面中的图片上传_移动端图片操作——上传
- win10 调用计算机,Win10系统打开此电脑提示正在处理它解决方法