char

第八周作业

筅森魡賤 提交于 2020-02-16 09:51:02
函数题一:函数实现字符串逆序 本题要求实现一个字符串逆序的简单函数。 函数接口定义: void f( char *p ); 函数f对p指向的字符串进行逆序操作。要求函数f中不能定义任何数组,不能调用任何字符串处理函数。 裁判测试程序样例: #include <stdio.h> #define MAXS 20 void f( char *p ); void ReadString( char *s ); /* 由裁判实现,略去不表 */ int main() { char s[MAXS]; ReadString(s); f(s); printf("%s\n", s); return 0; } /* 你的代码将被嵌在这里 */ 输入样例: Hello World! 输出样例: !dlroW olleH 实验代码 void f( char *p ) { int i=0,q=0,h,tmp; while(p[i]!='\0') i++; h=i-1; while(q<=h) { tmp=p[q]; p[q]=p[h]; p[h]=tmp; q++; h--; } return ; } 设计思路及其流程图 本题所遇到的问题及解决办法 无 运行结果截图 函数题二: 本题要求实现一个函数,将两个字符串连接起来。 函数接口定义: char *str_cat( char *s, char *t );

面向对象程序设计寒假作业3

拥有回忆 提交于 2020-02-16 09:07:50
这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/2020OOP 这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/2020OOP/homework/10288 这个作业的目标 1. 继续完成编程题并制作测试 作业正文 1编程题 仓库地址 https://github.com/chen1357/homework 参考文献 https://blog.csdn.net/yjx4102/article/details/79319305 一、编程题 1.扩大数字范围 (1)增加负数范围 在“ 整数 ”运算过程中出现负数时不再报错,而是继续运算,同时输入与输出都可以是负数。同时新增加了“ 自然数 ”,若初始输入“ 自然数 ”,如果运算出现负数则报错。 初始值输入的判断进行了修改。 scanf("%s%s%s%s",a,b,c,d); if(strcmp(a,"整数")!=0&&strcmp(a,"自然数")!=0) { printf("输入有误,请重新输入\n"); continue; } 在运算过程中的判断也进行了修改。 if (sum<k && strcmp(a,"自然数")==0) printf("%s不能为负值,请重新输入\n",b); else sum -= k;; 并且在输出的函数中增加了这一部分。

CF1301A- Three Strings

给你一囗甜甜゛ 提交于 2020-02-16 08:37:30
对应位要么全相等,要么ac,bc有一个相等,ab不行。 1 #include <cstdio> 2 #include <cstring> 3 using namespace std; 4 char a[110],b[110],c[110]; 5 int len,T; 6 bool suc; 7 bool check(char a,char b,char c) 8 { 9 if ((a == b && b == c) || (a == c) || (b == c)) 10 return true; 11 return false; 12 } 13 int main() 14 { 15 for (scanf("%d",&T);T;T--) 16 { 17 suc = true; 18 scanf("%s%s%s",a + 1,b + 1,c + 1); 19 len = strlen(a + 1); 20 for (int i = 1;i <= len;i++) 21 if (!check(a[i],b[i],c[i])) 22 { 23 suc = false; 24 break; 25 } 26 if (suc == true) 27 printf("YES\n"); 28 else 29 printf("NO\n"); 30 } 31 return 0; 32 } 来源:

面向对象程序设计作业3

不羁岁月 提交于 2020-02-16 01:13:09
这个作业属于哪个课程 【面向对象程序设计寒假作业3】( https://edu.cnblogs.com/campus/fzu/2020OOP/homework/10288 ) 这个作业的目标 1.继续完成作业二的编程题。2.优化架构,思考代码的拓展性,比如我需要增加其他功能,如选择,循环语句怎么办。3.思考:可以参考现有的编程语言,把这些语言的内容加入。如选择、循环语句、函数、或者扩大数字范围,支持负数等。 作业正文 【面向对象程序设计作业3】( https:////www.cnblogs.com/dudu340/p/12310718.html ) 【仓库地址】( https://github.com/dudu340/FZU--OOP--homework )(但是我的代码并没有编译成功,具体失败见下文) 编程题 对于编程题的优化,我首先对于我上次作业的输出进行了调整,改为了: # include<stdio.h> # include<string.h> int main() { int sum,m,n; int zhi(char s[15]); int zengjia(char s[15]); int jianshao(char s[15]); char *shuchu(int sum); char s1[15],s2[15],s3[15],s4[15]; char str1[15

Pytorch深度学习(2) -- RNN及其进阶模型实现 ( GRU LSTM Deep-Rnn Bi-Rnn)

夙愿已清 提交于 2020-02-16 01:04:31
Pytorch深度学习(2) -- RNN及其进阶模型实现 0 预测训练函数 1.RNN实现 RNN小结 2.GRU实现 GRU小结 3.LSTM实现 LSTM小结 4.Deep-RNN 加入参数num_layers=2 5.Bi-Rnn实现 加入参数bidirectional=True 0 预测训练函数 def train_and_predict_rnn ( rnn , get_params , init_rnn_state , num_hiddens , vocab_size , device , corpus_indices , idx_to_char , char_to_idx , is_random_iter , num_epochs , num_steps , lr , clipping_theta , batch_size , pred_period , pred_len , prefixes ) : if is_random_iter : data_iter_fn = d2l . data_iter_random else : data_iter_fn = d2l . data_iter_consecutive params = get_params ( ) loss = nn . CrossEntropyLoss ( ) for epoch in range (

2020面向对象寒假作业(三)

邮差的信 提交于 2020-02-15 18:45:23
2020面向对象寒假作业(三) 这个作业属于哪里 2020面向对象程序设计 这个作业在哪里 2020面向对象寒假作业三 这个作业目标 1.继续完成编程题 2.发布博客 作业正文 2020面向对象寒假作业(三) 参考文献 - 1.代码优化 (1)num中文转数字计算函数 原函数 int num(char d[]) { if(!strcmp(d,"零")) return 0; else if(!strcmp(d,"一")) return 1; else if(!strcmp(d,"二")) return 2; else if(!strcmp(d,"三")) return 3; else if(!strcmp(d,"四")) return 4; else if(!strcmp(d,"五")) return 5; else if(!strcmp(d,"六")) return 6; else if(!strcmp(d,"七")) return 7; else if(!strcmp(d,"八")) return 8; else if(!strcmp(d,"九")) return 9; else if(!strcmp(d,"十")) return 10; else return -1; } 优化函数 int num(char d[]) { char nums[11][4]={"零","一","二

61.序列化二叉树

拥有回忆 提交于 2020-02-15 16:43:14
题目 请实现两个函数,分别用来序列化和反序列化二叉树 二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树遍历方式来进行修改,序列化的结果是一个字符串,序列化时通过 某种符号表示空节点(#),以 ! 表示一个结点值的结束(value!)。 二叉树的反序列化是指:根据某种遍历顺序得到的序列化字符串结果str,重构二叉树。 思路 思路一 非递归用按层序列化和反序列化。代码贼长。 序列化:用队列,结点进队列。每次一个结点处队列,将结点的左右孩子序列化,如果孩子不为空,将数字和!加入到字符串中,同时让孩子进队列。如果为空,把‘#’加入到字符串中。 反序列化,也要用到一个队列。先构建根结点,如果字符串中当前字符为‘#’,则跟节点的孩子为空。反之构造新结点,同时将新创建的孩子结点放入队列中,在下一次循环开始时,出队列一个结点,继续确定并左右孩子,然后将非空结点放入队列中… 循环直到队列为空。 思路二 用递归的方法,代码较短。 使用前序遍历 代码一 /* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL),

使用librtmp进行H264与AAC直播

…衆ロ難τιáo~ 提交于 2020-02-15 13:26:33
libx264 版本是 128 libfaac 版本是 1.28 1、帧的划分 1.1 H.264 帧 对于 H.264 而言每帧的 界定符 为 00 00 00 01 或者 00 00 01 。 比如下面的 h264 文件片断这就包含三帧数据: 第一帧是 00 00 00 01 67 42 C0 28 DA 01 E0 08 9F 96 10 00 00 03 00 10 00 00 03 01 48 F1 83 2A 第二帧是 00 00 00 01 68 CE 3C 80 第三帧是 00 00 01 06 05 FF FF 5D DC 45 E9 BD E6 D9 48 B7 96 2C D8 20 D9 23 EE EF .. 帧类型有: NAL_SLICE = 1 NAL_SLICE_DPA = 2 NAL_SLICE_DPB = 3 NAL_SLICE_DPC = 4 NAL_SLICE_IDR = 5 NAL_SEI = 6 NAL_SPS = 7 NAL_PPS = 8 NAL_AUD = 9 NAL_FILLER = 12, 我们发送 RTMP 数据时只需要知道四种帧类型,其它类型我都把它规类成非关键帧。分别是 NAL_SPS(7), sps 帧 NAL_PPS(8), pps 帧 NAL_SLICE_IDR(5), 关键帧 NAL_SLICE(1) 非关键帧

语言模型

人盡茶涼 提交于 2020-02-15 12:41:07
1 读取数据集 with open ( '/home/kesci/input/jaychou_lyrics4703/jaychou_lyrics.txt' ) as f : corpus_chars = f . read ( ) print ( len ( corpus_chars ) ) print ( corpus_chars [ : 40 ] ) corpus_chars = corpus_chars . replace ( '\n' , ' ' ) . replace ( '\r' , ' ' ) corpus_chars = corpus_chars [ : 10000 ] 2 建立字符索引 idx_to_char = list ( set ( corpus_chars ) ) # 去重,得到索引到字符的映射 char_to_idx = { char : i for i , char in enumerate ( idx_to_char ) } # 字符到索引的映射 vocab_size = len ( char_to_idx ) print ( vocab_size ) corpus_indices = [ char_to_idx [ char ] for char in corpus_chars ] # 将每个字符转化为索引,得到一个索引的序列 sample =

Pytorch学习笔记 Task02

混江龙づ霸主 提交于 2020-02-15 11:19:28
第一部分:文本预处理 文本是一类序列数据,一篇文章可以看作是字符或单词的序列,本节将介绍文本数据的常见预处理步骤,预处理通常包括四个步骤: 读入文本 分词 建立字典,将每个词映射到一个唯一的索引(index) 将文本从词的序列转换为索引的序列,方便输入模型 #读入文本 import collections import re def read_time_machine ( ) : with open ( '/home/kesci/input/timemachine7163/timemachine.txt' , 'r' ) as f : lines = [ re . sub ( '[^a-z]+' , ' ' , line . strip ( ) . lower ( ) ) for line in f ] return lines lines = read_time_machine ( ) print ( '# sentences %d' % len ( lines ) ) #分词: def tokenize ( sentences , token = 'word' ) : """Split sentences into word or char tokens""" if token == 'word' : return [ sentence . split ( ' ' ) for