![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言学习
uflyjz
小白
展开
-
PTA 03-树2 List Leaves (25 分)
question: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, the first line gives a positive integerN(≤10) which is the total n..原创 2021-07-29 22:44:41 · 120 阅读 · 0 评论 -
间接递归实现括号匹配检查
为简单起见,仅考虑小括号。思路:在读到‘#’之前,不断读入字符,若是左括号,则进入处理括号的函数(该函数若读到左括号则进入自身下一层,若读到右括号则退出,若读到#则说明左括号过多);若是右括号,则说明右括号过多。#include <stdio.h>#include <stdlib.h>void parenthese();int main(void){ printf("Input the expression:\n"); char ch = get原创 2021-07-18 20:21:35 · 92 阅读 · 0 评论 -
Hanoi
实际应用的递归,需要分析解题过程才能够发现操作相同、参数规模不同的模式,从而写出递归程序。#include <stdio.h>void moveone(char, char);void move(int n, char from, char to, char by);int cnt = 0;int main(void){ printf("This program shows how to move plates from tower a to b using c.\.原创 2021-07-18 09:01:31 · 52 阅读 · 0 评论 -
将给定字符串按字母顺序输出
学习字符串指针数组。#include <stdio.h>void sort(char *arr_str[], int n); //冒泡排序void print(char *arr_str[], int n);int str_cmp(char *a, char *b);int main(void){ char *names[] = {"c", "d", "b", "bc", "b", "abc", "bcdf", "ac", "ca", "b"}; int cn原创 2021-07-17 18:36:35 · 586 阅读 · 0 评论 -
统计回文字
输入一段以“#”为结束符的由小写英文单词(不超过20个字符)组成的正文,输出所有回文字。#include <stdio.h>#include <stdbool.h>#define MaxLen 21char word[MaxLen];bool plalindrome(char[], int); //输入字符串及其长度,判断字符串是否回文int read(); //读入一个单词,返回单词长度bool end = 0;int原创 2021-07-17 10:18:34 · 42 阅读 · 0 评论 -
打印杨辉三角形
法一:使用两个数组,一个用于记录上一行,另一个用于生成下一行。#include <stdio.h>#define MaxLine 10#define MaxNum MaxLine + 1#define Width 6int main(void){ int a[MaxNum] = {0}, b[MaxNum] = {0}; for (int i = 0; i < MaxLine; i++) { //生成第i行 f原创 2021-07-17 08:39:17 · 45 阅读 · 0 评论 -
[栈]括号匹配
检查以'#'结束的算术表达式的括号是否匹配。算法(暂不考虑溢出):1.压栈‘#’2.读入字符ch3.若ch是’#‘则转到4,否则往下执行(1)若ch为左括号则压栈(2)若ch为右括号:【1】若弹出‘#’则说明左括号不够了,错误【2】若弹出左括号,则检查是否匹配;匹配则继续下一步,不匹配则错误【3】读入字符到ch,返回到34.若弹出’#‘则正确,否则左括号过多,错误#include <stdio.h>#include <stdbool.h&原创 2021-07-16 15:59:36 · 47 阅读 · 0 评论 -
模拟scanf函数读入字符串翻译成数
数的形式类似于:123.45。一个字符一个字符地读入,然后将其拼接成数。关键是整数部分利用形如123=(1*10+2)*10+3的表达方法,小数部分则为0.456=4*0.1+5*0.01。#include <stdio.h>#define radix 10int main(void){ char ch; int n = 0; //保存整数部分数值 float f = 0; //保存小数部分数值 //滤掉前导空白字符 printf原创 2021-07-15 19:38:37 · 69 阅读 · 0 评论 -
关于scanf函数与空白字符
空白字符(white space):空格(space),回车(enter),制表符(table)。scanfscanf函数仅在每一个数据域均有数据并按回车后结束。如果scanf需要读取一个数据项,发现缓冲区当前是空的,那么程序就会在scanf代码处阻塞,等待用户输入。 scanf从缓冲区读入一个数据项,则该数据项在缓冲区中就被清除,scanf函数返回成功读入的数据项个数或EOF,程序继续执行。%d默认分割符为所有空白字符,并且会忽略输入数据项前面的空白字符。%s默认分割符为所有空白字符原创 2021-07-15 18:24:14 · 956 阅读 · 0 评论 -
浙大版《C语言程序设计(第4版)》题目集——习题11-8 单链表结点删除 (20 分)
本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中所有存储了某给定值的结点删除。链表结点定义如下:struct ListNode { int data; ListNode *next;};函数接口定义:struct ListNode *readlist();struct ListNode *deletem( struct ListNode *L, int m );函数readlist从标准输入读入一系列正整数,按照读入顺序建立单链表。当读到−1时表示输...原创 2021-07-12 13:25:05 · 477 阅读 · 0 评论 -
浙大版《C语言程序设计(第4版)》题目集——习题11-7 奇数值结点链表 (20 分)
本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中奇数值的结点重新组成一个新的链表。链表结点定义如下:struct ListNode { int data; ListNode *next;};函数接口定义:struct ListNode *readlist();struct ListNode *getodd( struct ListNode **L );函数readlist从标准输入读入一系列正整数,按照读入顺序建立单链表。当读到−1时表示输入结束,函数应返原创 2021-07-12 12:44:03 · 130 阅读 · 0 评论 -
浙大版《C语言程序设计(第4版)》题目集——习题10-11 有序表的增删改查操作 (20 分)
首先输入一个正整数N(1≤N≤1000)和一个无重复元素的、从小到大排列的、N个元素的有序表,然后在屏幕上显示以下菜单(编号和选项)。[1] Insert[2] Delete[3] Update[4] Query[Other option] End用户可以反复对该有序表进行插入、删除、修改和查找操作,也可以选择结束。当用户输入编号1~4和相关参数时,将分别对该有序表进行插入、删除、修改和查找操作,输入其他编号,则结束操作。本题要求实现4个函数,分别在有序表(数组)中插入、删除、修改、查原创 2021-07-11 18:17:59 · 2031 阅读 · 2 评论 -
浙大版《C语言程序设计(第4版)》题目集——习题10-7 十进制转换二进制 (15 分)
本题要求实现一个函数,将正整数n转换为二进制后输出。函数接口定义:void dectobin( int n );函数dectobin应在一行中打印出二进制的n。建议用递归实现。裁判测试程序样例:#include <stdio.h>void dectobin( int n );int main(){ int n; scanf("%d", &n); dectobin(n); return 0;}/* 你的代码将被嵌在原创 2021-07-11 17:28:32 · 328 阅读 · 0 评论 -
浙大版《C语言程序设计(第4版)》题目集——习题11-6 查找子串 (20 分)
https://pintia.cn/problem-sets/1298273728383766528/problems/1298273797619142687本题要求实现一个字符串查找的简单函数。函数接口定义:char *search( char *s, char *t );函数search在字符串s中查找子串t,返回子串t在s中的首地址。若未找到,则返回NULL。裁判测试程序样例:#include <stdio.h>#define MAXS 30char *.原创 2021-07-11 17:16:34 · 279 阅读 · 0 评论