c语言

C语言I博客作业04

可紊 提交于 2020-02-21 19:53:10
问题 答案 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/9774 我在这个课程的目标是 用for语句对累加类的进行编程 这个作业在那个具体方面帮助我实现目标 累加计算 参考文献 《c语言程序设计》 1.PTA实验作业 1.1 7-2 求奇数分之一序列前N项和 题目内容:计算序列 1 + 1/3 + 1/5 + ... 的前N项之和。 1.1.1数据处理 数据表达:用了整型变量i,n和双精度浮点变量sum,s。 数据处理:数据表达用了sum=1,s=1,s=s+1,sum=sum+1.0/s。数据流程用了for语句。 1.1.2实验代码截图 1.1.3 造测试数据 输入数据 输出数据 说明 20 sum= 2.479673 等于20 17 sum=2.398434 小于20 27 sum=2.629702 大于20 37 sum=2.787229 大于30 1.1.4 PTA提交列表及说明 1.答案错误:在循环前没有给s赋值。 2.答案错误:在循环前没有给sum赋值。 3.答案错误:循环条件中没有将i赋值为1。 1.2 7-5 求交错序列前N项和 题目内容:计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。计算交错序列 1-2

C语言中的union联合变量是什么意思

走远了吗. 提交于 2020-02-21 10:47:00
什么是联合变量 c语言中的union 是联合体,就是一个多个变量的结构同时使用一块内存区域,区域的取值大小为该结构中长度最大的变量的值 联合的定义 定义一个联合类型的一般形式为: union 联合名 { 成员表 }; 成员表中含有若干成员,成员的一般形式为: 类型说明符 成员名 。成员名的命名应符合标识符的规定。例如: union perdata { int class; char office[10]; }; 定义了一个名为perdata的联合类型,它含有两个成员,一个为整型,成员名为class;另一个为字符数组,数组名为office。联合定义之后,即可进行联合变量说明,被说明为perdata类型的变量,可以存放整型量class或存放字符数组office。 联合变量的说明 联合变量的说明和结构变量的说明方式相同, 也有三种形式。即 A.先定义,再说明; B.定义同时说明; C.直接说明 以perdata类型为例,说明如下: union perdata { int class; char office[10]; }; union perdata a,b; 或者可同时说明为: union perdata { int class; char office[10]; }a,b; 或直接说明为: Union { int class; char office[10]; }a,b ;

HDOJ题目分类

你。 提交于 2020-02-21 07:22:40
1001 整数求和 水题 1002 C语言实验题——两个数比较 水题 1003 1、2、3、4、5... 简单题 1004 渊子赛马 排序+贪心的方法归并 1005 Hero In Maze 广度搜索 1006 Redraiment猜想 数论:容斥定理 1007 童年生活二三事 递推题 1008 University 简单hash 1009 目标柏林 简单模拟题 1010 Rails 模拟题(堆栈) 1011 Box of Bricks 简单题 1012 IMMEDIATE DECODABILITY Huffman编码 1013 STAMPS 搜索or动态规划 1014 Border 模拟题 1015 Simple Arithmetics 高精度计算 1016 Shoot-out 博弈+状态压缩DP 1017 Tour Guide 1018 Card Trick 简单题 1019 Necklace Decomposition 贪心 1020 Crashing Robots 模拟题 1021 Electrical Outlets 简单题 1022 Watchdog 简单题 1023 Taxi Cab Scheme 图论:最小路径覆盖--->最大二分匹配 1024 Pseudo-random Numbers 数论 1025 Card Game Cheater 简单题 1026

蓝桥杯 数组求和【C语言】---Q君

心不动则不痛 提交于 2020-02-21 05:42:19
问题描述   输入n个数,围成一圈,求连续m(m<n)个数的和最大为多少? 输入格式   输入的第一行包含两个整数n, m。第二行,共n个整数。 输出格式   输出1行,包含一个整数,连续m个数之和的最大值。 样例输入 10 3 9 10 1 5 9 3 2 6 7 4 样例输出 23 解析: 先算出0~m个数的和,当下标到n-1时,应该回到0下标,即用j来循环求和 代码: # include <stdio.h> int main ( ) { int n , m , a [ 100 ] , max ; int i , j ; int sum = 0 ; scanf ( "%d%d" , & n , & m ) ; if ( n == 0 ) return 0 ; for ( i = 0 ; i < n ; i ++ ) scanf ( "%d" , & a [ i ] ) ; for ( i = 0 ; i < m ; i ++ ) sum + = a [ i ] ; max = sum ; for ( i = 1 ; i <= n - m ; i ++ ) { sum - = a [ i - 1 ] ; sum + = a [ m + i - 1 ] ; if ( sum > max ) max = sum ; } for ( i = n - m + 1 , j = 0 ; i

window系统sublime3+MinGW配置C语言编译环境出现中文乱码解决方法

天大地大妈咪最大 提交于 2020-02-21 05:24:27
window系统sublime3+MinGW配置C语言编译环境出现中文乱码解决方法 window系统sublime3+MinGW配置C语言编译环境出现中文乱码一般是因为控制台、cpp编码与你的源文件编码格式不符,我们需要设置参数 把你的.sublime-build里的内容换成这个 { "cmd": ["gcc", "${file}", "-o", "${file_path}/${file_base_name}"], "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", "working_dir": "${file_path}", "selector": "source.c", "variants": [ { "name": "Run", "cmd": ["cmd", "/c", "gcc", "${file}", "-o", "${file_path}/${file_base_name}", "&&", "cmd", "/c", "${file_path}/${file_base_name}"] }, { "name": "RunInCommand", "cmd": ["cmd", "/c", "gcc", "-fexec-charset=GBK", "-finput-charset=UTF-8", "${file}", "

C语言--压缩字符串

霸气de小男生 提交于 2020-02-20 18:04:55
压缩字符串 给定一组字符,使用原地算法将其压缩。 压缩后的长度必须始终小于或等于原数组长度。 数组的每个元素应该是长度为1 的字符(不是 int 整数类型)。 在完成原地修改输入数组后,返回数组的新长度。 示例1: 输入:["a","a","b","b","c","c","c"] 输出:返回6,输入数组的前6个字符应该是:["a","2","b","2","c","3"] 说明: "aa"被"a2"替代。"bb"被"b2"替代。"ccc"被"c3"替代。 示例2: 输入:["a"] 输出:返回1,输入数组的前1个字符应该是:["a"] 说明: 没有任何字符串被替代。 示例3: 输入:["a","b","b","b","b","b","b","b","b","b","b","b","b"] 输出:返回4,输入数组的前4个字符应该是:["a","b","1","2"]。 说明: 由于字符"a"不重复,所以不会被压缩。"bbbbbbbbbbbb"被“b12”替代。 注意每个数字在数组中都有它自己的位置。 注意: 1.所有字符都有一个ASCII值在[35, 126]区间内 2.1 <= len(chars) <= 1000 int compress ( char * chars , int charsSize ) { if ( charsSize == 1 ) { return 1 ; }

C语言内存小结

人盡茶涼 提交于 2020-02-20 13:05:12
学习C语言是了解内存布局的最简单、最直接、最有效的途径, 它比任何一门高级编程语言都贴近内存。以前学习C语言内存也有一段时间,却也是零零散散,于是打算写一篇博客,整理一下关于内存的内容。 内存优化小结: 计算机内存是以字节(Byte)为单位划分的,理论上CPU可以访问任意编号的字节,但是由于内存对齐(编译器的优化),情况就有所不同; CPU 通过地址总线来访问内存,一次能处理几个字节的数据,就命令地址总线读取几个字节的数据。32 位的 CPU 一次可以处理4个字节的数据,那么每次就从内存读取4个字节的数据,这就是意味着CPU读取的内存单元的标号一定是4的倍数;对于程序来说,一个变量最好位于一个寻址步长的范围内,这样一次就可以读取到变量的值;如果跨步长存储,就需要读取两次,然后再拼接数据,效率显然降低了。 例如一个 int 类型的数据,如果地址为 8,那么很好办,对编号为 8 的内存寻址一次就可以。如果编号为 10,就比较麻烦,CPU需要先对编号为 8 的内存寻址,读取4个字节,得到该数据的前半部分,然后再对编号为 12 的内存寻址,读取4个字节,得到该数据的后半部分,再将这两部分拼接起来,才能取得数据的值。 64位的处理器也是这个道理,同样的分析。 虚拟地址小结: 虚拟地址在寄存器层面是段地址+偏移地址,这两个地址通过内部总线传输到CPU的内部结构—

C语言基础学习

谁说我不能喝 提交于 2020-02-20 06:33:55
C语言运算符分为以下几类: 算术运算符:用于各类数值运算。包括 加(+),减(-),乘(*),除(/),求余(%),自增(++),自减(--)。 关系运算符:用于比较运算。包括大于(>),小于(<),等于(==),大于等于(>=),小于等于(<=),不等于(!=)。 逻辑运算符:用于逻辑运算。包括与(&&),或(||),非(!)。 位操作运算符:参与运算的量,按二进制进行运算。包括 位与(&),位或(|),位非(~),位异或(^),左移(<<),右移(>>)。 赋值运算符:用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共11种。 条件运算符:这是一个三目运算符,用于条件求值(?:)。 逗号运算符:用于把若干表达式组合成一个表达式(,)。 指针运算符:用于取内容(*)和取地址(&)两种运算。 求字节数运算符:用于计算数据类型所占的字节数(sizeof)。 特殊运算符:有括号(),下标[],成员(→,.)等几种。 运算符的优先级和结合性: 一般而言,单目运算符优先级较高,赋值运算符优先级低。 算术运算符优先级较高,关系和逻辑运算符优先级较低。 多数运算符具有左结合性,单目运算符、三目运算符、赋值运算符具有合性。 来源: CSDN 作者: 浪子回头(杰) 链接: https://blog.csdn

C语言基础学习

旧巷老猫 提交于 2020-02-19 22:49:22
C语言运算符分为以下几类: 算术运算符:用于各类数值运算。包括 加(+),减(-),乘(*),除(/),求余(%),自增(++),自减(--)。 关系运算符:用于比较运算。包括大于(>),小于(<),等于(==),大于等于(>=),小于等于(<=),不等于(!=)。 逻辑运算符:用于逻辑运算。包括与(&&),或(||),非(!)。 位操作运算符:参与运算的量,按二进制进行运算。包括 位与(&),位或(|),位非(~),位异或(^),左移(<<),右移(>>)。 赋值运算符:用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共11种。 条件运算符:这是一个三目运算符,用于条件求值(?:)。 逗号运算符:用于把若干表达式组合成一个表达式(,)。 指针运算符:用于取内容(*)和取地址(&)两种运算。 求字节数运算符:用于计算数据类型所占的字节数(sizeof)。 特殊运算符:有括号(),下标[],成员(→,.)等几种。 运算符的优先级和结合性: 一般而言,单目运算符优先级较高,赋值运算符优先级低。 算术运算符优先级较高,关系和逻辑运算符优先级较低。 多数运算符具有左结合性,单目运算符、三目运算符、赋值运算符具有合性。 来源: CSDN 作者: 浪子回头(杰) 链接: https://blog.csdn

C语言计算三角形面积代码

我与影子孤独终老i 提交于 2020-02-19 14:17:51
C语言三角形面积代码 / 初次接触C语言,作为初学者希望与大家共同进步,若有不足还请海涵!代码可直接复制。 / # include "StdAfx.h" # include <stdio.h> //可去 # include <math.h> void again ( ) ; void main ( ) { float a , b , c ; float s ; float j , m ; char z ; printf ( "\n | 三角形面积计算器 \n |请键入三角形三边a b c 长度:\n" ) ; printf ( " | 第一条边= " ) ; scanf ( "%f" , & a ) ; printf ( " | 第二条边= " ) ; scanf ( "%f" , & b ) ; printf ( " | 第三条边= " ) ; scanf ( "%f" , & c ) ; printf ( " |______________________________________________________________" ) ; scanf ( "%c" , & z ) ; //scanf("%f%f%f",&a,&b,&c); //同上等效 s = ( ( a + b + c ) / 2 ) ; j = ( s * ( ( s - b ) * ( s - c