码图
专栏下为uestc21级码图作业题目,致力于解答初学者疑惑。
Fish_in_UESTC
冲鸭,uestcer~!
展开
-
#74 约瑟夫游戏
题目描述:约瑟夫游戏的主要问题:输入:总人数 N 剩余人数 K 间隔人数 M其中的间隔人数为实际间隔的人数,如果剩余人数为0,则输出0。比如,输入8 4 3(空格分隔输入) 输出1,3,6,7(逗号分隔输出)输入数据错误时,输出ERROR分析过程如下:1、初始状态 1 2 3 4 5 6 7 82、间隔三个删除, 4,83、余下人数大于4,流程继续删除 5,24、现在剩下人数4人=K,剩余输出余下的人有:1,3,6,7参考代码:#inclu原创 2021-12-28 18:39:33 · 4269 阅读 · 3 评论 -
#ex9 C语言标准实验报告
实验内容:上机完成以下编程实验,调试运行程序并完成报告。1.输入一个数,使用质数表对其进行因式分解。注:因式分解基本上就是使用小于输入数的数值当作除数,去除以输入数值,如果可以整除就视为因数,要比较快的解法使用质数表的方法,该方法就是求出小于该数的所有质数,并试试看是不是可以整除,从而完成因式分解。2.求10000以内的所有完美数,要求程序要有较高的运算效率。说明:如果有一数n,其真因数(Proper factor)的总和等于n,则称之为完美数(Perfect Number),例如以下几个原创 2021-12-10 08:50:55 · 2344 阅读 · 0 评论 -
#ex8 C语言标准实验报告
实验内容:从文件中读取学生信息并打印。完成以下编程实验,调试运行程序并完成报告。设每个学生包含如下信息: 属性名 姓名 专业名称 英语成绩 线性代数成绩 C成绩 总成绩 类型 字符串 字符串 整数 整数 整数原创 2021-12-05 11:32:06 · 8290 阅读 · 5 评论 -
#ex10 C语言标准实验报告
实验内容:上机完成以下编程实验,调试运行程序并完成报告。编写矩阵定义、初始化函数; 编写矩阵加法函数; 编写矩阵减法函数; 编写矩阵乘法函数; 编写求矩阵均值函数; 编写求一个矩阵的子阵函数; 编写矩阵输出函数; 编写主控函数;主要函数和结构参考原型如下:typedef struct{double ** mat;int row;int col;}Matrix;void InitialMatrix(Matrix *T, int row,int col)原创 2021-12-01 10:02:22 · 3412 阅读 · 9 评论 -
#119 求5个正整数的最小公倍数
题目描述:编写程序,从键盘输入5个正整数,然后求出它们的最小公倍数,并显示输出。(通过调用对两个正整数求最小公倍数的函数实现)(参考函数原型:int find(int director, int j))输入输出格式要求: 编写函数int find(int director, int j);返回值为director和j的最小公倍数 在main函数接收5个正整数,然后输出最小公倍数例如:输入:2 3 6 9 10回车输出:90参考代码:#include<stdio.h>原创 2021-11-26 20:13:05 · 1777 阅读 · 0 评论 -
#57 统计字符串个数
题目描述:写一个函数,实现统计字符串的既不是数字也不是字母的元素个数。函数原型:Int CalString(char *str);你需要先自己写main函数测试您的函数是否能够正确运行,测试结束后删除main函数再递交。参考代码:#include<stdio.h>int CalString(char *str);int main(){ char s[100]; scanf("%s",s); printf("%d",CalString(s)); return原创 2021-11-26 20:02:59 · 1475 阅读 · 0 评论 -
#52 将输入字符串变为大写
题目描述:接收输入的一个字符串(无空格、制表符等),将字符串中的小写字母转换为大写字母,输出转换后的字符串,最后必须输出回车。最长输入20个有效字符(不包括回车)。例如输入:apple 输出:APPLE如果字符串中包含了其他字符,均不进行转换,只转换小写字母为大写字母。如输入:test2test* 输出:TEST2TEST*参考代码:#include<stdio.h>int main(){ int num=1; char c; c=getchar(); wh原创 2021-11-25 13:20:15 · 3013 阅读 · 3 评论 -
#33 mystrcpy
题目描述:实现字符串的拷贝。void my_strcpy(char * destination,char * source);将source指向的字符串拷贝到destination指向的位置。注意:使用空格字符来表示字符串的结束。例如source指向位置,依次保存了字符'a',字符'b',字符空格' ',字符'c',则source指向的字符串为"ab"。遇到异常情况,输出"error";否则不要随意输出,会视为错误。参考代码:#include<stdio.h>原创 2021-11-25 13:06:36 · 2960 阅读 · 0 评论 -
#47 将输入字符串原封不动输出
题目描述:接收输入的一个字符串(无空格、制表符等),原封不动输出该字符串,最后必须输出回车。最长输入20个有效字符(不包括回车)。例如输入:apple 输出:apple输入:test2test* 输出:test2test*参考代码:#include<stdio.h>int main(){ char s[24]; gets(s); puts(s); return 0;}讲解: 这是什么水题鸭?求实求真,大气大为。...原创 2021-11-24 17:42:13 · 1475 阅读 · 1 评论 -
#20 找出1-1000之间的完数
题目描述:一个数如果恰好等于它的因子之和,就被成为完数。例如6的因子为1,2,3,而6=1+2+3,所以6是一个完数。编程找出1-1000之间的所有完数,并按照从小到大的顺序输出,输出的每个数都必须以回车结尾。参考代码:#include<stdio.h>#include<math.h> void Perfect(int n){ int i,j; for(i=2;i<n;i++) { int now=sqrt((double)i); int原创 2021-11-24 17:35:37 · 1811 阅读 · 1 评论 -
#13 计算Fibonacci数
题目描述:有一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第三个月后每个月又生一对兔子。假设所有的兔子都不死,问第n个月时有几对兔子。即求第n个Fibonacci数。例如输入1,输出1;输入2,输出1;输入3,输出2;输入4,输出3;参考代码:#include<stdio.h>int main(){ int n,num[10001]; num[1]=1; num[2]=1; scanf("%d",&n); for(int i=3;i&l原创 2021-11-21 15:01:41 · 714 阅读 · 1 评论 -
#6 实现指定函数maxInt
题目描述:实现maxInt方法:void maxInt(int * array,int n,int * result);传入数组,数组元素个数,int指针。将数组中的最大值保存在result中。保存为maxInt.cpp.遇到异常情况,输出"error";否则不要随意输出。参考代码:#include<stdio.h>void maxInt(int * array,int n,int * result){ if(array==NULL||n<=0||resul原创 2021-11-21 14:55:03 · 1334 阅读 · 2 评论 -
#235 动态内存分配
题目描述:编写程序,输入整数n,动态分配保存n个整数的存储器,然后输入n个整数保存到存储器中。最后,将这n个整数从小到大输出。例如:输入如下:10回车10 9 8 7 6 5 4 3 2 1回车则输出1,2,3,4,5,6,7,8,9,10参考代码:#include<stdio.h>#include<stdlib.h>#define SWAP(a,b) {a=a+b; b=a-b; a=a-b;}int main(){ int n,*a,i,j;原创 2021-11-18 12:14:22 · 2594 阅读 · 0 评论 -
#234 宏定义与使用
题目描述:编写程序,定义宏#define MAX(a,b) (a>b)? a : b然后利用此宏,从输入的三个整数中找出最大数,并输出。例如:输入为1,5,12回车输出为12参考代码:#include <stdio.h>#define MAX(a,b) (a>b)?a:bint main(){ int a,b,c,max; scanf("%d,%d,%d",&a,&b,&c); max=MAX(a,b原创 2021-11-18 10:53:23 · 1253 阅读 · 0 评论 -
#233 全局变量
题目描述:编写工程,包括两个源文件。其中一个源文件包括函数cal,计算整形数组的最大值、最小值和平均值,保存在全局变量中。函数原型如下:extern int cal ( int *pData, int iLen );其中,pData为指向数据的指针,iLen为数据个数。当计算成功时,函数返回1,出现异常情况时,返回0另一个包含main()函数的源文件内容如下:#include <stdio.h>int max_val, min_val, ave_val;int ca原创 2021-11-17 12:59:57 · 1192 阅读 · 0 评论 -
#110 学生管理系统
题目描述:编写学生管理系统,其中学生的信息有姓名(汉语拼音,最多20个字符),性别(男/女,用1表示男,2表示女)、生日(19850101(年月日))、身高(以m为单位),还需要处理C语言、微积分两门课的成绩,请编写程序实现功能:输入学生的人数和每个学生的信息;输出每门课程的总平均成绩、最高分和最低分,以及获得最高分的学生的信息。需要注意的是某门课程最高分的学生可能不只一人。输入输出格式要求: 身高输出时保留两位小数,请按照例子中进行输出,请勿输出其他字符例如:输入:3 zhangsa原创 2021-11-16 18:58:44 · 3468 阅读 · 2 评论 -
#41 对结构体数组进行排序
题目描述:对结构体数组进行排序。题目描述:struct Person{ int no; int age; int height;}实现sort方法对结构体数组进行排序。void sort(Person * array,int n);根据no从小到大排序;如果no相同则根据age排序;如果age相同,则根据height排序。注意:遇到异常情况,输出"error";否则不要随意输出,会视为错误。参考代码:#include<stdio.h>struc原创 2021-11-16 10:00:09 · 4707 阅读 · 4 评论 -
#8 实现指定函数swap(结构体)
题目描述:实现swap方法struct Person{ int age; int height;}void swap(Person * array,int n);输入结构体数组和数组元素个数。交换第一个和最后一个元素的height。保存为swap.cpp.遇到异常情况,输出"error";否则不要随意输出。参考代码:#include<stdio.h>struct Person{ int age; int height;};void s原创 2021-11-16 09:53:53 · 2459 阅读 · 1 评论 -
#36 del
题目描述:实现在字符串的内部删除字符串的函数del。函数原型如下:void del(char * s,int n,int len) ;在s指向的字符串中,从s第n个字符的位置开始,删除len个字符,结果通过指针s返回。n是从0开始,到s的长度-1为止。从0开始,len=s的字符串长度时,全部删除,原字符串为空字符串。注意:使用空格字符来表示字符串的结束。例如source指向位置,依次保存了字符'a',字符'b',字符空格' ',字符'c',则source指向的字符串为"ab"。保存为fun原创 2021-11-15 21:25:18 · 2698 阅读 · 4 评论 -
#34 mystrcat
题目描述:实现字符串的连接。void my_strcat(char * destination,const char * source);将source指向的字符串的拷贝,添加到destination指向的字符串的末尾。注意:使用空格字符来表示字符串的结束。例如source指向位置,依次保存了字符'a',字符'b',字符空格' ',字符'c',则source指向的字符串为"ab"。保存为functions.cpp。遇到异常情况,输出"error";否则不要随意输出,会视为错误。参原创 2021-11-14 16:21:42 · 1950 阅读 · 4 评论 -
#232 指针练习之字符串拷贝
题目描述:利用指针编写C程序,实现如下功能:接收从键盘输入的一个字符串,并将其所有字符依次拷贝到另一字符串中,要求在拷贝的过程中每两个字符后增加一个*,完成拷贝后输出新字符串,并在输出完成后输出回车换行符表示结束。注意:如果该字符串已到末尾,则不再加*样例输入1:ab2d3c样例输出1:ab*2d*3c(末尾有回车换行)样例输入2:ab2d3样例输出2:ab*2d*3(末尾有回车换行)样例输入3:ab*cde样例输出3:ab**c*de(末尾有回车换行)参考代码:#inclu原创 2021-11-11 18:58:24 · 2730 阅读 · 14 评论 -
#231 指针练习之学号转换
题目描述:假设一个合法的学号由四位年级号、两位学院号与四位班级号、三位班内编号依次构成,一共13位数(本题中,一个合法的学号应仅包含数字),利用指针和数组实现一个函数fun()原型:int fun(const char *p, int result[]);功能:将以字符形式存放的自己学号转换成四个整数(依次表示:年级、学院、班级、学号),并存放于一个整数数组中。参数说明:p为传入的学号字符串,以'\0'结束;result传入用于接收返回结果的整型数组首地址,规定其0号下标开始依次存放“年级、学院原创 2021-11-11 18:42:34 · 2045 阅读 · 11 评论 -
#230 指针练习之最值问题
题目描述:利用指针完成一个C程序:要求输入n个整数构成一个序列,搜索这一序列的最大/最小值及该值在序列中的位置。约定:1. 首先输入元素个数,如果元素个数非法,则输出error后退出程序(error后不接回车或换行等符号)。2. 然后依次输入各元素,以空格分割3. 输出中所有标点符号都为英文符号4. 目标元素在序列中的位置从1开始计算样例输入:6145 23 1 0 234 99样例输出:max:234,position:5min:0,position:4注意:以上输出后都有换原创 2021-11-11 17:28:49 · 1267 阅读 · 0 评论 -
#7 实现指定函数printSize
题目描述:实现printSize方法:void printSize(int * first,int * last);传入数组第一个元素地址和最后一个元素地址。输出数组内元素的个数和数组的大小。用逗号区分,回车结束输出。如输出4,16回车遇到异常情况,输出"error"。参考代码:#include<stdio.h>void printSize(int * first,int * last);int main(){ int array[257]={1,2,3,4};原创 2021-11-11 17:19:30 · 1524 阅读 · 2 评论 -
#225 子串查找
题目描述:补全函数index(char s[], char t[])检查字符串s中是否包含字符串t,若包含,则返回t在s中的开始位置(下标值),否则送回-1。#include<stdio.h>int index(char s[], char t[]){ int i, j, k; for (i = 0; s[i] != '\0'; i++) { [???????????] } return(-1);}int main(){ static c原创 2021-11-08 20:05:16 · 1047 阅读 · 0 评论 -
#115 二维数组数据行列互换
题目描述:编写函数,使其能将二维数组(5*3)中的数据进行行列互换。(参考函数原型:void tran(int array[5][3], int out_array[3][5]))输入输出格式要求: out_array是用于保存行列交换之后的结果的数组 碰到异常情况输出error(参数为null) 例如:array[5][3] = {{1,2,3},{4,5,6},{7,8,9},{10,11,12},{13,14,15}}调用tran函数之后out_array[3][5] = {{1原创 2021-11-08 19:49:14 · 1896 阅读 · 0 评论 -
#114 随机数置换
题目描述:背景:假设要生成前n个自然数的一个随机置换,如{4,3,1,5,2}和{3,1,4,2,5}就是一个合法置换;但{5,4,1,2,1}就不是,因为1出现2次而3没有。假设我们有一个随机数生成器RandInt(i,j),它以相同概率生成i到j之间的整数,下面是三个算法。(1) 如下填入从A[0]到A[N-1]的数组A:为了填入A[i],生成不同于A[0],A[1],...,A[i-1]之间的随机数时,才将其填入A[i](2) 同算法1,但保留一个称为Used数组的附加数组,当一个随机原创 2021-11-08 19:39:14 · 1802 阅读 · 7 评论 -
#40 逆序memcpy
题目描述:实现逆序的Memcpy方法。函数原型: void * reversememcpy ( void * destination, const void * source, int num );功能要求: 从source所指的内存地址的起始位置开始拷贝num个字节,按字节逆序保存到目标destination所指的内存地址的起始位置中。返回值:为destination注意:1. 本函数实现的是按字节逆序拷贝。例如source指向位置,如果依次保存了'a','b','c','d',当num原创 2021-11-06 15:39:25 · 2441 阅读 · 4 评论 -
#35 insert
题目描述:实现在字符串的内部增加字符串。void insert(char * s1,char * s2, int n);将s2指向的字符串的拷贝,添加到s1第n个字符的位置,原位置的字符后移。n=0时,s2增加到s1的首部;n=s1的字符串长度时,s2增加到s1的末尾。注意:使用空格字符来表示字符串的结束。例如source指向位置,依次保存了字符'a',字符'b',字符空格' ',字符'c',则source指向的字符串为"ab"。保存为functions.cpp。遇到异常情况,输出原创 2021-11-06 15:18:54 · 3068 阅读 · 0 评论 -
#53 实现冒泡排序的函数
题目描述:写一个函数实现冒泡排序功能,函数原型: void bubbleSort(int data[],int n);待排序数据存储在一维整型数组data中,排序后的结果也存储在该数组中。函数内部不能有任何输入与输出操作。如果函数采用其他方法正确实现了排序操作,而不是冒泡排序,可以得一半的分数,如果有错误,则根据错误情况扣分。你需要先自己写main函数测试您的bubblSort函数是否能够正确运行,测试结束后删除main函数再递交。参考代码:vo原创 2021-11-05 23:01:18 · 1411 阅读 · 0 评论 -
#116 编写函数对字符串中的字符计数
题目描述:编写函数,使其能统计主调函数通过实参传过来的字符串(非控制台输入),对其中的字母、数字、空格分别计数。(要求在count函数中通过实参(char *str)传入字符串及输出统计结果)(参考函数原型:void count(char* str))输入输出格式要求: 字母,数字,空格例如:str为12asddCSDA sds23244354输出为11,10,2参考代码:#include<stdio.h>#include<string.h>void原创 2021-11-05 22:42:17 · 2154 阅读 · 1 评论 -
#118 编写函数输出小于等于n的水仙花数
题目描述:设有一个3位数,它的百位数、十位数、个位数的立方和正好等于这个3位数,如153=1+125+27。编写函数,返回小于等于传入参数n且满足该条件的三位数(称为水仙花数)的个数。(指定函数原型:int find(int n))输入输出格式要求: 编写函数int find(int n); 返回值要求:如果传入参数n不是三位数或者在该范围内没有找到,则find返回0, 否则返回找到的水仙花数的个数。 注意:不要在find函数中打印(如原创 2021-11-05 09:28:33 · 3420 阅读 · 0 评论 -
#0 码图
作为一名光荣的UESTCer,当然要知道码图是干什么的!码图(matu.uestc.edu.cn)就是电子科大专属C语言课程考核/测评网站。C语言老师会给你布置作业,你的得分是会计入平日成绩哒!码图系统内部构造就不详细介绍了,相信大家这么聪明一定轻易看懂。值得一提的是码图的提交要求。上图是码图题库界面(部分)。其中第一列为语言要求,第四列为编译类型。 可以看到,语言要求有C也有C++。对于语言要求C的题目,我们只能用C语言来作答;对于语言要求为C++的题目,我们既可以用...原创 2021-10-26 13:42:09 · 8385 阅读 · 3 评论 -
#4 输出n的1-5次方
题目描述:输入整数n,然后输出n的1-5次方(空格区分),最后必须输出回车例如输入-1,输出-1 1 -1 1 -1回车讲解: 这道题目非常直白。于是我们可以直接运用第一节课学过的scanf()和printf()函数进行解答。参考代码:#include<stdio.h>int main(){ int n; scanf("%d",&n); printf("%d %d %d %d %d\n",n,n*n,n*n*n,n*n*...原创 2021-10-26 18:50:05 · 1457 阅读 · 0 评论 -
#12 判断是否为三角形
题目描述:输入三角形三边长度(整数),判断是否为三角形。是,输出yes;否输出no。边长不为正数时,输出error。输入三个边的长度以逗号分隔,例如:输入:1,2,3回车输出:no参考代码:#include<stdio.h>int main(){ int a, b, c; scanf("%d,%d,%d", &a, &b, &c); if (a<=0 || b<=0 || c<=0) { printf("erro原创 2021-10-27 13:20:14 · 3910 阅读 · 0 评论 -
#11 将输入单词译成密码
题目描述:请编程序将:输入单词译成密码,密码规律是:用原来的字母后面的第4个字母代替原来的字母。例如,字母'A'后面第4个字母是"E",用"E"代替"A","Z"用"D"代替。例如,输入"China"应译为"Glmre"。请编一程序,将输入单词译为密码后输出。(回车结束单词输入;单词最长20,之后截断;输入单词长度为0或者输入不为字母,输出error)。参考代码:#include<stdio.h>int main(){ char c[21]; int len=1,i;原创 2021-10-27 13:48:49 · 2732 阅读 · 0 评论 -
#15 求最大公约数和最小公倍数
题目描述:输入2个整数(空格区分),输出最大公约数和最小公倍数(,逗号区分)例如输入5空格10,输出应为5,10参考代码:#include <stdio.h>int main(){ int a,b,c,a1,b1,tmp; scanf("%d %d", &a, &b); a1=a;b1=b; do { if(a<b) { tmp=a; a=b;原创 2021-10-27 14:10:34 · 778 阅读 · 0 评论 -
#16 求π的值
题目描述:求出π的值,根据给出公式π/2=1+1/3+1/3*2/5+1/3*2/5*3/7+...,从键盘输入要求满足的精度。(即前后两次求得的π相差小于输入精度)采用float型,输出采用七位有效数字型如3.xxxxxx。例如输入0.001,输出3.141106.参考代码:#include<stdio.h>int main(){ float m,b=1.0,c=1.0,i=1.0,j=3.0; scanf("%f",&m); do原创 2021-10-27 19:09:17 · 2452 阅读 · 0 评论 -
#18 判断n是否为素数
题目描述:输入一个大于3的整数n,判断它是否为素数。(输出yes/no)例如,输入4,输出no; 输入7,输出yes。错误输入,则输出error。所有输出没有回车符号。参考代码:#include<stdio.h>#include<math.h>int main(){ int a; scanf("%d",&a); if(a<4) { printf("error"); return 0; } for(i原创 2021-10-27 19:42:43 · 1739 阅读 · 2 评论 -
#19 求1-n的阶乘之和
题目描述:输入正整数n(1-10),求1-n的阶乘之和,最后必须输出回车。遇到异常情况(如不是1-10中数),输出"error";否则不要随意输出。例如,输入4,输出33;输入7,输出5913回车。参考代码:#include <stdio.h>int main(){ int a,i,c=1,sum=0; scanf("%d",&a); if(a<1||a>10) printf("error\n"); else {原创 2021-10-27 19:54:55 · 1217 阅读 · 0 评论