精华内容
下载资源
问答
  • x=/”,其长度为 72、带转义字符字符串(1) 字符串“abcn”:其中的'n'为转义字符(换行符),计算字符串长度时只能计作字符,所以该字符的长度为4(而不是5)。(2) 字符串“abcn'"":其中有4个转义字符:'n'...
    1、不带转义字符的字符

    如:“abc!x=/”,其长度为 7

    2、带转义字符的字符串

    (1) 字符串“abcn”:其中的'n'为转义字符(换行符),计算字符串长度时只能计作一个字符,所以该字符串的长度为4(而
    不是5)。


    (2) 字符串“abcn'"":其中有4个转义字符:'n'(换行符)、''(反斜杠)、'''(单引号)、'"'(双引号),所以该字符串的长度为7(而不是11)。


    (3) 字符串“abc0xyz”:其中有一个转义字符'0',它是字符串结束符,所以,当用函数strlen来测试该字符串的长度时,结果应该为3(而不是7)。


    (4) 字符串“abc0xy”:其中有一个转义字符''(反斜杠),这样,后面的字符串“0xy”照样计算,所以,该字符串的长度为7(而不是将第二个反斜杠与其后的0结合为一个转义字符'0',若那样的话,第一个反斜杠将无法处理,因为一个转义字符总是由反斜杠加其他字符组成的,单独的一个反斜杠不能作为任何合法的字符)。


    (5) 若将字符串“abc0xy”改为“abc0xy”:则其中有二个转义字符''(反斜杠)和'0'(字符串结束符),这时,当用函数strlen来测试该字符串的长度时,结果应该为4(而不是7)。


    (6) 若将字符串“abc0xy”改为“abc061xy”:则其中有二个转义字符''(反斜杠)和'061'(ASCII码值等于061的字符,也即数字字符'1'),'x12'(1和2为两个16进制数,同上),这时,当用函数strlen来测试该字符串的长度时,结果应该为7(而不是4或9)。所以,当遇到转义字符'0'时,还要看其后面是否还有数字,若有,则应将后面的数字(一至二位)与前面的'0'相结合作为一个字符计入整个字符串的长度。若用printf(“abc061xy”);输出,则输出结果为:abc1xy

    1、char指针引导的字符数组:

    strlen返回字符数组的长度,包括空格。
    #include<iostream>
    
    #include<cstring>
    
    using namespace std;
    
    int main()
    
    {
    
     const char* p = "hell o";   //因为"hell o"是常量型的,所以要加const
    
     
    
     cout<<strlen(p);
    
     return 0;
    
    } 
    

    结果:

    b726dff918f70fef96d141b6a81d45f3.png

    2、char数组:

    #include<iostream>
    
    #include<cstring>
    
    using namespace std;
    
    int main()
    
    {
    
     char p[] = "hell o";
    
     
    
     cout<<strlen(p);
    
     return 0;
    
    } 
    

    结果:

    c9745f962e7285fab05ba5229919d4e7.png

    3、string字符串的长度:

    #include<iostream>
    
    #include<cstring>
    
    using namespace std;
    
    int main()
    
    {
    
     string p = "hell o";	
    
     cout<<p.length();
    
     return 0;
    
    } 

    结果:

    e75c41c56d9201715cfc0dfad874b556.png

    4、char数组结束符 0:

    #include<iostream>
    
    #include<cstring>
    
    using namespace std;
    
    int main()
    
    {
    
     const char* p = "hel0l o";
    
     
    
     cout<<strlen(p);
    
     return 0;
    
    } 
    

    结果:

    6dbe28bf59aeaa226da48859536bf780.png

    5、string字符串结束符 0:

    #include<iostream>
    
    #include<cstring>
    
    using namespace std;
    
    int main()
    
    {
    
     string p = "hel0l o";
    
     
    
     cout<<p.length();
    
     return 0;
    
    } 

    结果:

    d67ca20dfec9d3959366830f6a15a0aa.png
    展开全文
  • 题目: 定义个char a[100][101]维字符数组,存储用户输入n行m列个字符。其中n由用户输入确定,1<=n<=100;而m不需要用户输入,1<=m<=100,也就是行最多只有100个有效字符。将n行字符串按照...

    题目: 定义一个char a[100][101]的二维字符数组,存储用户输入的n行m列个字符。其中n由用户输入确定,1<=n<=100;而m不需要用户输入,1<=m<=100,也就是一行最多只有100个有效字符。将n行字符串按照字符串长度从小到大排序,并输出排序后的结果。

    输入格式:
    用户先输入一个整数n,然后按回车键。 接下来输入n个字符串,每个字符串结束时按回车键。 注意:用户输入的一行字符信息中,可能含有空格和标点符号。

    输出格式:
    按照每行字符串长度升序排列后的输出结果,每行打印一个字符串。题目确保没有两行的长度完全相同。

    输入样例:
    用户输入数字5并回车后,输入五个字符串。

    5
    aaa
    b
    ccccc
    dd
    eeeeeee
    

    输出样例:
    按照输入的五个字符串的长度,从短到长输出。

    b
    dd
    aaa
    ccccc
    eeeeeee
    

    参考了林同学的代码以后稍作修改的标准答案代码:

    #include<stdio.h>
    #include<string.h>
    int main()
    {
    	int n;
    	scanf("%d",&n);
    	getchar();
    	
    	char a[100][101];
    	int len[n][2];
    	
    	int i,j,t;
    	for(i=0;i<n;i++)
    	{
    		gets(a[i]);
    		len[i][0]=strlen(a[i]);
    		len[i][1]=i;
    	}
    	
    	for(i=0;i<n-1;i++)
    	{
    		for(j=0;j<n-i-1;j++)
    		{
    			if(len[j][0]>len[j+1][0])
    			{
    				t=len[j][0];
    				len[j][0]=len[j+1][0];
    				len[j+1][0]=t;
    				
    				t=len[j][1];
    				len[j][1]=len[j+1][1];
    				len[j+1][1]=t;				
    			}
    		}
    	}
    	for(i=0;i<n;i++)
    	{
    		puts(a[len[i][1]]);
    	}
    }
    
    
    展开全文
  • 922. 按奇偶排序数组 II给定个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数。对数组进行排序,以便当 A[i] 为奇数时,i 也是奇数;当 A[i] 为偶数时, i 也是偶数。你可以返回任何满足上述条件的数组作为...

    8b28231e0a2b2b1c4e6384c657edc813.png

    922. 按奇偶排序数组 II

    给定一个非负整数数组 AA 中一半整数是奇数,一半整数是偶数。

    对数组进行排序,以便当 A[i] 为奇数时,i 也是奇数;当 A[i] 为偶数时, i 也是偶数。

    你可以返回任何满足上述条件的数组作为答案。

    示例:

    输入:[4,2,5,7]
    输出:[4,5,2,7]
    解释:[4,7,2,5],[2,5,4,7],[2,7,4,5] 也会被接受。

    提示:

    1. 2 <= A.length <= 20000
    2. A.length % 2 == 0
    3. 0 <= A[i] <= 1000

    来源:力扣(LeetCode) 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    题解:

    本题最直观的想法就是,创建一个新数组,遍历原数组,然后将奇数放入奇数索引位置,偶数放入偶数索引位置即可。

    具体代码如下:

    class Solution {
         public int[] sortArrayByParityII(int[] A) {
            int[] result = new int[A.length];
            int index = 0;
    
            //这里可以只是用一个循环
            //将所有偶数填入偶数位置
            for (int temp : A) {
                if (temp % 2 == 0) {
                    result[index] = temp;
                    index += 2;
                }
            }
    
            //将所有奇数填入奇数位置
            index = 1;
            for (int temp : A) {
                if (temp % 2 == 1) {
                    result[index] = temp;
                    index += 2;
                }
            }
    
            return result;
        }
    }

    由于上述方法需要使用额外空间,我们可以在原数组上进行修改,让j指向奇数索引位置,i指向偶数索引位置,两个指针每次移动两步,如果i指向当前位置的元素是奇数,就让j向后移动,直到j指向的元素为偶数,然后交换,用i指针遍历完整个数组,就会得到结果数组。

    具体代码如下:

    class Solution {
        public int[] sortArrayByParityII(int[] A) {
            int j = 1;
            for (int i = 0; i < A.length; i += 2){
                //如果i指向的是奇数,寻找j指向偶数的位置,两者进行交换
                if (A[i] % 2 == 1){
                    while (A[j] % 2 == 1){
                        j += 2;
                    }
                    int temp = A[i];
                    A[i] = A[j];
                    A[j] = temp;
                }
            }
            return A;
        }
    }
    展开全文
  • 展开全部首先说明第点,你这个代码只是给了个片段,无法全局对你编写32313133353236313431303231363533e78988e69d8331333431346430代码评估并确认问题。现在可以修改是获取控制台输入代码可以修改为:...

    展开全部

    首先说明第一点,你这个代码只是给了一个片段,无法全局的对你编写32313133353236313431303231363533e78988e69d8331333431346430的代码评估并确认问题。现在可以修改的是获取控制台输入的代码可以修改为:

    Scanner scanner=new Scanner(System.in);

    int n = scanner.nextInt();

    第二步骤:java.怎么对长度未知的二维字符数组进行赋值,代码完整编写。

    主要使用知识点1:接收控制台输入 Scanner scanner=new Scanner(System.in);

    主要知识点2:双层for循环解决二维数组的赋值问题

    public static void main(String[] args) {

    Scanner scanner=new Scanner(System.in);

    System.out.print("请输入一维数组的长度:");

    int n = scanner.nextInt();

    //换行

    System.out.println();

    System.out.print("请输入二维数组的长度:");

    int m = scanner.nextInt();

    //换行

    System.out.println();

    //创建数组

    String[][] strs = new String[n][m];

    for (int i = 0; i < strs.length; i++) {

    for (int j = 0; j < strs[i].length; j++) {

    System.out.print("请输入第"+(i+1)+"个数组的第"+(j+1)+"个元素的值:");

    strs[i][j] = scanner.next();

    System.out.println();

    }

    }

    System.out.println(strs);

    }

    40a9248ffe87e7fd84c7c5343b8e77e2.png

    5bde5aeaef6b6384c706d36b70698440.png

    1577169e28a3b7f942fecd4bb31a3976.png

    展开全文
  • c-一维字符数组

    千次阅读 2018-12-17 11:14:36
    一维字符数组的定义格式为: char 数组名[数组大小]; 例如:   char c[10]; 该语句定义了一个一维字符数组 c,大小为 10,即占 10 个字符变量空间,最大可存储长度为 9 的字符串(第 10 个字符为 '0')。由于...
  • 为什么要写这个字符串分割实现呢. 主要也是对这段时间学习的一个总结. 觉得自带strtok 方法实现得不够方便 .用惯了C# 还是希望他可以直接将 分割后字串返回. 其中也练习了几个知识点:结构体,指针,malloc ,...
  • 第一部分:一维数组 我们之前所学过数据类型都属于基本数据类型(整型、浮点型、字符型)。实际上C语言不仅仅可以操作基本数据类型,还可以操作构造数据类型(如结构体、数组等)。 数组是有序数据结合,数组中...
  • 一维字符数组的输入输出区别与其他类型的变量,字符型变量必须要以'0'结尾,所以定义的实际数组长度至少比有效字符多一个单位。eg: char s[80]; int i; printf("enter a string:"); while((s[i]=gechar())!='...
  • sizeof和strlen的区别 字符串和字符数组的区别 一维数组作为函数参数时需不需要传递数组长度,不传递行不行?
  • 我有故事,你有酒么?C++字符数组和C语言一样,在C++中用来存放字符数据的数组是...C++字符数组的定义定义字符数组的方法与上两节将的一维数组和二维数组类似,都是变量类型 变量名[常量表达式]//如char characte...
  • * php 针对一维数组字符长度排序 * $arr 要排序的数组 * $order 排序方式:升序--》asc,降序----》desc * $obj 排序目标:根据键----》key,根据值---》val * return 经过排序处理的数组...
  • 也经常在定义数组的时候就给初值 #define N 10 int a[N]={1,3,5,7,9}; 给了初值,就可以不写长度,下面默认数组长度是5 #define N 10 int a[]={1,3,5,7,9}; 定义数组时,[ ]里不能有变量,也不能为实型。 ...
  • 1字符数组的条件输出注意空格(首+中+尾)L1-039. 古风排版 中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把段文字按古风排版。输入格式: 输入在第行给出个正整数N(),是每列的字符...
  • c语言 一维字符数组

    千次阅读 2018-03-06 10:03:42
    什么是一维字符数组:char a[5];//这个数组中含有5各元素,每个元素都...1)一维字符数组从“整体上看”就是一个字符串,但是其中每一个元素还是一个字符2)关于字符串结束符号\0 A:\0虽然有2个字符,但是\...
  • 一维: int a[5]={1,2,3,4,5}; 二维: ...字符数组 一维 char c[]={'L','o','v','e','','y','o','u'}; 结果是:Love you(不赋值的单引号默认空格) 不指定长度会自动根据赋值来确定它的长度 ...
  • array.length是针对java中数组的,length是数组的个属性,用来表示数组的长度字符串长度是length()方法,而数组长度是length属性。 int [][] array = new int[3][2]; 数组行数为:array.length //二数组用...
  • 课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759【项目1 - 数组大折腾】 将所有元素值加倍后保存在数组中,... (1)创建长度为20整型数组,通过初始化,为数组中前10个元素赋初值,
  • a是个内含n个数组的数组,每个数组的大小为m字节,于是在内存中a占用了(n*m)个字节的空间 b. 数组名a具有地址含义,指向第个拥有m个字符元素数组 注意:此时如果给a赋值,那么字符的长度不能超过m-1 c. ...
  • 字符数组

    2020-09-02 19:54:18
    此时,定义一个一维数组,数组的长度是3个元素,元素的类型是int类型,元素可以存放一个整数值。 那么,如果数组元素的类型是char字符型,那么,这样的数组称为:字符数组。例如: chararray[3] = {'A', 'B', 'C'}...
  • 目录 一、字符数组 (1)字符数组的定义 ...//一维字符数组 char 数组名[常量表达式1][常量表达式2];//二维字符数组 (2)字符数组的初始化 在数组定义的同时对数组中的元素进行赋值,这个过程
  • 一维数组长度

    2014-06-10 18:41:42
    对于字符数组,用strlen()直接可获取; 对于其他类型数组,用a
  • 一维动态数组的应用

    2019-09-30 08:17:00
    输入数字,用其控制数组的长度,而后将数组中的小写字母转换成大写字母,大写字母转换成小写字母,其余字符不变。 输入 连续输入多个测试数据: 输入的第行为个整数n,接下来有个由n个字符组成的...
  • * 数组查找操作:定义一个长度为10的一维字符数组,在每一个元素存放一个单词; * 然后运行时从命令行输入一个单词,程序判断数组是否包含有这个单词, * 包含这个单词就打印出“Yes”,不包含就打印出“No” *...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,304
精华内容 521
关键字:

一维字符数组的长度