杂题
Allen_935
此人很懒
展开
-
习题8-3 数组循环右移 及 练习7-8 方阵循环右移
数组循环右移本题要求实现一个对数组进行循环右移的简单函数:一个数组a中存有n(>0)个整数,将每个整数循环向右移m(≥0)个位置,即将a中的数据由(a0a1⋯an−1)变换为(an−m⋯an−1a0a1⋯an−m−1)(最后m个数循环移至最前面的m个位置)。函数接口定义:int ArrayShift( int a[], int n, int m );其中a[]是用户传入的数组;n是数组的大小;m是右移的位数。函数ArrayShif.原创 2020-11-25 17:40:16 · 722 阅读 · 0 评论 -
习题8-8 判断回文字符串
判断回文本题要求编写函数,判断给定的一串字符是否为“回文”。所谓“回文”是指顺读和倒读都一样的字符串。如“XYZYX”和“xyzzyx”都是回文。函数接口定义:bool palindrome( char *s );函数palindrome判断输入字符串char *s是否为回文。若是则返回true,否则返回false。裁判测试程序样例:#include <stdio.h>#include <string.h>#define MAXN 20typ.原创 2020-11-25 16:28:12 · 710 阅读 · 0 评论 -
习题8-6 删除字符(重写字符串思想)
删除字符(重写字符串思想)本题要求实现一个删除字符串中的指定字符的简单函数。函数接口定义:void delchar( char *str, char c );其中char *str是传入的字符串,c是待删除的字符。函数delchar的功能是将字符串str中出现的所有c字符删除。裁判测试程序样例:#include <stdio.h>#define MAXN 20void delchar( char *str, char c );void ReadString(原创 2020-11-24 19:54:41 · 629 阅读 · 0 评论 -
习题8-4 报数 (约瑟夫环)
报数游戏是这样的:有n个人围成一圈,按顺序从1到n编好号。从第一个人开始报数,报到m(<n)的人退出圈子;下一个人从1开始报数,报到m的人退出圈子。如此下去,直到留下最后一个人。本题要求编写函数,给出每个人的退出顺序编号。函数接口定义:void CountOff( int n, int m, int out[] );其中n是初始人数;m是游戏规定的退出位次(保证为小于n的正整数)。函数CountOff将每个人的退出顺序编号存在数组out[]中。因为C语言数组下标是从0开始的,所以第原创 2020-11-24 16:02:51 · 345 阅读 · 0 评论 -
PTA L1-039 古风排版 (20 分)
题目:中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。输入格式:输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束。输出格式:按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个)。输入样例:4This is a test case输出样例:asa Tst ihe tsi ce s题解:#include<...原创 2021-03-11 14:06:05 · 72 阅读 · 0 评论 -
习题11-7 奇数值结点链表 (20 分)
函数readlist从标准输入读入一系列正整数,按照读入顺序建立单链表。当读到−1时表示输入结束,函数应返回指向单链表头结点的指针。函数getodd将单链表L中奇数值的结点分离出来,重新组成一个新的链表。返回指向新链表头结点的指针,同时将L中存储的地址改为删除了奇数值结点后的链表的头结点地址(所以要传入L的指针)。#include <stdio.h>#include <stdlib.h>struct ListNode { int data; stru..原创 2021-03-08 17:53:46 · 137 阅读 · 0 评论 -
习题11-8 单链表结点删除 (20 分)
题目本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中所有存储了某给定值的结点删除。链表结点定义如下:struct ListNode { int data; ListNode *next;};函数接口定义:struct ListNode *readlist();struct ListNode *deletem( struct ListNode *L, int m );函数readlist从标准输入读入一系列正整数,按照读入顺序建立单链表。当读到−1时.原创 2021-03-07 17:15:33 · 220 阅读 · 0 评论 -
习题10-8 递归实现顺序输出整数 (15分)
递归递归,先递再归#include<stdio.h>void printdigits(int n);int main(){ int n; scanf("%d", &n); printdigits(n); system("pause"); return 0;}void printdigits(int n){ if (n < 10) printf("%d\n", n); else { printdigits(n / 10); prin原创 2020-11-29 19:40:07 · 274 阅读 · 0 评论 -
习题7-5 找鞍点 (20 分)
题目:一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。本题要求编写程序,求一个给定的n阶方阵的鞍点。输入格式:输入第一行给出一个正整数n(1≤n≤6)。随后n行,每行给出n个整数,其间以空格分隔。输出格式:输出在一行中按照“行下标 列下标”(下标从0开始)的格式输出鞍点的位置。如果鞍点不存在,则输出“NONE”。题目保证给出的矩阵至多存在一个鞍点。输入样例1:41 7 4 14 8 3 61 6 1 20 7 8 9输出样例1:2.原创 2021-04-12 12:36:26 · 270 阅读 · 0 评论