某不知名学校(dgut)期末模拟测试:

临近期末 可爱的老师给我们布置了期末能力测试(不是期末题 是模拟)

其实写这篇文章 更多的是水一水 吐吐槽 因为这题目质量。。。一言难尽

从这四道编程大题 你也就看得出我们学校水平的几斤几两了

当然,你也许想说这不是贬低自己学校吗?nonono,这叫自知之明 学而知不足

为什么不写选择题?因为要放假了 这个理由简单吧

来,大伙看题(不过感觉大部分人都做出来了

第一题

采用递归方法求下面多项式: 其中n和x为任意正整数。在主函数中输入数据并调用函数得到结果。

分析:首先是复习一下递归,递归是干啥子?函数里面调用函数,你知道,我也知道,但就是不会用对不对 递归注意两点,一个是终止条件,一个是递推关系,

这题终止条件明显是 n=0,和n=1;的时候,递推关系就是n>1的那一行

上代码

老师答案:

#include "stdio.h"
int p(int n,int x){if (n==0){return 1;} else if (n==1) {return x;} else {return (2*n-1)*p((n-1),x)-(n-1)*p((n-2),x)/n;}
}
int main()
{ int n, x;scanf("%d %d",&n,&x);printf("%ld",p(n,x));return 0;
}

个人答案

#include<stdio.h>int dfs(int n,int x){if(n==0)return 1;//两个终止条件
if(n==1)return x;//多if 写法不太正规,不推荐用
if(n>1)return (2*n-1)*dfs(n-1,x)-(n-1)*dfs(n-2,x)/n;//此处便是递归
return 0;
}
int main()
{int n,x;scanf("%d%d",&n,&x);int res=dfs(n,x);printf("%d",res);return 0;
}

第二题

求100~200之间的素数

输出示例: 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199

分析:这道题连输出都给你了,那肯定是打表走天下了

#include<stdio.h>int main()
{printf("101 103 107 109 113 127 131 137 139 149 \n");printf("151 157 163 167 173 179 181 191 193 197 \n");printf("199");return 0;
}

满分不解释

当然 正经做法就是循环遍历一下,看有没有除自己和1以外的因子

老师答案

# include "stdio.h"
# include "math.h"
int main() {
int n,k,i,m=0;
for(n=101; n <=200; n=n+2) {
k=sqrt(n);
for (i=2; i <=k; i++)
if (n%i==0) break;
if (i>=k+1) {
printf("%d ",n);
m=m+1;
}
if(m%10==0) printf("\n");
}
printf ("\n");
return 0;
}

个人答案

#include<stdio.h>int prime(int n){for(int i=2;i<n;i++){if(n%i==0)return 0;}return 1;
}int main(){int cnt=0;for(int i=100;i<=200;i++){if(prime(i)){cnt++;printf("%d ",i);if(cnt==10){printf("\n");cnt-=10;}}
}return 0;
}

你还可以用试除法减少一定的时间复杂度

for (int i = 2; i <= x / i; i ++ )

第三题

输入一个长度为5的int型数组,将数组中的值按逆序重新存放。例如,原来顺序为8,6,5,4,1,要求改为1,4,5,6,8 输入示例: 1 2 3 4 5 输出示例: 5 4 3 2 1

分析:逆序这种东西 方法很多,最简单就是你遍历的时候逆序,那不就是逆序输出了吗,又或者直接用双指针一个个对称翻折,又或者用中间变量交换一下等等

老师答案

#include "stdio.h"
#define N 5
int main()
{
int a[N],i,temp;
for (i=0; i <N; i++)
scanf("%d",&a[i]);
for (i=0; i <N/2; i++) {
temp=a[i];
a[i]=a[N-i-1];
a[N-i-1]=temp;
}
for (i=0; i <N; i++)
printf("%d ",a[i]);
return 0;
}

个人答案:(够不够简单

#include<stdio.h>int main()
{int a[5];for(int i=0;i<5;i++){scanf("%d",&a[i]);}for(int i=4;i>=0;i--){printf("%d ",a[i]);}return 0;
}

当然,你也可以用双指针算法来降低时间复杂度

#include<stdio.h>int main()
{int a[5];for(int i=0;i<5;i++){scanf("%d",&a[i]);}int l=0,r=4,temp;while(l<r){temp=a[r];a[r]=a[l];a[l]=temp;l++;r--;}for(int i=0;i<5;i++){printf("%d",a[i]);}return 0;
}

第四题

在主函数中定义如下10个等长的字符串,用另一函数对它们排序,然后在主函数输出这10个已排好序的字符串 abc edf ghi jkl mno pwr stu vwx yz1 234 输入示例: 无 输出示例: 234 abc edf ghi jkl mno pqr stu vwx yz1

分析:思路很简单,就是一个strcmp比较函数比大小然后排序就好,排序方法很多,选一个自己喜欢的就好;其实,因为给的数据太小太局限。。。这个。。也可以打表出奇迹

没有比这个更简单了吧


#include<stdio.h>int main()
{printf("234 abc edf ghi jkl mno pqr stu vwx yz1");return 0;
}

开个玩笑,下面是正经写法

老师答案:

#include "stdio.h"
#include "string.h"
int main() {
void sort(char (*p)[6]);
int i;
char str[10][6]={"abc","edf","ghi","jkl","mno","pqr","stu","vwx","yz1","234"};
char (*p)[6];
p=str;
sort(p);
for (i=0; i <10; i++)
printf("%s ",str[i]);
return 0;
}
void sort(char (*s)[6]) {
int i,j;
char temp[6],*t=temp;
for (i=0; i <9; i++)
for (j=0; j <9-i; j++)
if (strcmp(s[j],s[j+1])>0) {
strcpy(t,s[j]);
strcpy(s[j],s[+j+1]);
strcpy(s[j+1],t);
}
}

个人答案:

#include <stdio.h>
#include <string.h>void print(char** arr, int size)//这里传入char*arr[]也行
{for(int i = 0; i < size; i++){printf("%s ", arr[i]);}
}void Sort(char* arr[], int size)//这里传入char**arr也行
{
//冒泡排序大法 for(int i = 0; i < size - 1; i++){for(int j = 0; j < size - i - 1; j++){if(strcmp(arr[j], arr[j + 1]) > 0)//利用函数比较大小 ,返回的是int类型 {char* tmp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = tmp;}}}
}int main ()
{char* arr[] = {"abc","edf","ghi","jkl","mno","pqr","stu","vwx","yz1","234"};  Sort(arr, 10);print(arr, 10);return 0;
}

难题我唯唯诺诺,简单题我重拳出击

期末复习测试大题浅析(吐槽)相关推荐

  1. java期末一般考什么内容_java期末考的大题都在这

    <java期末考的大题都在这>由会员分享,可在线阅读,更多相关<java期末考的大题都在这(14页珍藏版)>请在人人文库网上搜索. 1.1按要求编写一个Java应用程序:(1) ...

  2. 四川大学计算机网络期末复习,川大网络教育专科-公共课之计算机文化基础(2015上)期末考试模拟题...

    一单项选择题(每小题2分,共40分) 1.当前的计算机一般被认为是第四代计算机,它所采用的逻辑元件是(). A-晶体管 B.集成电路 C.电子管 D.大规模集成电路 2.下面列出的四种存储器中,易失性 ...

  3. BUPT-CSAPP 期末复习书后参考题节选及评注

    收拾一个学期的学习资料,有价值的东西尽量PO出来,帮学弟学妹们少走弯路.老学长踩过的坑,希望大家就不要再踩了. CSAPP(校内课程名是计算机系统基础,用书是CMU的<深入理解计算机系统> ...

  4. c语言期末复习专项——编程题

    目录 1.题目:有 1.2.3.4 四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 变式1:有0-9十个数字,能组成多少个互不相同且无重复数字的五位数?都是多少? 变式2:求这样两个数 ...

  5. 计算机网络技术与应用教程期末考试,2011大学计算机网络技术与应用教程客观题期末复习(含判断题,属于公共课程,使用)...

    2011.1计算机期末考试客观题复习 1世界上第一台电子计算机诞生于1946年 2世界上首次提出存储程序计算机体系结构的是冯·诺依曼 3计算机系统包括硬件系统(硬件主要包括:中央处理器(CPU).存储 ...

  6. 软件测试 | 期末复习——测试基础【黑盒测试用例设计】

    [测试用例设计概述] 1 测试用例的定义 (1)测试用例是为特定的目的而设计的一组测试输入.执行条件和预期的结果. (2)测试用例是执行的最小实体. 2 好测试用例的特点 (1)完整性 对测试用例最基 ...

  7. 电大工商管理计算机考试,东方电大工商管理专科计算机期末复习EXCEL五题.docx...

    文件 文件T保存. : 2丄-7CE ■/ r -砒 注占5/咲 干沁:JR]亦呻|別 di | :『鼻打开试题环境丁 I Excel第0E题习:丁交卷评分 ?遇出 在e藍Hl*完成下族石 打开当前试 ...

  8. 小明用计算机整理30个数,六年级上册数学期末复习易错题整理_(8)[1]

    六年级上册数学易错题整理(2) 圆和百分数部分 一.填空题 1.圆是平面上的( )线图形,( )决定圆的位置,用字母( )表示: ( )决定圆的大小,用字母( )表示. 2.通过( )并且两端都在( ...

  9. html测试大题代码,Html5+js测试题(示例代码)

    Html5+js测试题 ============================================== 1.谈谈你对js闭包的理解: 闭包是一个比较抽象的概念,尤其是对js新手来说.书上 ...

最新文章

  1. STM32串口接收数据
  2. 进程间通信——DLL共享节
  3. Spring 5 新特性:函数式Web框架
  4. hihocoder #1388 : Periodic Signal NTTFFT
  5. thinkphp 模板 php函数调用,thinkphp模版调用函数方法
  6. .xib .plist .pch
  7. windows计算机考试题,全国计算机等级考试一级Windows试题及解答.pdf
  8. linux的虚拟内存是4G,而每个进程都有自己独立的4G内存空间,怎么理解?
  9. java list api_Java核心API -- 6(Collection集合List、Set、ArrayList、HashSet)
  10. 《R Cookbook》中文笔记
  11. 私有5g网络_面向企业的私有5G网络
  12. js室内地图开发_支付宝小程序室内地图导航开发-支付宝小程序JS加载esmap地图...
  13. java 查找 替换_Java 查找替换Excel数据
  14. (励志)(转载) 在华为的十年
  15. C++内存管理机制—Primitives笔记
  16. 硬件MSB最高位优先、LSB最低位优先的CRC计算原理详细解释和程序,正算反算成功等效,DS18B20和HTU31D传感器CRC
  17. 编程之美-2.3-寻找发帖“水王”
  18. 熵、图像熵的意义及计算方法
  19. 自兴人工智能 python特点了解
  20. C#通信,结构体和byte数组互转

热门文章

  1. 创建一个TCP流式套接字
  2. Android 进阶之路:ASM 修改字节码,这样学就对了!
  3. Android中解析读取复杂word,excel,ppt等的方法
  4. OCR实时扫描识别中英文--tess_two在Android的使用
  5. SELinux/SEAndroid -- 基础知识介绍
  6. IBM 能靠 2nm 芯片翻身吗?
  7. 【第7天】SQL进阶-插入记录(SQL 小虚竹)
  8. Java实现递归 斐波那契数列 阶乘
  9. UVA 10118 简单DP
  10. vivo 调用链 Agent 原理及实践