C语言
centralunit
这个作者很懒,什么都没留下…
展开
-
C语言中sscanf函数的简明教程
C语言中sscanf函数的简明教程函数定义int sscanf(const char *str, const char * format, ...);函数说明sscanf()定义于头文件stdio.h。sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。格式转换形式请参考scanf()。转换后的结果存于对应的参数内。返回值成功则返回参数数目,失败则返回-1(也即EOF)。参数中format的说明format中可以包含一个或多个{%[*][width][len原创 2021-01-21 15:24:45 · 23039 阅读 · 1 评论 -
6-2 使用函数验证哥德巴赫猜想(20 分)
6-2 使用函数验证哥德巴赫猜想(20 分)本题要求实现一个判断素数的简单函数,并利用该函数验证哥德巴赫猜想:任何一个不小于6的偶数均可表示为两个奇素数之和。素数就是只能被1和自身整除的正整数。注意:1不是素数,2是素数。函数接口定义:int prime( int p );void Goldbach( int n );其中函数prime当用户传入参数p为素数时返回1,否则...原创 2018-07-22 19:49:17 · 8921 阅读 · 0 评论 -
6-3 判断回文字符串(20 分)
6-3 判断回文字符串(20 分)本题要求编写函数,判断给定的一串字符是否为“回文”。所谓“回文”是指顺读和倒读都一样的字符串。如“XYZYX”和“xyzzyx”都是回文。函数接口定义:bool palindrome( char *s );函数palindrome判断输入字符串char *s是否为回文。若是则返回true,否则返回false。裁判测试程序样例:#...原创 2018-07-22 19:52:48 · 8481 阅读 · 2 评论 -
6-4 查找子串(20 分)
6-4 查找子串(20 分)本题要求实现一个字符串查找的简单函数。函数接口定义:char *search( char *s, char *t );函数search在字符串s中查找子串t,返回子串t在s中的首地址。若未找到,则返回NULL。裁判测试程序样例:#include <stdio.h>#define MAXS 30char *searc...原创 2018-07-22 19:57:11 · 5519 阅读 · 1 评论 -
7-6 重要的话说三遍(5 分)
7-6 重要的话说三遍(5 分)这道超级简单的题目没有任何输入。 你只需要把这句很重要的话 —— “I’m gonna WIN!”——连续输出三遍就可以了。 注意每遍占一行,除了每行的回车不能有任何多余字符。#include<stdio.h>int main(void) { for (int i = 1; i <= 3; i++) { ...原创 2018-07-22 19:59:00 · 4243 阅读 · 0 评论 -
7-8 I Love GPLT(5 分)
7-8 I Love GPLT(5 分)这道超级简单的题目没有任何输入。 你只需要把这句很重要的话 —— I Love GPLT ——竖着输出就可以了。 所谓“竖着输出”,是指每个字符占一行(包括空格),即每行只能有1个字符和回车。#include <stdio.h>#include <string.h>int main(void) { c...原创 2018-07-22 20:04:30 · 2500 阅读 · 0 评论 -
7-4 输出带框文字(5 分)
7-4 输出带框文字(5 分)本题要求编写程序,输出指定的带框文字。输入格式:本题无输入输出格式:按照下列格式输出带框文字。************ Welcome************#include <stdio.h>int main(void) { printf("************\n"); pri...原创 2018-07-22 20:10:05 · 1369 阅读 · 0 评论 -
7-3 输出菱形图案(5 分)
7-3 输出菱形图案(5 分)本题要求编写程序,输出指定的由“A”组成的菱形图案。输入格式:本题无输入输出格式:按照下列格式输出由“A”组成的菱形图案。 AA A A#include <stdio.h>int main(void) { printf(" A\n"); printf("A A\n"); ...原创 2018-07-22 20:13:10 · 4820 阅读 · 1 评论 -
7-13 输出倒三角图案(5 分)
7-13 输出倒三角图案(5 分)本题要求编写程序,输出指定的由“*”组成的倒三角图案。输入格式:本题目没有输入。输出格式:按照下列格式输出由“*”组成的倒三角图案。* * * * * * * * * *#include <stdio.h>int main(void) { printf("* * * *\n"); ...原创 2018-07-22 20:15:57 · 1649 阅读 · 1 评论 -
7-15 厘米换算英尺英寸(15 分)
7-15 厘米换算英尺英寸(15 分)如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(foot+inch/12)×0.3048。现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等于12英寸。输入格式:输入在一行中给出1个正整数,单位是厘米。输出格式:在一行中输出这个厘米数对应英制长度的英尺和英寸的整数值,中间用空格分开。...原创 2018-07-22 20:18:19 · 1794 阅读 · 0 评论 -
6-1 使用函数求素数和(20 分)
6-1 使用函数求素数和(20 分)本题要求实现一个判断素数的简单函数、以及利用该函数计算给定区间内素数和的函数。 素数就是只能被1和自身整除的正整数。注意:1不是素数,2是素数。函数接口定义:int prime( int p );int PrimeSum( int m, int n );其中函数prime当用户传入参数p为素数时返回1,否则返回0;函数PrimeSum返回...原创 2018-07-22 19:15:41 · 5938 阅读 · 2 评论 -
7-56 找鞍点(20 分)
7-56 找鞍点(20 分)一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。本题要求编写程序,求一个给定的n阶方阵的鞍点。输入格式:输入第一行给出一个正整数n(1≤n≤6)。随后n行,每行给出n个整数,其间以空格分隔。输出格式:输出在一行中按照“行下标 列下标”(下标从0开始)的格式输出鞍点的位置。如果鞍点不存在,则输出“NONE”。题目保证给...原创 2018-07-27 00:47:46 · 8663 阅读 · 0 评论 -
7-55 矩阵运算(20 分)
7-55 矩阵运算(20 分)给定一个n×n的方阵,本题要求计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。副对角线为从矩阵的右上角至左下角的连线。输入格式:输入第一行给出正整数n(1输出格式:在一行中给出该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。输入样例:42 3 4 15 6 1 17 1 8 11 1 1 1输出样例...原创 2018-07-27 00:41:47 · 1088 阅读 · 0 评论 -
7-46 爬动的蠕虫(15 分)
7-46 爬动的蠕虫(15 分)一条蠕虫长1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井?这里要求不足1分钟按1分钟计,并且假定只要在某次上爬过程中蠕虫的头部到达了井的顶部,那么蠕虫就完成任务了。初始时,蠕虫是趴在井底的(即高度为0)。输入...原创 2018-07-26 23:57:34 · 1156 阅读 · 0 评论 -
7-47 二进制的前导的零(10 分)
7-47 二进制的前导的零(10 分)计算机内部用二进制来表达所有的值。一个十进制的数字,比如18,在一个32位的计算机内部被表达为00000000000000000000000000011000。可以看到,从左边数过来,在第一个1之前,有27个0。我们把这些0称作前导的零。现在,你的任务是写一个程序,输入一个整数,输出在32位表达下它前导的零的个数。输入格式:一个整数,在32...原创 2018-07-27 00:00:22 · 624 阅读 · 0 评论 -
7-48 求组合数(15 分)
7-48 求组合数(15 分)本题要求编写程序,根据公式Cmn=n!m!(n−m)!Cnm=n!m!(n−m)!C_n^m=\frac{n!}{m!(n−m)!}算出从nnn个不同元素中取出mmm个元素(m≤nm≤nm\leq n)的组合数。建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double。输入格式:输入在一行中给出两个正整数mmm和nnn(m...原创 2018-07-27 00:04:28 · 6206 阅读 · 0 评论 -
7-49 Have Fun with Numbers(20 分)
7-49 Have Fun with Numbers(20 分)Notice that the number 123456789 is a 9-digit number consisting exactly the numbers from 1 to 9, with no duplication. Double it we will obtain 246913578, which happen...原创 2018-07-27 00:17:43 · 6315 阅读 · 0 评论 -
7-50 近似求PI(15 分)
7-50 近似求PI(15 分)本题要求编写程序,根据下式求π的近似值,直到最后一项小于给定精度eps。π2=1+1!3+2!3×5+3!3×5×7+⋯+i!3×5×⋯×(2×i+1)+⋯π2=1+1!3+2!3×5+3!3×5×7+⋯+i!3×5×⋯×(2×i+1)+⋯\frac\pi2=1+\frac{1!}3+\frac{2!}{3\times5}+\frac{3!}{3\times...原创 2018-07-27 00:24:43 · 13418 阅读 · 0 评论 -
7-51 求n以内最大的k个素数以及它们的和(20 分)
7-51 求n以内最大的k个素数以及它们的和(20 分)本题要求计算并输出不超过n的最大的k个素数以及它们的和。输入格式:输入在一行中给出n(10≤n≤10000)和k(1≤k≤10)的值。输出格式:在一行中按下列格式输出:素数1+素数2+…+素数k=总和值其中素数按递减顺序输出。若n以内不够k个素数,则按实际个数输出。输入样例1:1000 10...原创 2018-07-27 00:27:18 · 3875 阅读 · 0 评论 -
7-52 数组元素循环右移问题(20 分)
7-52 数组元素循环右移问题(20 分)一个数组AAA中存有NNN(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移MMM(≥0)个位置,即将AAA中的数据由(A0A1⋯AN−1A0A1⋯AN−1A_0A_1\cdots A_{N-1})变换为(AN−M⋯AN−1A0A1⋯AN−M−1AN−M⋯AN−1A0A1⋯AN−M−1A_{N-M}\cdots A_{N-1}A_...原创 2018-07-27 00:32:26 · 6758 阅读 · 2 评论 -
7-53 求最大值及其下标(20 分)
7-53 求最大值及其下标(20 分)本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始)。输入格式:输入在第一行中给出一个正整数nnn(1<nnn≤10)。第二行输入nnn个整数,用空格分开。输出格式:在一行中输出最大值及最大值的最小下标,中间用一个空格分开。输入样例:62 8 10 1 9 10输出样例:10 ...原创 2018-07-27 00:36:29 · 1695 阅读 · 0 评论 -
7-54 将数组中的数逆序存放(20 分)
7-54 将数组中的数逆序存放(20 分)本题要求编写程序,将给定的n个整数存入数组中,将数组中的这n个数逆序存放,再按顺序输出数组中的元素。输入格式:输入在第一行中给出一个正整数n(1≤n≤10)。第二行输入n个整数,用空格分开。输出格式:在一行中输出这n个整数的处理结果,相邻数字中间用一个空格分开,行末不得有多余空格。输入样例:410 8 1 2...原创 2018-07-27 00:38:59 · 1962 阅读 · 0 评论 -
7-45 找完数(20 分)
7-45 找完数(20 分)所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。本题要求编写程序,找出任意两正整数m和n之间的所有完数。输入格式:输入在一行中给出2个正整数m和n(1输出格式:逐行输出给定范围内每个完数的因子累加形式的分解式,每个完数占一行,格式为“完数 = 因子1 + 因子2 + … + 因子k”,其中完数和因子均按...原创 2018-07-26 23:56:12 · 1519 阅读 · 0 评论 -
7-57 查找整数(10 分)
7-57 查找整数(10 分)本题要求从输入的N个整数中查找给定的X。如果找到,输出X的位置(从0开始数);如果没有找到,输出“Not Found”。输入格式:输入在第一行中给出两个正整数N(≤20)和X,第二行给出N个整数。数字均不超过长整型,其间以空格分隔。输出格式:在一行中输出X的位置,或者“Not Found”。输入样例1:5 73 5 7 1 9...原创 2018-07-28 00:29:07 · 3422 阅读 · 0 评论 -
7-59 字符串逆序(15 分)
7-59 字符串逆序(15 分)输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。输入格式:输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。输出格式:在一行中输出逆序后的字符串。输入样例:Hello World!输出样例:!dlroW olleH#include <stdio.h>#includ...原创 2018-07-28 00:39:56 · 4924 阅读 · 1 评论 -
02-线性结构2 一元多项式的乘法与加法运算(20 分)
02-线性结构2 一元多项式的乘法与加法运算 (20 分)设计函数分别求两个一元多项式的乘积与和。输入格式:输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应...原创 2019-03-09 12:15:20 · 437 阅读 · 0 评论 -
02-线性结构3 Reversing Linked List(25 分)
02-线性结构3 Reversing Linked List (25 分)Given a constant KKK and a singly linked list LLL, you are supposed to reverse the links of every KKK elements on LLL. For example, given LLL being 1→2→3→4→5→6, i...原创 2019-03-13 13:23:01 · 3327 阅读 · 2 评论 -
02-线性结构4 Pop Sequence(25 分)
02-线性结构4 Pop Sequence(25 分)Given a stack which can keep MMM numbers at most. Push NNN numbers in the order of 1, 2, 3, …, NNN and pop randomly. You are supposed to tell if a given sequence of numbers...原创 2019-03-13 13:26:30 · 2371 阅读 · 0 评论 -
03-树1 树的同构(25 分)
03-树1 树的同构(25 分)给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。图1图2现给定两棵树,请你判断它们是否是同构的。输入格式:输入给出2棵二叉树树的信息。对于每棵树,首先在一行中给出一个非负整数N(≤...原创 2019-04-08 16:26:15 · 2479 阅读 · 0 评论 -
03-树2 List Leaves(25 分)
03-树2 List Leaves(25 分)Given a tree, you are supposed to list all the leaves in the order of top down, and left to right.Input Specification:Each input file contains one test case. For each case, t...原创 2019-04-08 16:29:48 · 519 阅读 · 0 评论 -
03-树3 Tree Traversals Again(25 分)
03-树3 Tree Traversals Again (25 分)An inorder binary tree traversal can be implemented in a non-recursive way with a stack. For example, suppose that when a 6-node binary tree (with the keys numbered ...原创 2019-04-20 20:46:36 · 529 阅读 · 1 评论 -
04-树4 是否同一棵二叉搜索树(25 分)
04-树4 是否同一棵二叉搜索树(25 分)给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们是否能生成一样的二叉搜索树。输入格式:输入包含若干组测试数据。每组数据的第1行给出两个正整数N(≤10)N...原创 2019-04-20 20:52:29 · 2698 阅读 · 0 评论 -
04-树5 Root of AVL Tree(25 分)
04-树5 Root of AVL Tree(25 分)An AVL tree is a self-balancing binary search tree. In an AVL tree, the heights of the two child subtrees of any node differ by at most one; if at any time they differ by ...原创 2019-04-20 20:58:27 · 1077 阅读 · 0 评论 -
04-树6 Complete Binary Search Tree(30 分)
04-树6 Complete Binary Search Tree(30 分)A Binary Search Tree (BST) is recursively defined as a binary tree which has the following properties:The left subtree of a node contains only nodes with keys...原创 2019-04-20 21:03:58 · 1325 阅读 · 0 评论 -
02-线性结构1 两个有序链表序列的合并(15 分)
02-线性结构1 两个有序链表序列的合并(15 分)本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。函数接口定义:List Merge( List L1, List L2 );其中List结构定义如下:typedef struct Node *PtrToNode;struct Node { ElementType Data; /* 存储结点数据 ...原创 2019-03-08 22:44:12 · 461 阅读 · 0 评论 -
01-复杂度3 二分查找(20 分)
01-复杂度3 二分查找 (20 分)本题要求实现二分查找算法。函数接口定义:Position BinarySearch( List L, ElementType X );其中List结构定义如下:typedef int Position;typedef struct LNode *List;struct LNode { ElementType Data[MAXSIZE];...原创 2019-03-08 22:37:32 · 1119 阅读 · 0 评论 -
7-60 删除重复字符(20 分)
7-60 删除重复字符(20 分)本题要求编写程序,将给定字符串去掉重复的字符后,按照字符ASCII码顺序从小到大排序后输出。输入格式:输入是一个以回车结束的非空字符串(少于80个字符)。输出格式:输出去重排序后的结果字符串。输入样例:ad2f3adjfeainzzzv输出样例:23adefijnvz#include <stdi...原创 2018-07-28 00:43:29 · 3773 阅读 · 0 评论 -
7-61 找最长的字符串(15 分)
7-61 找最长的字符串(15 分)本题要求编写程序,针对输入的N个字符串,输出其中最长的字符串。输入格式:输入第一行给出正整数N;随后N行,每行给出一个长度小于80的非空字符串,其中不会出现换行符,空格,制表符。输出格式:在一行中用以下格式输出最长的字符串:The longest is: 最长的字符串如果字符串的长度相同,则输出先输入的字符串。输入样...原创 2018-07-28 00:47:47 · 13769 阅读 · 2 评论 -
7-62 切分表达式——写个tokenizer吧(20 分)
7-62 切分表达式——写个tokenizer吧(20 分)[先说点出题背景]这个题是为低年级同学、学C语言的同学准备的,因为,对这部分同学,这个题目编写起来略有一点复杂。如果是高年级、学过了正则表达式(Regular Expression)的同学或者学过了Java等OO语言的同学做这个题,应当发现这题比较简单吧。哦,对了,什么是tokenizer?请自行查询解决。反正在此处不应翻译成“令...原创 2018-07-28 01:03:33 · 2260 阅读 · 0 评论 -
7-63 查验身份证(15 分)
7-63 查验身份证(15 分)一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值:Z:0 1 2 3 4 5 6 7 8 9 10M:1 0 X 9 8 ...原创 2018-07-28 01:06:43 · 4444 阅读 · 0 评论