<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[IDWHH的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/IDWHH</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; IDWHH]]></copyright><item><title><![CDATA[链表拼接问题]]></title><link>https://blog.youkuaiyun.com/IDWHH/article/details/124609548</link><guid>https://blog.youkuaiyun.com/IDWHH/article/details/124609548</guid><author>IDWHH</author><pubDate>Fri, 06 May 2022 14:35:53 +0800</pubDate><description><![CDATA[本题要求实现一个合并两个有序链表的简单函数。链表结点定义如下：


struct ListNode {
    int data;
    struct ListNode *next;
};


函数接口定义：


struct ListNode *mergelists(struct ListNode *list1, struct ListNode *list2);


其中list1和list2是用户传入的两个按data升序链接的链表的头指针；函数mergelists将两个链表合并成一个按data升序链接]]></description><category></category></item><item><title><![CDATA[说反话-加强版]]></title><link>https://blog.youkuaiyun.com/IDWHH/article/details/122221088</link><guid>https://blog.youkuaiyun.com/IDWHH/article/details/122221088</guid><author>IDWHH</author><pubDate>Wed, 29 Dec 2021 17:36:00 +0800</pubDate><description><![CDATA[给定一句英语，要求你编写程序，将句中所有单词的顺序颠倒输出。

输入格式：

测试输入包含一个测试用例，在一行内给出总长度不超过500 000的字符串。字符串由若干单词和若干空格组成，其中单词是由英文字母（大小写有区分）组成的字符串，单词之间用若干个空格分开。

输出格式：

每个测试用例的输出占一行，输出倒序后的句子，并且保证单词间只有1个空格。

输入样例：


Hello World   Here I Come

结尾无空行

输出样例：


Come I Here World Hello

结尾无空]]></description><category></category></item><item><title><![CDATA[IP地址转换]]></title><link>https://blog.youkuaiyun.com/IDWHH/article/details/122221059</link><guid>https://blog.youkuaiyun.com/IDWHH/article/details/122221059</guid><author>IDWHH</author><pubDate>Wed, 29 Dec 2021 17:34:44 +0800</pubDate><description><![CDATA[一个IP地址是用四个字节（每个字节8个位）的二进制码组成。请将32位二进制码表示的IP地址转换为十进制格式表示的IP地址输出。

输入格式：

输入在一行中给出32位二进制字符串。

输出格式：

在一行中输出十进制格式的IP地址，其由4个十进制数组成（分别对应4个8位的二进制数），中间用“.”分隔开。

输入样例：


11001100100101000001010101110010

结尾无空行

输出样例：


204.148.21.114

结尾无空行

代码：


#include&lt;stdi]]></description><category></category></item><item><title><![CDATA[字符定位]]></title><link>https://blog.youkuaiyun.com/IDWHH/article/details/122076607</link><guid>https://blog.youkuaiyun.com/IDWHH/article/details/122076607</guid><author>IDWHH</author><pubDate>Wed, 22 Dec 2021 00:48:21 +0800</pubDate><description><![CDATA[输入一个字符串和一个字符，如果该字符在字符串中，就从该字符首次出现的位置开始输出字符串中的字符。本题要求编写函数match(s, ch)，在字符串s中查找字符ch，如果找到，返回第一次找到的该字符在字符串中的位置（地址）；否则，返回空指针NULL。

函数接口定义：


char * match(char *s, char ch);

其中s是字符串首地址，ch是要查找的字符。

裁判测试程序样例：


#include &lt;stdio.h&gt;
char *match(char *s, char c]]></description><category></category></item><item><title><![CDATA[指定位置输出字符串]]></title><link>https://blog.youkuaiyun.com/IDWHH/article/details/122076590</link><guid>https://blog.youkuaiyun.com/IDWHH/article/details/122076590</guid><author>IDWHH</author><pubDate>Wed, 22 Dec 2021 00:47:15 +0800</pubDate><description><![CDATA[本题要求实现一个函数，对给定的一个字符串和两个字符，打印出给定字符串中从与第一个字符匹配的位置开始到与第二个字符匹配的位置之间的所有字符。

函数接口定义：


char *match( char *s, char ch1, char ch2 );

函数match应打印s中从ch1到ch2之间的所有字符，并且返回ch1的地址。

裁判测试程序样例：


#include &lt;stdio.h&gt;

#define MAXS 10

char *match( char *s, char ch1, ch]]></description><category></category></item><item><title><![CDATA[通讯录排序]]></title><link>https://blog.youkuaiyun.com/IDWHH/article/details/121948612</link><guid>https://blog.youkuaiyun.com/IDWHH/article/details/121948612</guid><author>IDWHH</author><pubDate>Wed, 15 Dec 2021 11:32:13 +0800</pubDate><description><![CDATA[输入n个朋友的信息，包括姓名、生日、电话号码，本题要求编写程序，按照年龄从大到小的顺序依次输出通讯录。题目保证所有人的生日均不相同。

输入格式:

输入第一行给出正整数n（&lt;10）。随后n行，每行按照“姓名 生日 电话号码”的格式给出一位朋友的信息，其中“姓名”是长度不超过10的英文字母组成的字符串，“生日”是yyyymmdd格式的日期，“电话号码”是不超过17位的数字及+、-组成的字符串。

输出格式:

按照年龄从大到小输出朋友的信息，格式同输出。

输入样例:


3
zhang 198504]]></description><category></category></item><item><title><![CDATA[找出总分最高的学生]]></title><link>https://blog.youkuaiyun.com/IDWHH/article/details/121947155</link><guid>https://blog.youkuaiyun.com/IDWHH/article/details/121947155</guid><author>IDWHH</author><pubDate>Wed, 15 Dec 2021 10:43:36 +0800</pubDate><description><![CDATA[给定N个学生的基本信息，包括学号（由5个数字组成的字符串）、姓名（长度小于10的不包含空白字符的非空字符串）和3门课程的成绩（[0,100]区间内的整数），要求输出总分最高学生的姓名、学号和总分。

输入格式：

输入在一行中给出正整数N（≤10）。随后N行，每行给出一位学生的信息，格式为“学号 姓名 成绩1 成绩2 成绩3”，中间以空格分隔。

输出格式：

在一行中输出总分最高学生的姓名、学号和总分，间隔一个空格。题目保证这样的学生是唯一的。

输入样例：


5
00001 huanglan 78 8]]></description><category></category></item><item><title><![CDATA[查找书籍（给定……）]]></title><link>https://blog.youkuaiyun.com/IDWHH/article/details/121940353</link><guid>https://blog.youkuaiyun.com/IDWHH/article/details/121940353</guid><author>IDWHH</author><pubDate>Tue, 14 Dec 2021 21:20:28 +0800</pubDate><description><![CDATA[给定n本书的名称和定价，本题要求编写程序，查找并输出其中定价最高和最低的书的名称和定价。

输入格式:

输入第一行给出正整数n（&lt;10），随后给出n本书的信息。每本书在一行中给出书名，即长度不超过30的字符串，随后一行中给出正实数价格。题目保证没有同样价格的书。

输出格式:

在一行中按照“价格, 书名”的格式先后输出价格最高和最低的书。价格保留2位小数。

输入样例:


3
Programming in C
21.5
Programming in VB
18.5
Programming in ]]></description><category></category></item><item><title><![CDATA[递归求逆序数]]></title><link>https://blog.youkuaiyun.com/IDWHH/article/details/121939999</link><guid>https://blog.youkuaiyun.com/IDWHH/article/details/121939999</guid><author>IDWHH</author><pubDate>Tue, 14 Dec 2021 21:01:51 +0800</pubDate><description><![CDATA[本题要求实现一个求非负整数的逆序数的简单函数，建议用递归实现。

函数接口定义：


unsigned int reverse( unsigned int number );

其中number是用户传入的参数，number的值不超过unsigned int的范围；函数须返回用户传入的非负整数number的逆序数，建议用递归实现。

裁判测试程序样例：


#include &lt;stdio.h&gt;
# include &lt;math.h&gt;

unsigned int reverse( ...]]></description><category></category></item><item><title><![CDATA[按等级统计学生成绩]]></title><link>https://blog.youkuaiyun.com/IDWHH/article/details/121929830</link><guid>https://blog.youkuaiyun.com/IDWHH/article/details/121929830</guid><author>IDWHH</author><pubDate>Tue, 14 Dec 2021 16:13:02 +0800</pubDate><description><![CDATA[本题要求实现一个根据学生成绩设置其等级，并统计不及格人数的简单函数。

函数接口定义：


int set_grade( struct student *p, int n );

其中p是指向学生信息的结构体数组的指针，该结构体的定义为：


struct student{
    int num;
    char name[20];
    int score;
    char grade;
};

n是数组元素个数。学号num、姓名name和成绩score均是已经存储好的。set_grade函数需要]]></description><category></category></item><item><title><![CDATA[字符串的连接]]></title><link>https://blog.youkuaiyun.com/IDWHH/article/details/121750124</link><guid>https://blog.youkuaiyun.com/IDWHH/article/details/121750124</guid><author>IDWHH</author><pubDate>Mon, 06 Dec 2021 16:31:22 +0800</pubDate><description><![CDATA[本题要求实现一个函数，将两个字符串连接起来。

函数接口定义：


char *str_cat( char *s, char *t );

函数str_cat应将字符串t复制到字符串s的末端，并且返回字符串s的首地址。

裁判测试程序样例：


#include &lt;stdio.h&gt;
#include &lt;string.h&gt;

#define MAXS 10

char *str_cat( char *s, char *t );

int main()
{
    char *p;
  ]]></description><category></category></item><item><title><![CDATA[删除字符-]]></title><link>https://blog.youkuaiyun.com/IDWHH/article/details/121749670</link><guid>https://blog.youkuaiyun.com/IDWHH/article/details/121749670</guid><author>IDWHH</author><pubDate>Mon, 06 Dec 2021 16:19:00 +0800</pubDate><description><![CDATA[本题要求实现一个删除字符串中的指定字符的简单函数。

函数接口定义：


void delchar( char *str, char c );

其中char *str是传入的字符串，c是待删除的字符。函数delchar的功能是将字符串str中出现的所有c字符删除。

裁判测试程序样例：


#include &lt;stdio.h&gt;
#define MAXN 20

void delchar( char *str, char c );
void ReadString( char s[] ); /* ]]></description><category></category></item><item><title><![CDATA[使用函数实现字符串部分复制]]></title><link>https://blog.youkuaiyun.com/IDWHH/article/details/121749380</link><guid>https://blog.youkuaiyun.com/IDWHH/article/details/121749380</guid><author>IDWHH</author><pubDate>Mon, 06 Dec 2021 16:09:20 +0800</pubDate><description><![CDATA[本题要求编写函数，将输入字符串t中从第m个字符开始的全部字符复制到字符串s中。

函数接口定义：


void strmcpy( char *t, int m, char *s );

函数strmcpy将输入字符串char *t中从第m个字符开始的全部字符复制到字符串char *s中。若m超过输入字符串的长度，则结果字符串应为空串。

裁判测试程序样例：


#include &lt;stdio.h&gt;
#define MAXN 20

void strmcpy( char *t, int m, ch]]></description><category></category></item><item><title><![CDATA[字符串压缩]]></title><link>https://blog.youkuaiyun.com/IDWHH/article/details/121748717</link><guid>https://blog.youkuaiyun.com/IDWHH/article/details/121748717</guid><author>IDWHH</author><pubDate>Mon, 06 Dec 2021 15:47:41 +0800</pubDate><description><![CDATA[本题要求实现一个字符串压缩的简单函数。压缩规则是：如果某个字符x连续出现n（n&gt;1）次，则将这n个字符x替换为nx的形式；否则保持不变。

函数接口定义：


void zip( char *p );

函数zip对p指向的字符串进行压缩操作。

裁判测试程序样例：


#include &lt;stdio.h&gt;
#define MAXS 20

void zip( char *p );
void ReadString( char *s ); /* 由裁判实现，略去不表 */

int main]]></description><category></category></item><item><title><![CDATA[输入年份和天数，输出对应的年、月、日]]></title><link>https://blog.youkuaiyun.com/IDWHH/article/details/121746364</link><guid>https://blog.youkuaiyun.com/IDWHH/article/details/121746364</guid><author>IDWHH</author><pubDate>Mon, 06 Dec 2021 14:32:44 +0800</pubDate><description><![CDATA[要求定义和调用函数month_day ( year, yeardy, *pmonth, *pday)，通过参数pmonth和pday返回计算得出的月和日。例如，输入2000和61，分别返回3和1，即2000年的第61天是3月1日。

函数接口定义：


void month_day ( year, yeardy, *pmonth, *pday)

其中year是年，yearday是天数，*pmonth和*pday是计算得出的月和日。

裁判测试程序样例：


# include &lt;stdio.h&gt]]></description><category></category></item><item><title><![CDATA[利用指针找最大值]]></title><link>https://blog.youkuaiyun.com/IDWHH/article/details/121745689</link><guid>https://blog.youkuaiyun.com/IDWHH/article/details/121745689</guid><author>IDWHH</author><pubDate>Mon, 06 Dec 2021 14:06:55 +0800</pubDate><description><![CDATA[6-2 利用指针找最大值 (10 分)

本题要求实现一个简单函数，找出两个数中的最大值。

函数接口定义：


void findmax( int *px, int *py, int *pmax );

其中px和py是用户传入的两个整数的指针。函数findmax应找出两个指针所指向的整数中的最大值，存放在pmax指向的位置。

裁判测试程序样例：


#include &lt;stdio.h&gt;

void findmax( int *px, int *py, int *pmax );

int m]]></description><category></category></item><item><title><![CDATA[计算两数的和与差]]></title><link>https://blog.youkuaiyun.com/IDWHH/article/details/121743586</link><guid>https://blog.youkuaiyun.com/IDWHH/article/details/121743586</guid><author>IDWHH</author><pubDate>Mon, 06 Dec 2021 14:03:47 +0800</pubDate><description><![CDATA[本题要求实现一个计算输入的两数的和与差的简单函数。

函数接口定义：


void sum_diff( float op1, float op2, float *psum, float *pdiff );

其中op1和op2是输入的两个实数，*psum和*pdiff是计算得出的和与差。

裁判测试程序样例：


#include &lt;stdio.h&gt;

void sum_diff( float op1, float op2, float *psum, float *pdiff );

int m]]></description><category></category></item><item><title><![CDATA[字符串排序]]></title><link>https://blog.youkuaiyun.com/IDWHH/article/details/121742521</link><guid>https://blog.youkuaiyun.com/IDWHH/article/details/121742521</guid><author>IDWHH</author><pubDate>Mon, 06 Dec 2021 11:02:02 +0800</pubDate><description><![CDATA[本题要求编写程序，读入5个字符串，按由小到大的顺序输出。

输入格式：

输入为由空格分隔的5个非空字符串，每个字符串不包括空格、制表符、换行符等空白字符，长度小于80。

输出格式：

按照以下格式输出排序后的结果：


After sorted:
每行一个字符串

输入样例：


red yellow blue black white

结尾无空行

输出样例：


After sorted:
black
blue
red
white
yellow

结尾无空行

代码：


#include&lt;s]]></description><category></category></item><item><title><![CDATA[找最小的字符串]]></title><link>https://blog.youkuaiyun.com/IDWHH/article/details/121741842</link><guid>https://blog.youkuaiyun.com/IDWHH/article/details/121741842</guid><author>IDWHH</author><pubDate>Mon, 06 Dec 2021 10:38:45 +0800</pubDate><description><![CDATA[本题要求编写程序，针对输入的N个字符串，输出其中最小的字符串。

输入格式：

输入第一行给出正整数N；随后N行，每行给出一个长度小于80的非空字符串，其中不会出现换行符，空格，制表符。

输出格式：

在一行中用以下格式输出最小的字符串：


Min is: 最小字符串

输入样例：


5
Li
Wang
Zha
Jin
Xian

结尾无空行

输出样例：


Min is: Jin

结尾无空行

代码：


#include&lt;stdio.h&gt;
#include&lt;string.h&]]></description><category></category></item><item><title><![CDATA[【模板】快速排序]]></title><link>https://blog.youkuaiyun.com/IDWHH/article/details/121604094</link><guid>https://blog.youkuaiyun.com/IDWHH/article/details/121604094</guid><author>IDWHH</author><pubDate>Mon, 29 Nov 2021 10:33:34 +0800</pubDate><description><![CDATA[题目描述

利用快速排序算法将读入的N 个数从小到大排序后输出。

输入格式

第1行为一个正整数N，第2行包含N个空格隔开的正整数ai​，为你需要进行排序的数，数据保证了 ai​不超过10^9。

输出格式

将给定的N个数从小到大输出，数之间空格隔开，行末换行且无空格。

输入输出样例

输入 #1


5
4 2 4 5 1

输出 #1


1 2 4 4 5

说明/提示

对于20%的数据，有 N≤10^3；

对于100%的数据，有N≤10^5。

代码

...]]></description><category></category></item></channel></rss>