计算机程序设计实践答案(江苏科技大学)

合集下载

程序设计实践教程 习题及答案

程序设计实践教程 习题及答案

程序设计实践教程习题及答案程序设计实践是计算机科学与技术领域中一门重要的课程,通过实践项目来培养学生的程序设计能力。

本文将为大家提供一些程序设计实践的习题,并附上详细的答案,旨在帮助读者更好地理解和掌握程序设计的技巧与方法。

习题一:计算斐波那契数列要求:编写一个程序,计算斐波那契数列的前n项,并输出结果。

答案:```pythondef fibonacci(n):if n <= 0:return []elif n == 1:return [1]elif n == 2:return [1, 1]else:fib = [1, 1]for i in range(2, n):fib.append(fib[i-1] + fib[i-2])return fibn = int(input("请输入要计算的斐波那契数列的项数:"))result = fibonacci(n)print(result)```习题二:判断素数要求:编写一个程序,判断一个数是否为素数,并输出结果。

答案:```pythondef is_prime(num):if num < 2:return Falsefor i in range(2, int(num**0.5)+1):if num % i == 0:return Falsereturn Truenum = int(input("请输入一个数:"))if is_prime(num):print(num, "是素数")else:print(num, "不是素数")```习题三:求解最大公约数和最小公倍数要求:编写一个程序,输入两个整数,求解它们的最大公约数和最小公倍数,并输出结果。

答案:```pythondef gcd(a, b):while b:a, b = b, a % breturn adef lcm(a, b):return a * b // gcd(a, b)num1 = int(input("请输入第一个整数:"))num2 = int(input("请输入第二个整数:"))result_gcd = gcd(num1, num2)result_lcm = lcm(num1, num2)print("最大公约数是:", result_gcd)print("最小公倍数是:", result_lcm)```习题四:字符串逆序要求:编写一个程序,将输入的字符串逆序输出。

大学程序设计技术教材习题参考答案

大学程序设计技术教材习题参考答案

习题一一、简答题1.答:程序是计算任务的处理对象和处理规则的描述,即:程序=数据结构+算法,通俗地说就是用计算机语言描述的解决问题的步骤。

程序设计是给出解决特定问题程序的过程,包括问题分析、算法设计、程序源代码设计、测试、调试和维护。

2.答:利用计算机的解题过程大致分为4个阶段:①分析问题。

详细分析需要解决的问题,清楚地了解问题的需求;②设计算法。

将解决问题的方法或数学模型转换为解决问题的步骤,即设计算法;③编写程序。

就是将设计的算法等价映射(转换)为计算机语言的程序,所编写的程序从逻辑上看是算法的一种表现形式;④运行验证。

在计算机上运行并且排除潜在错误。

必要时,还要使用测试数据对程序进行测试,验证程序的正确性。

3.答:算法是精确定义的一系列规则的集合,这些规则规定了解决特定问题的一系列操作,以便在有限的步骤内产生出问题的答案。

通俗地说,算法就是解决问题的方法和步骤。

算法的特性有5个,即有穷性、确定性、可行性、输入和输出。

4.答:a图中r=0时,n的值也是0,n的前一个值赋值给了m,所以输出是m的值。

而b图中r=0时,n的值就是求余数为0时的分母,所以输出是n的值。

5.答:欧几里得算法使用了迭代算法策略。

6.答:构化程序设计以功能模块和过程设计为主,其要点是:①自顶向下,逐步求精;②模块化;③结构化。

7.答:①启动某个C/C++集成开发环境;②在编辑窗口输入源程序代码;③编译、连接程序,若有错误,重复2、3;④运行程序,若程序输出结果不正确,检查程序逻辑,重复2、3、4,直到输出结果正确。

二、设计题1.答:对应的伪代码算法表示如下:开始输入m,nr=mmod nwhile(r≠0){m=nn=rr=mmod n}输出r的值结束2.答:程序设计如下:#include<stdio.h>void main()·1·{int a,b,c,max;scanf("%d%d%d",&a,&b,&c);if(a>b) max=a; else max=b;if(max<c) max=c;printf("%d\n",max);}3.用传统流程图或N—S流程图表示下列各题的算法。

大学计算机实验报告答案

大学计算机实验报告答案

一、实验目的1. 理解操作系统基本概念和功能。

2. 掌握进程和线程的基本知识。

3. 学习进程调度和同步机制。

4. 熟悉操作系统实验环境。

二、实验环境1. 操作系统:Windows 102. 编程语言:C/C++3. 开发环境:Visual Studio 2019三、实验内容1. 进程和线程的创建与终止2. 进程调度算法(先来先服务、短作业优先、轮转)3. 线程同步机制(互斥锁、条件变量、信号量)四、实验步骤1. 进程和线程的创建与终止(1)创建进程使用函数`fork()`创建子进程,实现进程的创建。

```c#include <unistd.h>#include <stdio.h>int main() {pid_t pid = fork();if (pid < 0) {perror("fork error");return 1;} else if (pid == 0) {// 子进程printf("I am child process, PID: %d\n", getpid()); // 执行子进程任务} else {// 父进程printf("I am parent process, PID: %d\n", getpid()); // 等待子进程结束wait(NULL);}return 0;}```(2)创建线程使用函数`pthread_create()`创建线程,实现线程的创建。

```c#include <pthread.h>#include <stdio.h>void thread_func(void arg) {printf("Thread ID: %ld\n", pthread_self());return NULL;}int main() {pthread_t tid;if (pthread_create(&tid, NULL, thread_func, NULL) != 0) { perror("pthread_create error");return 1;}// 等待线程结束pthread_join(tid, NULL);return 0;}```(3)终止进程和线程使用函数`exit()`和`pthread_exit()`终止进程和线程。

江苏科技大学计算机科学与工程学院计算机综合历考研真题汇编

江苏科技大学计算机科学与工程学院计算机综合历考研真题汇编

目 录第一部分 江苏科技大学计算机科学与工程学院845计算机基础综合历年考研真题汇编....................................................................................................................................................................2014年江苏科技大学计算机科学与工程学院845计算机基础综合考研真题 ............................... 2013年江苏科技大学计算机科学与工程学院845计算机基础综合考研真题 ............................... 第二部分 全国硕士研究生入学统一考试408计算机学科专业基础综合历年真题及详解....................................................................................................................................................................2012年全国硕士研究生入学统一考试408计算机学科专业基础综合真题 ................................... 2012年全国硕士研究生入学统一考试408计算机学科专业基础综合真题及详解 ............................................................................................................................................................... 2011年全国硕士研究生入学统一考试408计算机学科专业基础综合真题 ................................... 2011年全国硕士研究生入学统一考试408计算机学科专业基础综合真题及详解 ............................................................................................................................................................... 2010年全国硕士研究生入学统一考试408计算机学科专业基础综合真题 ................................... 2010年全国硕士研究生入学统一考试408计算机学科专业基础综合真题及详解 ............................................................................................................................................................... 2009年全国硕士研究生入学统一考试408计算机学科专业基础综合真题 ................................... 2009年全国硕士研究生入学统一考试408计算机学科专业基础综合真题及详解 ............................................................................................................................................................... 说明:江苏科技大学2012年之前参加全国统考408计算机学科专业基础综合,2013年开始自主命题,科目改为845计算机基础综合,2015年之后,科目名改为计算机综合。

2015年-2017年江苏科技大学818计算机程序设计语言考研真题试题试卷汇编

2015年-2017年江苏科技大学818计算机程序设计语言考研真题试题试卷汇编

第 13 页,共 14 页
芝士传媒 × 题源库

...让知识更美味...
第 14 页,共芝士传媒 × 题源库

...让知识更美味...
第 2 页,共 14 页
芝士传媒 × 题源库

...让知识更美味...
第 3 页,共 14 页
芝士传媒 × 题源库

...让知识更美味...
芝士传媒 × 题源库

...让知识更美味...
目 录
2015 年江苏科技大学 818 计算机程序设计语言考研真题试题试卷·······························2 2016 年江苏科技大学 818 计算机程序设计语言考研真题试题试卷·······························6 2017 年江苏科技大学 818 计算机程序设计语言考研真题试题试卷····························· 10
第 10 页,共 14 页
芝士传媒 × 题源库

...让知识更美味...
第 11 页,共 14 页
芝士传媒 × 题源库

...让知识更美味...
第 12 页,共 14 页
芝士传媒 × 题源库

...让知识更美味...
第 4 页,共 14 页
芝士传媒 × 题源库

...让知识更美味...
第 5 页,共 14 页
芝士传媒 × 题源库

...让知识更美味...
第 6 页,共 14 页
芝士传媒 × 题源库

...让知识更美味...
第 7 页,共 14 页
芝士传媒 × 题源库

...让知识更美味...

2022年江苏科技大学计算机科学与技术专业《操作系统》科目期末试卷B(有答案)

2022年江苏科技大学计算机科学与技术专业《操作系统》科目期末试卷B(有答案)

2022年江苏科技大学计算机科学与技术专业《操作系统》科目期末试卷B(有答案)一、选择题1、采用直接存取法来读写磁盘上的物理记求时,效率最高的是()A.连续结构的文件B.索引结构的文件C.链接结构文件D.其他结构文件2、如果文件采用直接存取方法,且文件大小不固定,则应采用()物理结构。

A.直接B.索引C.随机D.顺序3、关于临界问题的一个算法(假设只有进程P0和P1,能会进入临界区)如下(i为0或1代表进程P0或者P1):Repeatretry:if(turn!=-1)turn=i;if(turn!=i)go to retry;turn=-1;临界区:turn=0;其他区域;until false;该算法()。

A.不能保持进程互斥进入临界区,且会出现“饥饿”B.不能保持进程互斥进入临界区,但不会出现“饥饿”C.保证进程互斥进入临界区,但会出现“饥饿”D.保证进程互斥进入临界区,不会出现“饥饿”4、对进程的管理和控制使用()。

A.指令B.原语C.信号量D.信箱通信5、()有利于CPU繁忙型的作业,而不利于1/0繁忙型的作业(进程)。

A.时间片轮转调度算法B.先来先服务调度算法C.短作业(进程)优先调度算法D.优先权调度算法6、设系统缓冲区和用户工作区均采用单缓冲,从外设读入一个数据块到系统缓冲区的时间为100,从系统缓冲区读入1个数据块到用户工作区的时间为5,对用户上作区中的1个数据块进行分析的时问为90。

进程从外设读入并分析2个数据块的最短时间是()。

A.200B.295C.300D.3907、操作系统中为实现多道程序并发,对内存管理可以有多种方式,其中代价最小的是()A.分区管理B.分页管理C.分段管理D.段页式管理8、一个多道批处理系统中仅有P1,和P2两个作业,P2比P1晚5ms到达。

它们的计算和I/O操作顺序如下:P1:计算60ms,I/O 80ms,计算20msP2:计算120ms,I/O 40ms,计算40ms。

计算机程序设计实践答案(江苏科技大学)

计算机程序设计实践答案(江苏科技大学)

计算机程序设计实践答案(江苏科技大学)1,#includeclass PP{int n;double x;double *p;public:PP(int num,double x1);~PP();double fun(int n1,double x);void process();void show();};PP::PP(int num,double x1){n=num;x=x1;p=new double[n+1];}PP::~PP(){if(p) delete[]p;}double PP::fun(int n,double x){if(n==0) return 1;else if(n==1) return x;else return ((2*n-1)*x*fun(n-1,x)-(n-1)*fun(n-2,x))/n; }void PP::process(){int i;for(i=0;i<=n;i++)p[i]=fun(i,x);}void PP::show(){int count=0;cout<<"n="<<n<<'\t'<<"x="<<x<<endl;< p=""> for(int i=0;i<n;i++)< p="">{cout<<p[i]<<'\t';< p="">count+=1;if(count%4==0) cout<<'\n';}}void main(){int num;double x1;cout<<"num=";cin>>num;cout<<"x1=";cin>>x1;PP items(num,x1);items.process();items.show();}2. #includeclass sp{private:int n,k;public:sp(int n1,int k1);int powers(int m,int n);int fun(int m,int n);void show();};sp::sp(int n1,int k1){k=k1;}int sp::powers(int m,int n){int i,p=1;for(i=1;i<=n;i++)p*=m;return p;}int sp::fun(int n,int k){int s=0;for(int i=1;i<=n;i++)s+=powers(i,k);return s;}void sp::show(){cout<<fun(n,k)<<endl;< p="">}void main(){cin>>x>>y;sp s(x,y);s.show();}3. #includeclass move{privatefloat array[20];int n;public:move(float b[],int m){for(int i=0;i<m;i++)< p="">array[i]=b[i];n=m;}void average(){float sum=0,ave;for(int i=0;i<n;i++)< p="">sum+=array[i];ave=sum/20;float Array[20],*p1=Array,*p2=Array; for(i=1;i<="">for(i=0;i<n;i++)< p="">{if(array[i]<=ave) *(p1++)=array[i];else *(p2--)=array[i];}for(i=0;i<n;i++)< p="">array[i]=Array[i];}void print(){cout<<"执行后的数据为:"<<endl;< p=""> for(int i=0;i<n;i++)< p="">cout<<'\t'<<array[i];< p="">cout<<endl;< p="">}};void main(){float b[9]={1.3,6.2,3,9.1,4.8,7.4,5.6,9.2,2.3}; cout<<"原数据为:"<<endl;< p="">for(int i=0;i<9;i++)cout<<'\t'<<b[i];< p="">cout<<endl;< p="">move s(b,9);s.average();s.print();}4. #includeclass MOVE{int *array;int n;public:MOVE(int b[],int m){n=m;array=new int[n];for (int i=0;i<n;i++)< p="">{array[i]=b[i];}}void exchange(){float x=0;int max=0,m=0,min=0;for(int i=0;i<n;i++)< p="">{x+=array[i];if(array[i]>array[max]){max=i;}if(array[i]<array[min])< p="">{min=i;}}x/=n;cout<<"平均数为:"<<x<<endl;< p=""> x=array[min];array[min]=array[max];array[max]=x;}void print(){for(int i=0;i<n;i++)< p="">{cout<<array[i]<<'\t';< p="">}}~MOVE(){delete array;}};void main(){int s[10]={21,65,43,87,12,84,44,97,32,55}; MOVE a(s,10);a.exchange();a.print();}5. #include#includeclass palindrome{int n;int y;public:palindrome (int x);void huiwen();void show();};palindrome:: palindrome(int x){n=x;y=0;}void palindrome::huiwen(){int a[20],b[50],k=n,s=n,i=0,count=0; while(k){a[i]=k%10;k=k/10;i++;count++;}for( i=0;i<count;i++,count--)< p=""> if(a[i]==a[count]) y=1;else {y=0;break;}if(y==1){int i=0,j=0;while(s){b[i]=s%2;s=s/2;i++;j++;for( i=0;i<j;i++)< p="">if(b[i]==b[j]) { y=1;j--;}else {y=0;break;}}if(y==1)cout<<"是绝对回文字符串"<<endl;< p=""> if(y==0)cout<<"不是绝对回文字符串"<<="">void palindrome::show(){cout<<n;< p="">}void main(void){int a;cout<<"请输入a=";cin>>a;palindrome p(a);p.show();p.huiwen();}6. #include#includeclass String{char *str;int y;public:String(char*s){if(s){str=(char*)new char[strlen(s)+1];strcpy(str,s);}else str=0;}void huiwen();void show();};void String::huiwen(){char *t1,*t2;t1=t2=str;while(*t2) t2++;t2--;while (t1<t2)< p="">{if(*t1++!=*t2--) y=1;}}void String::show(){cout<<str<<endl;< p="">if(y) cout<<"不是回文字符串"<<endl;< p=""> else cout<<"是回文字符串"<<="">void main(){char s[]="ababcedbaba";String text(s);text.huiwen();text.show();}7. #includeclass phalanx{int (*p)[20];int startnum;int n;public:phalanx(int s[20][20],int m){startnum=1;p=s;n=m;}void process(){p[0][0]=startnum;for(int i=0;i<n;i++)< p="">for(int j=0;j<n;j++)< p="">{if(i>j){p[i][j]=1+i*i+i+i-j;}else{p[i][j]=1+j*j+i;}}}void print(){for(int i=0;i<n;i++)< p="">{for(int j=0;j<<'\t'<<p[i][j];<="" p=""> cout<<'\n';}}~ phalanx() { }};void main(){int m;int s[20][20];cout<<"请输入折叠层数:";cin>>m;cout<<'\n';phalanx pp(s,m);pp.process();pp.print();}9. #include#includeclass CString{char *str;int size;int maxsize;public:CString(){str=NULL;size=0;maxsize=0;}void Count(CString & s);friend ostream& operator<<(ostream &ostr,const CString & s);friend istream& operator>>(istream &istr,CString & s);};void CString::Count(CString &s){int i,k;for(i=0;i<s.size;i++)< p="">{int m=1;for(k=i+1;k<s.size;k++)< p="">{if(s.str[i]==s.str[k]){for(int n=k;n<s.size;n++)< p="">{s.str[n]=s.str[n+1];}s.size--;s.maxsize--;m++;}}cout<<s.str[i]<<"的个数:"<<m<<endl;< p="">}}ostream & operator<<(ostream &ostr,const CString &s) { cout<<"s.size="<<s.size<<endl;< p="">cout<<"s.str="<<s.str<<endl;< p="">return ostr;}istream& operator>>(istream &istr,CString &s){delete []s.str;cout<<"输入字符串的元素个数:";cin>>s.size;s.maxsize=s.size+1;s.str=new char[s.maxsize]; cout<<"输入字符串:";for(int i=0;i<s.size;i++)< p=""> cin>>s.str[i];s.str[s.size]=NULL;return istr;}void main(){CString s;cin>>s;cout<<s;< p="">s.Count(s);}1113#includeclass MOVE{int array[20];int n;public:MOVE(int b[],int m){n=m;for(int i=0;i<n;i++)< p=""> {array[i]=b[i];}}void change(){for(int j=0;j<3;j++){int a=array[n-1];for(int i=n-1;i>0;i--){array[i]=array[i-1];}array[0]=a;}}void print(){for(int i=0;i<n;i++)< p="">cout<<array[i]<<'\t';< p="">}};void main(){int s[10]={21,65,43,87,12,84,44,97,32,55}; MOVE test(s,10);test.change();test.print();}14. #include#includeclass move{char *array;int n;public:move(char b[],int m){n=m;array=new char[strlen(b)+1]; strcpy(array,b);}void change();void print();~move(){delete[]array;}};void move::change(){char Aa[20];int j=0,k=n;for(int i=0;i<n;i++)< p="">if(array[i]>='A'&&array[i]<='Z') {Aa[j]=array[i];j++;}else{Aa[k-1]=array[i];k--;}for(i=0;i<n;i++)< p="">array[i]=Aa[i];array[n]=0;}void move::print(){for(int i=0;i<n;i++)< p=""> cout<<array[i];< p="">cout<<endl;< p="">}void main(){char b[]={"fdsUFfsTjfsKFEkWC"}; move test(b,17);test.change();test.print();}15. #include#includeclass Carray{int *a;int n;int b;public:Carray(int m[],int n1,int x){ a=m;for(int i=0;i< p="">n=n1;b=x;}void Transform(){int i;int x;int T[10];for(i=0;i<n;i++)< p=""> { x=*a++;T[i]=(b*x+i);}a=T;}void show(){for(int i=0;i<10;i++)cout<<*a<<'\t';cout<<endl;< p="">}~Carray(){delete a;}};void main(){int arr[]={1,2,3,4,5,6,7,8,9,10}; int b;int i=10;//i=strlen(arr);cout<<"请输入b="; cin>>b;Carray test(arr,i,b);test.Transform();test.show();}17. #include#includeclass SIN{private:int x;int n;public:SIN(int a,int b){x=a;n=b;}int power(int q){int c;if(q==1||q==0) c=1;else c=q*power(q-1); return c;}int mi(int m,int n){int p=1;for(int i=0;i<n;i++)< p=""> p=p*m;return p;}double fun(){double sum,s;s=1;sum=0;for (int j=1;j<=n;j++){s=s*mi(x,2*j-1)/power(2*j-1);sum+=s;s=-1;}cout<<sum<<endl;< p="">return sum;}void show(){cout<<"结果为"<<fun()<<endl;< p=""> }};void main(){SIN test(1,2);test.fun();test.show();}18. #includeclass VAR{private:double a[100];int n;public:V AR(double x[],int n1){n=n1;for(int i=0;i<n;i++)< p="">a[i]=x[i];}double average(double x[],int n) {double xp, s=0;for(int i=0;i<n;i++)< p="">{s=s+a[i];}xp=s/n;return xp;}double variance(double x[],int n){double b=0.00,d;for(int i=0;i<n;i++)< p="">{b=b+(x[i]-average(a,n))*(x[i]-average(a,n));}d=b/n;return d;}void show(double x[],int n){cout<<"标准差是:"<<variance(x,n)<<endl;}< p=""> };void main(){double e[100]={1,2,3,4,5};V AR c(e,5);c.show(e,5);}19. #includeclass Array{int a[4][4];public:Array(int a1[][4],int n){for(int i=0;i<n;i++)< p="">for(int j=0;j<4;j++)a[i][j]=a1[i][j];}void xuanzhuan();void show();};void Array::xuanzhuan(){int a2[4][4];for(int i=0;i<4;i++)for(int j=0;j<4;j++)a2[j][3-i]=a[i][j];for(int k=0;k<4;k++)for(int h=0;h<4;h++)a[k][h]=a2[k][h];}void Array::show(){for(int i=0;i<4;i++){for(int j=0;j<4;j++){if(a[i][j]<10)cout<<" "<<a[i][j]<<" ";<="" p=""> elsecout<<a[i][j]<<" ";<="" p="">}cout<<endl;< p="">}}void main(){int b[][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; Array test(b,4);cout<<"原二维数组为:"<<endl;< p=""> test.show();test.xuanzhuan();cout<<"旋转后的二维数组为:"<<endl;< p=""> test.show();}20. #includeclass Array{private:int a[4][4];public:Array(int a1[][4],int n){for(int i=0;i<n;i++)< p="">for(int j=0;j<4;j++)a[i][j]=a1[i][j];}void xuanzhuan(){int b[4][4];for(int i=0;i<4;i++)for(int j=0;j<4;j++)b[i][j]=a[i][j];for( i=0;i<4;i++)for(int j=0;j<4;j++)a[3-j][i]=b[i][j];}void show(){for(int i=0;i<4;i++){for(int j=0;j<4;j++)cout<<a[i][j]<<'\t';< p="">cout<<'\n';}}};void main(){int b[][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; Array test(b,4);test.xuanzhuan();test.show();}23. #includeclass Fract{private:int num,den;public:Fract(int a=0,int b=1){num=a;den=b;}int ged(int m,int n){int k,i,D;if(m<=n)k=m;else k=n;for( i=k;i>=1;i--)if(m%i==0&&n%i==0)break;D=m*n/i;return D;}Fract add(Fract f){Fract temp;int k,i;temp.den=ged(den,f.den);temp.num=temp.den/den*num+temp.den/f.den*f.num;if(temp.den<=temp.num)k=temp.den;else k=temp.num;for( i=k;i>=1;i--)if(temp.den%i==0&&temp.num%i==0){temp.den=temp.den/i;temp.num=temp.num/i;break;}return temp;}void show(){cout<<"两分数之和为"<<num<<" "<<den<<="">void main(){Fract f1(1,5),f2(7,20),f3;</num<<"></a[i][j]<<'\t';<></n;i++)<></endl;<></endl;<></a[i][j]<<"></a[i][j]<<"></n;i++)<></variance(x,n)<<endl;}<></n;i++)<></n;i++)<></n;i++)<></fun()<<endl;<></sum<<endl;<></n;i++)<></endl;<></n;i++)<><></endl;<></array[i];<></n;i++)<></n;i++)<></n;i++)<></array[i]<<'\t';<></n;i++)<></n;i++)<></s;<></s.size;i++)<></s.str<<endl;<></s.size<<endl;<></s.str[i]<<"的个数:"<<m<<endl;<> </s.size;n++)<></s.size;k++)<></s.size;i++)<></n;j++)<></n;i++)<></endl;<></str<<endl;<></t2)<></n;<></endl;<></j;i++)<></count;i++,count--)<> </array[i]<<'\t';<></n;i++)<></x<<endl;<></array[min])<></n;i++)<></n;i++)<></endl;<></b[i];<></endl;<></endl;<></array[i];<></n;i++)<></endl;<></n;i++)<></n;i++)<></n;i++)<></m;i++)<></fun(n,k)<<endl;<> </p[i]<<'\t';<></n;i++)<></n<<'\t'<<"x="<<x<<endl;<>。

2022年江苏科技大学公共课《大学计算机基础》期末试卷B(有答案)

2022年江苏科技大学公共课《大学计算机基础》期末试卷B(有答案)

2022年江苏科技大学公共课《大学计算机基础》期末试卷B(有答案)一、单项选择题1、二进制数01101010等于十进制数()A.106B.108C.110D.1122、十进制数83,用二进制表示是()A.00010011B.01010011C.00111110D.011011103、与二进制数01000011等值的十进制数是()A.19B.35C.67D.1314、十进制数111等于二进制数()A.10110111B.10110011C.01101111D.011001115、计算机病毒对于操作计算机的人,()A.只会感染,不会致病B.会感染致病C.不会感染D.会有厄运6、微型计算机中最普遍使用的字符编码是()A.国标码B.ASCII码C.BCD码D.EBCDIC码7、下列关于ROM的叙述中,不正确的是()A. ROM中的信息能被CPU读取B. ROM主要用来存放计算机的基本输入输出程序C.不能随时对ROM改写D.一旦断电ROM中的信息会丢失8、下列对“回收站”说法正确的是()A.“回收站”保存了所有系统文件B.“回收站”中的文件不能再次使用C.“回收站”中的文件只能保存30天D.“回收站”中的文件可以还原9、在Windows 7“回收站”中,可以恢复()A.从硬盘中删除的文件和文件夹B.从光盘中刷除的文件和文件夹C.从软盘中删除的文件和文件夹D.剪切掉的文挡10、在Windows 7中,目录结构采用()A.树形结构B.线形结构C.层次结构D.网状结构11、下列可以完成多个应用程序切换的是()A.资源管理器B.控制菜单C.“开始"菜单D.任务栏12、下列古那于“快捷方式”的系数中,错误的是()A.可以使用快捷反复市作为打开程序的捷径B.删除快捷方式后,它所指向的项目也不会被删除C.可在桌面上创建打印机的快捷方式D.快捷方式的图标可以更改13、可以方便地进行Windows 7组件安装工作的是“控制面板”中的()A.管理工具B.添加/删除程序C.添加/删除硬件D.辅助功能选项14、在Word文档中插入符号时,首先要做的操作是()A.选择“符号”菜单B.将光标定位到插入点C.选取要插入的符号D.选择“插入”菜单15、在Word窗口的“插入”菜单中不包括()A.“符号”命令B.“表格”命令C.“脚注和尾注”命令D.“日期和时间”命令16、在Word中,可以插入页眉和页脚的视图是()A.普通视图B.Web版是视图C.大纲视图D.页面视图17、在Word2010“字体”对话框中不能设置()A上标B删除线C字符间距D段落间距18、在Word 2010中,用于设置文本颜色的按钮,位于“开始”功能区中的()A.“段落”组B.“字体”组C.“样式”组D.“剪贴板”组19、在Word“文件”菜单底部所显示的文件名是()A.最近被存取过的文件名B.正在使用的文件名C.正在打印的文件名D.新建立的文件名20、在Excel 2010中,一个数据清单区域必须符合一定的规则,下列叙述正确的是()A.数据清单中同一列数据的数据类型可以不一样B.数据清单中可以有空行和空列C.数据清单中的字段名唯一D.数据清单中可以有重复的列21、在Excel 2010中,对A8单元格绝对引用正确的是()A.A8B.$A8C.A$8D.$A$822、在Excel 2010工作表中,最基本的编辑单位是()A.单元格B.一行C.一列D.工作表23、在Excel 2010中、要将有数据且设登了格式的单元格恢复为默认格式的空单元格,应先选定该单元格,然后使用()A.Del 键B.“格式”菜单的“单元格”命令C.“编辑”菜单的“清除”命令D.“常用”工具栏的“剪切”命令24、在Excel 2010中,要统计某单元格区域内数值的个数,应使用的函数是()A.COUNTB.MAXC.SUMD.AVERAGE25、Excel 2010一个单元格中存储的信息不包括()A.批注B.格式C.内容D.图片26、设置PowerPoint 2010动画时,若对动画出现的方向进行设置,单击()A.“效果”按钮B.“动画样式”按钮C.“预览”按钮D.“添加动画”按钮27、在PowerPoint 2010中对文本进行超链接设置时,可以在()A.“插入”菜单中选择“超级链接”命令B.“格式”菜单中选择“超级链接”命令C.“工具”菜单中选择“超极链接”命令D.“幻灯片放映”菜单中选择“超级链接”命令28、某用户上网时,在浏览器地址栏输入网址,其中http的含义()A超文本传输协议B网际协议C文件传输协议D传输控制协议29、下列有关计算机病毒的叙述中,正确的是()A.网络蠕虫病毒通常利用系统中的安全漏洞迸行自动传播B .计算机病毒不可以自我复制C.黑客是一种可传染的计算机病毒D.计算机病毒只能通过互联网传播30、下列属于局域网的是()A.国家网B.校园网C.城市网D.因特网二、填空题31、“我的电脑”和“资源管理器”初始界面的区别是:“我的电脑”没有___窗格。

江苏科技大学2012-2013 C++补考试卷(附答案)

江苏科技大学2012-2013 C++补考试卷(附答案)

《计算机程序设计(VC++)期末试卷》(A卷) (试卷代号 16,考试日期2013年8月29日)学号:姓名:一、选择题(每题2分,计20分)1、下列定义变量和常量的语句中,语法不正确是〔 1 〕。

A. int const a=10;B. const int a=10;C. #define PI 3.14159;D. int n=10,a[n];2、下列叙述中,不正确的是〔 2 〕。

A. 一个函数的函数体中可以没有 return 语句B. 一个函数的函数体中可以有多个 return 语句C. 一次函数调用可以通过函数体中的多个 return 语句,返回多个值D. return 语句的 return 后面可以有表达式,也可以为空3、对于如下3个循环语句:while(e1) 循环体;for(;e2;) 循环体;do 循环体 while(e3);则下列说法正确的是〔 3 〕。

A. 表达式 e1 可省略B. 表达式 e2 可省略C. 表达式 e3 可省略D. 表达式e1、e2 和 e3 均可省略4、设有说明语句如下:int a[20]; char b[20];则下列选项中,存在语法错误的语句是〔 4 〕。

A. cin>>a;B. cout<<a;C. cin>>b;D. cout<<b;5、设有说明语句如下:char s[]=“string”,*p=s;则下列选项中,值为 6 的表达式是〔 5 〕。

A. strlen(p)B. sizeof(p)C. sizeof(*p)D. sizeof(s)6、设有说明语句如下:float a[3][4],*p1,(*p2)[3],(*p3)[4];则下列选项中,存在语法错误的语句是〔 6 〕。

A. p1=*a;B. p1=a[0];C. p2=a;D. p3=a;7、下列关于构造函数和析构函数的叙述中,正确的是〔 7 〕。

江苏科技大学计算机科学与工程学院计算机综合历考研真题大全

江苏科技大学计算机科学与工程学院计算机综合历考研真题大全

江苏科技大学计算机科学与工程学院845计算机综合历年考研真题汇编最新资料,WORD格式,可编辑修改!目录第一部分江苏科技大学计算机科学与工程学院845计算机基础综合历年考研真题汇编 (5)2014年江苏科技大学计算机科学与工程学院845计算机基础综合考研真题 (5)2013年江苏科技大学计算机科学与工程学院845计算机基础综合考研真题 (11)第二部分全国硕士研究生入学统一考试408计算机学科专业基础综合历年真题及详解 (24)2012年全国硕士研究生入学统一考试408计算机学科专业基础综合真题 (24)2012年全国硕士研究生入学统一考试408计算机学科专业基础综合真题及详解 (34)2011年全国硕士研究生入学统一考试408计算机学科专业基础综合真题 (52)2011年全国硕士研究生入学统一考试408计算机学科专业基础综合真题及详解 (62)2010年全国硕士研究生入学统一考试408计算机学科专业基础综合真题 (80)2010年全国硕士研究生入学统一考试408计算机学科专业基础综合真题及详解 (90)2009年全国硕士研究生入学统一考试408计算机学科专业基础综合真题 (106)2009年全国硕士研究生入学统一考试408计算机学科专业基础综合真题及详解 (115)说明:江苏科技大学2012年之前参加全国统考408计算机学科专业基础综合,2013年开始自主命题,科目改为845计算机基础综合,2015年之后,科目名改为计算机综合。

为帮助考生全面复习,特提供2009~2012年408计算机学科专业基础综合真题及详解。

第一部分江苏科技大学计算机科学与工程学院845计算机基础综合历年考研真题汇编2014年江苏科技大学计算机科学与工程学院845计算机基础综合考研真题2013年江苏科技大学计算机科学与工程学院845计算机基础综合考研真题第二部分全国硕士研究生入学统一考试408计算机学科专业基础综合历年真题及详解2012年全国硕士研究生入学统一考试408计算机学科专业基础综合真题一、单项选择题:l~40小题。

江苏科技大学c++课程解析实训答案

江苏科技大学c++课程解析实训答案

《解析与实训》习题及实验参考解答目录第一章 (1)第二章 (4)第三章 (9)第四章 (20)第五章 (28)第六章 (32)第七章 (43)第八章 (67)第九章 (68)第十章 (78)第一章一、选择题1. A2.D3.A4.B5.A6.D7.D8.C9.D 10.C11.D 12.C 13.B 14.A 15.C 16.B 17.A 18.C 19.B 20.D21.A 22.D 23.B 24.B 25.B 26.A 27.C 28.B 29.D 30.C 31.A二、填空题1. #include <iostream.h> (或# include "iostream.h")2. 编译连接3. .cpp .obj .exe4. 十5. setw() iomanip.h6. a b c7. a b (注:输出第二项是空格)8. 109. 110. 字符11. 八十六12. 4.013. ; (分号)14. 105 7015. 6016. 817. 718. 1519. int(x) 或(int)x三、编程题1.#include<iostream.h>#define PI 3.1415926void main(){float r,h,area;cout<<"输入圆柱体的半径和高(r,h):"<<endl;cin>>r>>h;area=PI*r*r*h;cout<<" 圆柱体的体积为:"<<area<<endl;}2.#include<iostream.h>void main(){int x,a,b,c ,m,n;cout<<"输入一个三位整数x:"<<endl;cin>>x;a=x/100;b=x/10%10;c=x%10;m=c*100+b*10+a;n=m-x;cout<<" 反序组成的新3位整数为:"<<m<<endl;cout<<" 新3位整数减去原3位整数的值为:"<<n<<endl; }四、实验1.#include<iostream.h>void main(){cout << "中华人民共和国"<<endl ;}2.# include <iostream.h>void main (void){ int a,b,c;cin>>a>>b;c= a+b ;cout<<"c="<<c<<endl;}3.结果:1 0 1 0 1(1)结果为:10 16 16 8 10(2)换成dec结果为:a 10 10 8 a换成oec结果为:12 20 20 10 12 4.# include <iostream.h># include <math.h>void main (void){ int a,b,c,s,area;cout<<" 输入三角形三边长a,b,c:"<<endl; cin>>a>>b>>c;s= (a+b+c)/2 ;area=sqrt(s*(s-a)*(s-b)*(s-c));cout<<"三角形面积为:"<<area<<endl;}第二章一、选择题1.B2.A3.A4.C5.B6.C7.B8.B9.B 10.D 11.B 12.D 13.D 14.D 15.A 16.D 17.C 18.C 19.A 20.C 21.B 22.A 23.D 24.A 25.B 26.B 27.D 28.C 29.B 30.D 31.B 32.A 33.C 34.C二、填空题1. 选择结构循环结构2. if3. break continue4. 循环语句switch语句5. 循环语句6. 1 1 结束循环体的语句7. 60,308. d=209. 110. 1011. y=0 y=5 y=30 error12. 11 713. 2 , 314. 2 , 315. #16. s=6,k=517. 5 7 111318. 0246819.* * * * * ** ** ** * * * * *20. (1) Year / 4 !=0(2) Year / 100 !=0(3) Year / 400 !=021. (1)a<b(2) t=a;a=d;d=t;(3) b<d22. (1) c+=5 (2) c=c-2123. (1) ch>='a'&&ch<='z'|| ch>='A'&&ch<='Z'(2) ch-=32(3) ch+=3224. (1) x>2&&x<=10(2)x>-1(3) y=-125. (1)int i=200(2) i<=300(3) i/100+i/10%10+i%10==12&&(i/100)*(i/10%10)*(i%10)==42 26. (1) i<=100(2) t=s/i(3) s=-s27. (1) n (或n!=0)(2) n<0(3) n/=1028. (1) n=k*k(2) b=n/10%10(3) a==b||b==c||c==a29. (1) i<=30(2) a=a*230. (1) m=n(2) m(3) k>s31. (1) x1(2) x1=x232. (1)d<=4(2) a+i*d三、编程题1.#include<iostream.h>void main(){ int x,y,t,m,n;cout<<"输入两个整数(x,y):"<<endl;cin>>x>>y;if(x>y) {t=x;x=y;y=t;}for(int i=x;i>0;i--)if(x%i==0&&y%i==0){m=i;break;}for( i=y;;i++)if(i%x==0&&i%y==0){n=i;break;}cout<<x<<"和"<<y<<"的最大公约数是:"<<m<<endl;cout<<x<<"和"<<y<<"的最小公倍数是:"<<n<<endl;}2.# include <iostream.h>void main(void){ int s;char score;do{cout <<"请输入百分制分数(0 - 100):";cin >> s;}while(s<0||s>100);switch (s/10) {case 10 :case 9 : score='A';break;case 8 : score='B';break;case 7 : score='C';break;case 6 : score='D';break;default : score='E';break;}cout<<"百分制分数为:"<<s<<'\t'<<"五分制分数为:"<<score<<endl; }3.#include<iostream.h>#include<math.h>void main(void){ float a,b,c;cout<<"输入三角形的三边:";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){ if(a==b&&b==c)cout<<"三角形是等边三角形。

B卷参考答案及评分标准

B卷参考答案及评分标准

江苏科技大学(张家港)2013 -2014 学年 2 学期计算机程序设计VC++ 课程试题 (B)卷标准答案和评分标准二、填空题(每空2分,共40分)●基本概念题(每空2分,共10分)1. (1)delete2. (2)字符型3. (3)private 或私有的4. (4)地址5. (5)0●阅读程序,写出程序运行结果(每空2分,共20分)1. (6) 1 2 2 (7) 2 2 42. (8)30,30,10 (9)10,30,303. (10)10 (11)154. (12)10 (13)75. (14)x=100 y=200 z=300 (15)x=100 y=200 x=100●完善程序题(每空2分,共10分)1. (16)sum=0 (17)i%10==6&&i%3==0 或i%3==0&&i%10==6(18)sum2. (19)a[i]=a[j]; (20)sort(b,10);三、编程题(每题10分,共30分)1.参考程序:#include <iostream.h> long f (int n){long t=1; // 1'for(int i=1;i<=n;i++) //或用while、do…whilet*=i; // 1'return t; // 1'}void main(){long s=0; // 1'for(int i=0;i<=5;i++) // 1's+=f(i);cout<<"1!+2!+3!+4!+5!="<<s<<endl ; // 1'}2.参考程序:#include<iostream.h>void main(){int a[50]; //1'int n,i=0,zheng=0,fu=0;double avg=0;cin>>n; //1'while(n) //1'{a[i++]=n; //1'if(n>0) //1'zheng++; //1'if(n<0) //1'fu++; //1'avg+=n; //1'cin>>n; //1' }cout<<"平均值为:"<<avg/i<<endl;cout<<"整数个数为:"<<zheng<<endl;cout<<"负数个数为:"<<fu<<endl;}3.参考程序:#include <iostream.h>class circle{protected:float r; // 0.5'public:circle(float r1) // 1'{r=r1; }float getr(){return r;} // 1'double area(){return 3.14*r*r;} // 1' };class colum:public circle{ protected:float h; // 0.5'public:colum(float r1,float h1):circle(r1) // 1'{h=h1; }float geth(){return h;} // 1' double vol() // 1'{return area()*h;}};void main(){colum v(1,3); // 1'cout<<"圆柱体属性数据:\n";cout<<"半径:"<<v.getr()<<"米"<<endl; // 2'cout<<"高度:"<<v.geth()<<"米"<<endl; cout<<"面积:"<<v.area()<<"平方米"<<endl;cout<<"体积:"<<v.vol()<<"立方米"<<endl;}。

2022年江苏科技大学计算机科学与技术专业《操作系统》科目期末试卷A(有答案)

2022年江苏科技大学计算机科学与技术专业《操作系统》科目期末试卷A(有答案)

2022年江苏科技大学计算机科学与技术专业《操作系统》科目期末试卷A(有答案)一、选择题1、()结构的文件最适合于随机存取的应用场合。

A.流式B.索引C.链接D.顺序2、无结构文件的含义是()A.变长记录的文件B.索引文件C.流式文件D.索引顺序文件3、下列调度算法中,不可能导致饥饿现象的是()。

A.时间片轮转B.静态优先数调度C.非抢占式短作业优先D.抢占式短作业优先4、进程A和进程B通过共享缓冲区协作完成数据处理,该缓冲区支持多个进程同时进行读写操作。

进程A负责产生数据并放入缓冲区,进程B负责从缓冲区中取出数据并处理。

两个进程的制约关系为()。

A.互斥关系B.同步关系C.互斥与同步D.无制约关系5、若每个作业只能建立“一个进程,为了照顾短作业用户,应采用();为了照顾紧急作业用户,应采用():为了实现人机交,应采用():为了使短作业、长作业,和交互作业用户都满意,应采用()。

I.FCFS调度算法II.短作业优先调度算法,III.时间片轮转调度算法IV.多级反馈队列调度算法V.基于优先级的剥夺调度算法A. II、V、I,IVB. I、V、III、IVC. I、II、IV、IIID.II、V、III、IV6、假设一个“按需调页”虚拟存储空间,页表由寄存器保存。

在存在空闲页帧的条件,下,处理一次缺页的时间是8ms。

如果没有空闲页面,但待换出页面并未更改,处理一次缺页的时间也是8ms。

若待换出页面已被更改,则需要20ms。

访问一次内存的时间是100ns。

假设70%的待换出页面已被更改,请问缺页率不超过()才能保证有效访问时间小于或等于200ns?A.0.6×10-4B.1.2×10-4C.0.6×10-5D.1.2×10-57、在请求分页系统中,页面分配策略与页面置换策略不能组合使用的是()。

A.可变分配,全局置换B.可变分配,局部置换C.固定分配,全局置换D.固定分配,局部置换8、下列选项中,在用户态执行的是()。

2022年江苏科技大学计算机科学与技术专业《计算机系统结构》科目期末试卷A(有答案)

2022年江苏科技大学计算机科学与技术专业《计算机系统结构》科目期末试卷A(有答案)

2022年江苏科技大学计算机科学与技术专业《计算机系统结构》科目期末试卷A(有答案)一、选择题1、费林按指令流和数据流的多倍性把计算机系统分类,这里的多倍性指()。

A.系统瓶颈部件上处于同一执行阶段的指令流是数据流的多少倍。

B.系统瓶颈部件上处于同一执行阶段的数据流是指令流的多少倍。

C.系统瓶颈部件上处于同一执行阶段的指令或数据的最大可能个数。

D.A和B2、"一次重叠"中消除"指令相关"最好的方法是( )。

A.不准修改指令B.设相关专用通路C.推后分析下条指令D.推后执行下条指令3、对机器语言程序员透明的是( )。

A.中断字B.主存地址寄存器C.通用寄存器D.条件码4、输入输出系统硬件的功能对()是透明的。

A.操作系统程序员B.应用程序员C.系统结构设计人员D.机器语言程序设计员5、在计算机系统的层次结构中,机器被定义为()的集合体A.能存储和执行相应语言程序的算法和数据结构B.硬件和微程序(固件)C.软件和固件D.软件和硬件6、与全相联映象相比,组相联映象的优点是( )A.目录表小B.块冲突概率低C.命中率高D.主存利用率高7、计算机组成设计不考虑( )。

A.专用部件设置B.功能部件的集成度C.控制机构的组成D.缓冲技术8、计算机系统结构不包括( )。

A.主存速度B.机器工作状态C.信息保护D.数据9、Cache存贮器常用的地址映象方式是( )。

A.全相联映象B.页表法映象C.组相联映象D.段页表映象10、若输入流水线的指令既无局部性相关,也不存在全局性相关,则()。

A.可获得高的吞吐率和效率B.流水线的效率和吞吐率恶化C.出现瓶颈D.可靠性提高11、下列关于虚拟存贮器的说法,比较正确的应当是( )A.访主存命中率随页面大小增大而提高B.访主存命中率随主存容量增加而提高C.更换替换算法能提高命中率D.在主存命中率低时,改用堆栈型替换算法,并增大主存容量,可提高命中率12、下列说法正确的是()A."一次重叠"是一次解释一条指令B."一次重叠"是同时解释相邻两条指令C.流水方式是同时只能解释两条指令D."一次重叠"是同时可解释很多条指令13、指令间“一次重叠”说法有错的是( )A.仅“执行k”与“分析k+1”重叠B."分析k”完成后立即开始“执行k”C.应尽量使“分析k+1”与“执行k”时间相等D.只需要一套指令分析部件和执行部件14、在多用户机器上,应用程序员不能使用的指令是()A.“执行”指令B.“访管”指令C.“启动IO”指令D“测试与置定”指令15、直接执行微指令的是( )A.汇编程序B.编译程序C.硬件D.微指令程序二、填空题16、LRU替换算法的实现方法有________和________17、交叉访问存储器通常有两种交叉编址方式:________和________18、多体存储器属________而存储层次属________19、基准网络的开关控制方式为________采用________法实现单元控制。

实践考试试题及答案

实践考试试题及答案

实践考试试题及答案一、选择题1. 下列哪种编程语言不支持面向对象编程?A. JavaB. PythonC. CD. C++答案:C解析:C语言是一种面向过程的编程语言,不支持面向对象编程。

2. 在HTTP协议中,以下哪个状态码表示“未找到”?A. 200B. 404C. 500D. 403答案:B解析:404状态码表示请求的资源未找到。

3. 数据库中,下列哪种索引最适合快速查找?A. 哈希索引B. B-Tree索引C. 全文索引D. 位图索引答案:B解析:B-Tree索引适用于快速查找,因为它可以有效地处理大量数据。

4. 在Python中,以下哪个函数用于实现冒泡排序?A. sorted()B. sort()C. bubble_sort()D. list.sort()答案:C解析:Python标准库中没有直接提供冒泡排序的函数,但可以使用自定义的bubble_sort()函数实现。

二、填空题1. 在计算机科学中,二叉树的遍历方式有前序遍历、中序遍历和________遍历。

答案:后序遍历解析:二叉树的遍历方式包括前序遍历、中序遍历和后序遍历。

2. 在HTML中,用于定义文档元信息的标签是________。

答案:`<head>`解析:`<head>`标签用于定义文档的头部信息,如标题、字符编码、样式等。

3. 在CSS中,用于设置元素水平居中的属性是________。

答案:`text-align: center;`解析:`text-align: center;`属性可以设置元素的文本水平居中。

4. 在JavaScript中,用于获取当前日期和时间的函数是________。

答案:`new Date()`解析:`new Date()`函数可以创建一个表示当前日期和时间的Date对象。

三、编程题1. 编写一个Python函数,实现输入一个字符串,输出字符串中所有字符的ASCII码。

```pythondef print_ascii(s):for char in s:print(ord(char))# 测试print_ascii("Hello, World!")```答案:```pythondef print_ascii(s):for char in s:print(ord(char))print_ascii("Hello, World!")```2. 编写一个C++程序,实现输入一个整数数组,输出数组的最大值和最小值。

(完整版)江苏科技大学VC++程序实践答案

(完整版)江苏科技大学VC++程序实践答案

(完整版)江苏科技大学VC++程序实践答案江苏科技大学VC++实践报告一、实践任务任务一(第2题):试建立一个类SP,求f(n,k)=1^k+2^k+3^k+…+n^K,另有辅助函数power(m,n),用于求m^n。

具体要求如下:(1)私有成员数据:int n,k:存放公式中n和k得值。

(2)公有成员函数:SP(int n1,int k1):构造函数,初始化成员数据n和k。

int power(int m,int n):求m^n。

int fun( ):求公式的累加和。

void show( ):输出求的结果。

(3)在主程序中定义对象s,对该类进行测试。

任务一分析1、任务分析通过SP的成员函数power( )可求出m^n的值,再通过累加函数fun(),可求出累加和。

类的定义如下:#includeclass SP{int n,k;public:SP()int power()int fun()void show()};2、算法设计求m^n:定义变量P=1,循环n次,每次循环P乘以m求累加和:定义变量S=0,通过for循环,将power()函数计算的结果累加。

3、系统测试在主函数中用整数初始化SP的对象,并调用成员函数show()输出结果。

主函数定义如下:void main(){SP a(2,3);a.power(2,3);a.fun();a.show();}用以测试的数据为:n=2,k=3;预期的输出结果为:当n=2,k=3时,f(n,k)=9任务一程序#includeclass SP{int n,k;public:SP(int n1,int k1){n=n1;k=k1;}int power(int m,int n){int p=1;for (int i=1;i<=n;i++)p*=m;return p;}int fun(){int s=0;for (int i=1;i<=n;i++)s+=power(i,k);return s;}void show(){cout<<"当n="<<n<<",k="<<k<<"时,f(n,k)="<<fun()<<endl;< p="">}};{SP a(2,3);a.power(2,3);a.fun();a.show();}任务二(第24题):建立一个NUM,并统计特定序列中相同的字符的个数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1,#include <iostream.h>class PP{int n;double x;double *p;public:PP(int num,double x1);~PP();double fun(int n1,double x);void process();void show();};PP::PP(int num,double x1){n=num;x=x1;p=new double[n+1];}PP::~PP(){if(p) delete[]p;}double PP::fun(int n,double x){if(n==0) return 1;else if(n==1) return x;else return ((2*n-1)*x*fun(n-1,x)-(n-1)*fun(n-2,x))/n; }void PP::process(){int i;for(i=0;i<=n;i++)p[i]=fun(i,x);}void PP::show(){int count=0;cout<<"n="<<n<<'\t'<<"x="<<x<<endl;for(int i=0;i<n;i++){cout<<p[i]<<'\t';count+=1;if(count%4==0) cout<<'\n';}}void main(){int num;double x1;cout<<"num=";cin>>num;cout<<"x1=";cin>>x1;PP items(num,x1);items.process();items.show();}2. #include<iostream.h>class sp{private:int n,k;public:sp(int n1,int k1);int powers(int m,int n);int fun(int m,int n);void show();};sp::sp(int n1,int k1){k=k1;}int sp::powers(int m,int n){int i,p=1;for(i=1;i<=n;i++)p*=m;return p;}int sp::fun(int n,int k){int s=0;for(int i=1;i<=n;i++)s+=powers(i,k);return s;}void sp::show(){cout<<fun(n,k)<<endl;}void main(){cin>>x>>y;sp s(x,y);s.show();}3. #include<iostream.h>class move{privatefloat array[20];int n;public:move(float b[],int m){for(int i=0;i<m;i++)array[i]=b[i];n=m;}void average(){float sum=0,ave;for(int i=0;i<n;i++)sum+=array[i];ave=sum/20;float Array[20],*p1=Array,*p2=Array;for(i=1;i<n;i++) p2++;for(i=0;i<n;i++){if(array[i]<=ave) *(p1++)=array[i];else *(p2--)=array[i];}for(i=0;i<n;i++)array[i]=Array[i];}void print(){cout<<"执行后的数据为:"<<endl;for(int i=0;i<n;i++)cout<<'\t'<<array[i];cout<<endl;}};void main(){float b[9]={1.3,6.2,3,9.1,4.8,7.4,5.6,9.2,2.3};cout<<"原数据为:"<<endl;for(int i=0;i<9;i++)cout<<'\t'<<b[i];cout<<endl;move s(b,9);s.average();s.print();}4. #include<iostream.h>class MOVE{int *array;int n;public:MOVE(int b[],int m){n=m;array=new int[n];for (int i=0;i<n;i++){array[i]=b[i];}}void exchange(){float x=0;int max=0,m=0,min=0;for(int i=0;i<n;i++){x+=array[i];if(array[i]>array[max]){max=i;}if(array[i]<array[min]){min=i;}}x/=n;cout<<"平均数为:"<<x<<endl;x=array[min];array[min]=array[max];array[max]=x;}void print(){for(int i=0;i<n;i++){cout<<array[i]<<'\t';}}~MOVE(){delete array;}};void main(){int s[10]={21,65,43,87,12,84,44,97,32,55};MOVE a(s,10);a.exchange();a.print();}5. #include <iostream.h>#include <string.h>class palindrome{int n;int y;public:palindrome (int x);void huiwen();void show();};palindrome:: palindrome(int x){n=x;y=0;}void palindrome::huiwen(){int a[20],b[50],k=n,s=n,i=0,count=0;while(k){a[i]=k%10;k=k/10;i++;count++;}for( i=0;i<count;i++,count--)if(a[i]==a[count]) y=1;else {y=0;break;}if(y==1){int i=0,j=0;while(s){b[i]=s%2;s=s/2;i++;j++;for( i=0;i<j;i++)if(b[i]==b[j]) { y=1;j--;}else {y=0;break;}}if(y==1)cout<<"是绝对回文字符串"<<endl;if(y==0)cout<<"不是绝对回文字符串"<<endl; }void palindrome::show(){cout<<n;}void main(void){int a;cout<<"请输入a=";cin>>a;palindrome p(a);p.show();p.huiwen();}6. #include <iostream.h>#include <string.h>class String{char *str;int y;public:String(char*s){if(s){str=(char*)new char[strlen(s)+1];strcpy(str,s);}else str=0;}void huiwen();void show();};void String::huiwen(){char *t1,*t2;t1=t2=str;while(*t2) t2++;t2--;while (t1<t2){if(*t1++!=*t2--) y=1;}}void String::show(){cout<<str<<endl;if(y) cout<<"不是回文字符串"<<endl;else cout<<"是回文字符串"<<endl; }void main(){char s[]="ababcedbaba";String text(s);text.huiwen();text.show();}7. #include<iostream.h>class phalanx{int (*p)[20];int startnum;int n;public:phalanx(int s[20][20],int m){startnum=1;p=s;n=m;}void process(){p[0][0]=startnum;for(int i=0;i<n;i++)for(int j=0;j<n;j++){if(i>j){p[i][j]=1+i*i+i+i-j;}else{p[i][j]=1+j*j+i;}}}void print(){for(int i=0;i<n;i++){for(int j=0;j<n;j++) cout<<'\t'<<p[i][j];cout<<'\n';}}~ phalanx() { }};void main(){int m;int s[20][20];cout<<"请输入折叠层数:";cin>>m;cout<<'\n';phalanx pp(s,m);pp.process();pp.print();}9. #include<iostream.h>#include<string.h>class CString{char *str;int size;int maxsize;public:CString(){str=NULL;size=0;maxsize=0;}void Count(CString & s);friend ostream& operator<<(ostream &ostr,const CString & s);friend istream& operator>>(istream &istr,CString & s);};void CString::Count(CString &s){int i,k;for(i=0;i<s.size;i++){int m=1;for(k=i+1;k<s.size;k++){if(s.str[i]==s.str[k]){for(int n=k;n<s.size;n++){s.str[n]=s.str[n+1];}s.size--;s.maxsize--;m++;}}cout<<s.str[i]<<"的个数:"<<m<<endl;}}ostream & operator<<(ostream &ostr,const CString &s) {cout<<"s.size="<<s.size<<endl;cout<<"s.str="<<s.str<<endl;return ostr;}istream& operator>>(istream &istr,CString &s){delete []s.str;cout<<"输入字符串的元素个数:";cin>>s.size;s.maxsize=s.size+1;s.str=new char[s.maxsize];cout<<"输入字符串:";for(int i=0;i<s.size;i++)cin>>s.str[i];s.str[s.size]=NULL;return istr;}void main(){CString s;cin>>s;cout<<s;s.Count(s);}1113#include <iostream.h>class MOVE{int array[20];int n;public:MOVE(int b[],int m){n=m;for(int i=0;i<n;i++){array[i]=b[i];}}void change(){for(int j=0;j<3;j++){int a=array[n-1];for(int i=n-1;i>0;i--){array[i]=array[i-1];}array[0]=a;}}void print(){for(int i=0;i<n;i++)cout<<array[i]<<'\t';}};void main(){int s[10]={21,65,43,87,12,84,44,97,32,55};MOVE test(s,10);test.change();test.print();}14. #include<iostream.h>#include<string.h>class move{char *array;int n;public:move(char b[],int m){n=m;array=new char[strlen(b)+1];strcpy(array,b);}void change();void print();~move(){delete[]array;}};void move::change(){char Aa[20];int j=0,k=n;for(int i=0;i<n;i++)if(array[i]>='A'&&array[i]<='Z'){Aa[j]=array[i];j++;}else{Aa[k-1]=array[i];k--;}for(i=0;i<n;i++)array[i]=Aa[i];array[n]=0;}void move::print(){for(int i=0;i<n;i++)cout<<array[i];cout<<endl;}void main(){char b[]={"fdsUFfsTjfsKFEkWC"};move test(b,17);test.change();test.print();}15. #include<iostream.h>#include<string.h>class Carray{int *a;int n;int b;public:Carray(int m[],int n1,int x){ a=m;for(int i=0;i<n1;i++)a[i]=m[i];n=n1;b=x;}void Transform(){int i;int x;int T[10];for(i=0;i<n;i++){ x=*a++;T[i]=(b*x+i);}a=T;}void show(){for(int i=0;i<10;i++)cout<<*a<<'\t';cout<<endl;}~Carray(){delete a;}};void main(){int arr[]={1,2,3,4,5,6,7,8,9,10};int b;int i=10;//i=strlen(arr);cout<<"请输入b=";cin>>b;Carray test(arr,i,b);test.Transform();test.show();}17. #include<iostream.h>#include<math.h>class SIN{private:int x;int n;public:SIN(int a,int b){x=a;n=b;}int power(int q){int c;if(q==1||q==0) c=1;else c=q*power(q-1);return c;}int mi(int m,int n){int p=1;for(int i=0;i<n;i++)p=p*m;return p;}double fun(){double sum,s;s=1;sum=0;for (int j=1;j<=n;j++){s=s*mi(x,2*j-1)/power(2*j-1);sum+=s;s=-1;}cout<<sum<<endl;return sum;}void show(){cout<<"结果为"<<fun()<<endl;}};void main(){SIN test(1,2);test.fun();test.show();}18. #include <iostream.h>class VAR{private:double a[100];int n;public:V AR(double x[],int n1){n=n1;for(int i=0;i<n;i++)a[i]=x[i];}double average(double x[],int n){double xp, s=0;for(int i=0;i<n;i++){s=s+a[i];}xp=s/n;return xp;}double variance(double x[],int n){double b=0.00,d;for(int i=0;i<n;i++){b=b+(x[i]-average(a,n))*(x[i]-average(a,n));}d=b/n;return d;}void show(double x[],int n){cout<<"标准差是:"<<variance(x,n)<<endl;}};void main(){double e[100]={1,2,3,4,5};V AR c(e,5);c.show(e,5);}19. #include<iostream.h>class Array{int a[4][4];public:Array(int a1[][4],int n){for(int i=0;i<n;i++)for(int j=0;j<4;j++)a[i][j]=a1[i][j];}void xuanzhuan();void show();};void Array::xuanzhuan(){int a2[4][4];for(int i=0;i<4;i++)for(int j=0;j<4;j++)a2[j][3-i]=a[i][j];for(int k=0;k<4;k++)for(int h=0;h<4;h++)a[k][h]=a2[k][h];}void Array::show(){for(int i=0;i<4;i++){for(int j=0;j<4;j++){if(a[i][j]<10)cout<<" "<<a[i][j]<<" ";elsecout<<a[i][j]<<" ";}cout<<endl;}}void main(){int b[][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};Array test(b,4);cout<<"原二维数组为:"<<endl;test.show();test.xuanzhuan();cout<<"旋转后的二维数组为:"<<endl;test.show();}20. #include <iostream.h>class Array{private:int a[4][4];public:Array(int a1[][4],int n){for(int i=0;i<n;i++)for(int j=0;j<4;j++)a[i][j]=a1[i][j];}void xuanzhuan(){int b[4][4];for(int i=0;i<4;i++)for(int j=0;j<4;j++)b[i][j]=a[i][j];for( i=0;i<4;i++)for(int j=0;j<4;j++)a[3-j][i]=b[i][j];}void show(){for(int i=0;i<4;i++){for(int j=0;j<4;j++)cout<<a[i][j]<<'\t';cout<<'\n';}}};void main(){int b[][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};Array test(b,4);test.xuanzhuan();test.show();}23. #include <iostream.h>class Fract{private:int num,den;public:Fract(int a=0,int b=1){num=a;den=b;}int ged(int m,int n){int k,i,D;if(m<=n)k=m;else k=n;for( i=k;i>=1;i--)if(m%i==0&&n%i==0)break;D=m*n/i;return D;}Fract add(Fract f){Fract temp;int k,i;temp.den=ged(den,f.den);temp.num=temp.den/den*num+temp.den/f.den*f.num;if(temp.den<=temp.num)k=temp.den;else k=temp.num;for( i=k;i>=1;i--)if(temp.den%i==0&&temp.num%i==0){temp.den=temp.den/i;temp.num=temp.num/i;break;}return temp;}void show(){cout<<"两分数之和为"<<num<<"/"<<den<<endl;} };void main(){Fract f1(1,5),f2(7,20),f3;f3=f1.add(f2);f3.show();}27. #include<iostream.h>#include<math.h>class NUM{private:int data[10];int prime[10];int num;public:NUM(int n[]){num=0;for(int i=0;i<=10;i++){data[i]=n[i];prime[i]=0;}}int isprime(int m){for(int i=2;i<=sqrt(m)+1;i++){if(m%i==0){return 0;}}return 1;}void process(){int n=0;for(int i=0;i<=9;i++){if(isprime(data[i])){ prime[n]=data[i];++n;num=n;}}}void print(){cout<<num<<endl;for(int i=0;i<=9;i++){if (prime[i])cout<<prime[i]<<'\t';}cout<<endl;}};void main(){int x[10]={4,5,9,11,36,29,31,101,56,199}; NUM test(x);test.process();test.print();}。

相关文档
最新文档