精华内容
下载资源
问答
  • 1、以下代码中包含二维字符串数组输入输出方式 以及冒泡法 // test009.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "stdio.h" #include "string.h" int main...

    1、以下代码中包含二维字符串数组的输入及输出方式  以及冒泡法

    // test009.cpp : Defines the entry point for the console application.
    //
    
    #include "stdafx.h"
    #include "stdio.h"
    #include "string.h"
    int main(int argc, char* argv[])
    {
    
    	int i=0;
    	int j=0;
    	int count=3;      /*拟录取人数*/
    	<span style="color:#ff0000;">char name[3][30];   /*考生姓名,定义二维的字符串数组,字符串个数为3,长度为30*/</span>
    	char name1[30];
    	double sum[3];
    	double temp1=0.0;
        double temp2=0.0;
    	double temp3=0.0;
    	double chu[3];         /*考生初试成绩*/
    	double chu1=0.0;
    	double fu[3];          /*考生复试成绩*/
    	double fu1=0.0;
    	printf("2015年上海大学机械工程研究生拟录取名单成绩排名(按0.4:0.6)\n\n");
    	printf("请输入考生名字、初试成绩、复试成绩(用空格键隔开):\n");
    	for(i=0;i<3;i++)
    	{
    		<span style="color:#ff0000;">scanf("%s %lf %lf",&name[i],&chu[i],&fu[i]);//二维字符串数组的输入方式</span>
    		getchar();
    		sum[i]=0.4*chu[i]+0.6*fu[i];
    	}
    	printf("\t名次\t姓名\t初试成绩\t复试成绩\t总成绩\n");
    	<span style="color:#ff0000;">for(i=0;i<=count-1;i++)            //冒泡排序法
    	{
    		for(j=i;j<=count-2;j++)</span>
    			if(sum[i]<=sum[j+1])
    			{
    			  temp1=sum[i];            //数值替换
    			  sum[i]=sum[j+1];
                  sum[j+1]=temp1;
    
                  <span style="color:#ff0000;">  strcpy(name1,name[i]);         //字符串的传递方法
                    strcpy(name[i],name[j+1]);
                    strcpy(name[j+1],name1);</span>
    
                  temp2=chu[i];
    			  chu[i]=chu[j+1];
                  chu[j+1]=temp2;
    			  
    			  temp3=fu[i];
    			  fu[i]=fu[j+1];
                  fu[j+1]=temp3;
    			  
    			}
    			<span style="color:#ff0000;">printf("\n\t%d\t%s  \t%.0lf  \t\t%.0lf\t\t%.2lf",i+1,&name[i],chu[i],fu[i],sum[i]);//二维字符串的输出方式</span>
    	}
    	printf("\n");
    	
    	return 0;
    	
    }
    


    展开全文
  • 二维字符串数组

    万次阅读 2018-07-04 16:13:58
    一个二维字符串数组char a[n][m]就是有n个长度不大于m的字符串。#include&lt;bits/stdc++.h&gt; #include&lt;cstdio&gt; #include&lt;algorithm&gt; using namespace std; int main() { ...

    一个二维字符串数组char a[n][m]就是有n个长度不大于m的字符串。

    #include<bits/stdc++.h>
    #include<cstdio>
    #include<algorithm>
    using namespace std;
    int main()
    {
    
        char a[3][6]={"tread","micrp","soft"};
        for(int i=0;i<3;i++)
        {
    
            printf("%s ",a[i]);
        }
    
    }
    

    输出的结果为:

    tread micrp soft
    Process returned 0 (0x0)   execution time : 0.027 s

    Press any key to continue.

    要注意与数组a[n][m]区别开来 a[n][m]共有n*m个数字,而char a[n][m]共有n个字符串。







    展开全文
  • 题源: ...  题目内容: 输入任意4个字符(如:abcd), 并按反序输出(如:dcba)

      题源:

    https://www.nowcoder.com/practice/171278d170c64d998ab342b3b40171bb?tpId=40&tqId=21336&tPage=1&rp=1&ru=/ta/kaoyan&qru=/ta/kaoyan/question-ranking

      题目内容:


    输入任意4个字符(如:abcd), 并按反序输出(如:dcba)

      代码:


    #include <iostream>
    #include <vector>
    #include <cstring>
    #include <string>
    
    using namespace std;
    
    void reverse_one()
    {
        cout<<"input the number of strings to be reversed"<<endl;
        int num = 0;
        cin>>num;
    
        vector<string> str_vec;
        string tmp;
        for(int i=1; i<=num; i++){
            cout<<"input str"<<i<<":"<<endl;
            cin>>tmp;
            char * ctmp = (char *)tmp.c_str();// const char * string.c_str()
            str_vec.push_back(strrev(ctmp));
        }
        cout<<"reversed outcome:"<<endl;
        for(int i=0; i<=num-1; i++){
            cout<<str_vec[i]<<endl;
        }
    }
    
    void my_reverse(char * my_string)
    {
        int unsigned my_strlen = strlen(my_string);
        for(int i = 0; i <= my_strlen/2-1; i++){
            char tmp = my_string[i];
            my_string[i] = my_string[my_strlen-1-i];
            my_string[my_strlen-1-i] = tmp;
        }
    }
    
    void fun_two()
    {
        cout<<"input the number of strings to be reversed"<<endl;
        int num = 0;
        cin>>num;
    
        char string_arr[num][5];//是string_arr[num][5]不是string_arr[num][4]:'\0'是字符串的结束标志
        for(int i=0;i<num;i++){
            cout<<"input str"<<i<<" with 4 characters:"<<endl;
            cin>>string_arr[i];
            cout<<"* "<<string_arr[i]<<" *"<<endl;
            my_reverse(string_arr[i]);
            cout<<"* "<<string_arr[i]<<" *"<<endl;
        }
    
        cout<<"reversed outcome"<<endl;
        for(int i=0;i<num;i++){
           cout<<"# "<<string_arr[i]<<" #"<<endl;
        }
    }
    
    void test()
    {
        char st[ ][6]={"china","japan","korea"};//'\0'的问题需要注意
        cout<<st[0]<<endl;
        cout<<st[1]<<endl;
        cout<<st[2]<<endl;
    }
    
    int main(){
        fun_two();
    //    test();
    }


    展开全文
  • 二维数组: 复习: 1、字符数组(一维) char a[5] = {'a','b', 'c', 'd', 'e'}; 2、2*3的字符数组二维) char b[2][3] ={{'a', 'b', 'c'},  {'d', 'e', 'f'}}; 3、字符串的标志:在结尾的字符是'\0'。 ...

    二维数组:

    复习:

    1、字符数组(一维)

    char a[5] = {'a','b', 'c', 'd', 'e'};

    2、2*3的字符数组(二维)

    char b[2][3] ={{'a', 'b', 'c'},

                    {'d', 'e', 'f'}};

    3、字符串的标志:在结尾的字符是'\0'。

    如:“hello”在内存中,按照字符的顺序连续存储,并以'\0'结束。

    4、使用字符数组存储字符串

    在字符数组的末尾加上’\0’字符。

    char c[] = {'i','o', 's', '\0'};

    char d[] ="ios";

     

    一、字符串数组(二维):

    字符串数组:数组中的元素是字符串

    字符串数组的本质:二维数组。字符串本身就是一个字符数组。

    访问字符串中的字符,使用两个下标。

    访问字符串中的字符串,使用一个下标即行下标。

    1、定义字符串数组,存储3个人的姓名拼音

    char names[3][30] ={"zhangsan", "lisi", "wangwu"};

    2、访问字符串中的字符,打印第二行第四列

    printf("%c\n",names[2][19]);

    3、遍历数组,打印所有字符,双循环,打印行和列

    for (int i =0; i< 3; i++) {

    for (int j = 0; j< 30; j++) {

        printf("%c ", names[i][j]);

    }

    printf("\n");

    }

    3、访问字符串中的字符串

    数组名[第一维的下标]即:数组名[行]

    for (int i = 0; i< 3; i++) {

        printf("%s ", names[i]);

    }

    例:创建一个字符串数组,输出最长字符串的长度和字符串。

    char names[3][20] ={"zhangsan", "lisi", "wangwu"};

    int maxLength = 0; //存储最长字符串的长度

    int b = 0; //存储最长字符串的行下标

    for (int i = 0; i< 3; i++) {  

    //获取当前访问到的字符串的长度

        int currentlength = (int)strlen(names[i]);

    //获取最长字符串的长度

        if (maxLength < currentlength) {

            maxLength = currentlength;

            b = i;

        }  

    }

    printf("%d%s\n", maxLength, names[b]);

     

    二、代码安全问题:字符串的结尾是’\0’字符,读取的时候要必须完全读出,以免覆盖了后面输入的字符串。

    例:

    从控制台输入一个字符串

     

    方式1  使用sacnf()

    当使用 %S 转换时,当输入空白字符时(空格、tab、回车),字符串读取结束,并且空白字符及其后面的字符会留存在缓冲区。

    char a[30] = {0};

    printf("请输入字符串:\n");

    scanf("%s",a); //如果输入的是字符串,直接写数组名,不用加取地址符&

    printf("%s\n",a);

     

    方式2 使用scanf()回车结束scanf输入,\n会被保留在缓冲区,解决此问题,需要使用%[]字符集,[^\n]表示只要读取的字符不是'\n'就全部读取。

    scanf("%[^\n]",a);

    printf("%s\n",a);//可以打印出空格,及空格后面的字符串

     

    从控制台输入多个字符串,存储在字符串数组中

    char str[4][30] ={0};

    for (int i = 0; i< 4; i++) {

        scanf("%s", str[i]);

        getchar();//从控制台读取一个字符,并读取留存在缓冲区的‘\n’.

    }

    for (int i = 0; i< 4; i++) {

        printf("%s ", str[i]);

    }

     

    三、定义三维数组

    如:

    int a[2][4][3] = {

        {  {1, 2, 3},

            {4, 5, 6},

            {7, 8, 9},

            {11, 12, 13}

        },

        {

            {1, 2, 3},

            {4, 5, 6},

            {7, 8, 9},

            {11, 12, 13}

        }

    };

    1、多维数组的访问:数组名[][]...n维数组使用n个下标

    2、多维数组的元素个数=各个维数个数的乘积

    3、多维数组占用的内存=元素个数*单个元素占用的空间


    展开全文
  • 编程题:用二维字符串数组实现。从键盘输入三个学生姓名,并输出。#include<stdio.h>#include<string.h>void main(){ char name[3][30]; int i; for(i=0;i<3;i++) gets(name[i]); /*name[i]是一个一...
  • Java二维字符串数组

    万次阅读 2015-03-09 14:50:24
    package test2;...输出结果: 我的位置是:0,0 我的位置是:0,1 我的位置是:1,0 我的位置是:1,1 我的位置是:1,2 我的位置是:2,0 我的位置是:2,1 我的位置是:2,2 我的位置是:2,3
  • 一个 字符串数组就是一个二维字符数组。 #include <stdio.h>#include <string.h> /*输入5个学生的名字(英文),使用冒泡排序按从大到小排序。提示:涉及到字符串数组,一个字符...
  • #include<stdio.h> #include<stdlib.h> int main() ... char str[][20]={"441431196908236539","441411199703251825","441421199908236536","331421199908236530","461621199908236...
  • C语言二维字符数组输入

    万次阅读 多人点赞 2018-11-22 22:32:02
    标题 C语言字符数组输入输出 定义一个字符二维数组,输入行数n,与列数m #include &lt;stdio.h&gt; #include &lt;math.h&gt; int main() { int n,m,i,j; scanf("%d %d",&amp;n,&...
  • 1、将字符串数组转化为二维字符数组 2、将第一个字符数组作为基准去检测其余字符数组 3、将判断是公共前缀的字符加入StringBuffer类中,作为输出结果 主方法 public static void main(String args[]){ String []...
  • #include<stdio.h> int main(){ char a[15][20]; int i; for(i=0;i<15;i++){ scanf("%s",&a[i][0]); } printf("%s ",&a[2][0]); printf("%s",&a[11][0]); }
  • C语言总结第七章、数组一维数组一维数组的定义一维数组的引用一维数组的初始化程序举例二维数组及多维数组二维数组的定义二维数组元素的引用二维数组元素的初始化程序举例字符数组字符串字符数组 第七章、数组 ...
  • 实现一个对二维字符数组进行排序的函数,字符串输入输出在主函数里实现。 #include <stdio.h> #include <string.h> void sort(char *name[],int n) { char *tmp = NULL;//空 int i,j,k; for(i =...
  • 一、二维数组
  • 字符串和字符串数组

    万次阅读 多人点赞 2019-03-04 13:42:04
    文章目录字符串字符串输出字符串常用方法计算字符串的长度字符串拼接字符串拷贝字符串比较字符串数组 字符串 用双引号引起来的就是字符串,字符串由字符组成 字符串使用%s格式化输出 字符串以\0结尾,没有\0就不是...
  • c+字符串数组Hey, Folks! So, as programmers, we often deal with Arrays of all data types. We’ll cover C++ string array in today’s article. 嘿伙计! 因此,作为程序员,我们经常处理所有数据类型的数组。 ...
  • 在上周学习过一维数组之后,今天,我更为深入地学习了二维数组.  //二维数组的定义:是特殊的一维数组,里面包含多个一维数组  //多维数组:每多一维就意味着需要更多的容器来装载之前的维度  //二维数组的...
  • 以气球算法题为例 如果让你指定一个气球的颜色,可以定义一个一维数组设定颜色 ...如果让你指定5个气球的颜色,可以定义一个二维数组设定颜色 #include<stdio.h> int main(){ char a[10][10]; int i; for(i=1;
  • 二维字符数组按行输出连续到下一行的解决办法 二维字符数组在按行进行输出的时候,会由于越界导致输出连续到下一行。如: 同时出现了后续乱码问题,这个后面说。 如图,将"37"都copy到SNR[6]和SNR[7]中,输出SNR[6]...
  • 关于输入输出二维字符数组对于换行的问题 【问题的提出】:博主最近刷题时碰到一个算是很低级的问题,输入一个字符二维数组,要输出时不能完全输出(问题如下图所示),一直被这个问题所困扰,今天把他解决了,特写...
  • 字符串输入输出: char str[8]; scanf("%s",&amp;str); printf("%s",str); scanf表示读入一个单词(到空格、tab、回车为止) scanf是不安全的,因为这样不知道要读入的内容的长度,在一些...
  • c语言:动态输入字符串数组

    千次阅读 2020-07-12 12:07:42
    一般情况下,字符串数组都以二维数组或指针数组定义,而二维数组不能初始化为空,所以本文动态定义以指针数组为例,代码如下 #include<stdio.h> #include<stdlib.h> //字符串数组默认可以用空格隔开!!...
  • 字符串数组内内没有‘\0’,用%s输出时,系统会一直找到‘\0’为止。即使超出数组的范围也一直找。 char c[] = “I am happy”; //字符串,长度为11 char c[] = {‘I’, 使用strcat、strcpy,strcmp,strlen,...
  • 1.C语言数组的概念在《更加优美的C语言输出》一节中我们举了一个例子,是输出一个 4×4 的整数矩阵,代码如下:#include <stdio.h>#include <stdlib.h>int main(){ int a1=20, a2=345, a3=700, a4=22; ...
  • 1字符串数组的条件输出注意空格(首+中+尾)L1-039. 古风排版 中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。输入格式: 输入在第一行给出一个正整数N(),是每一列的字符...
  • MATLAB中字符串数组的文件输出

    万次阅读 2011-11-14 12:56:16
    MATLAB是用二维数组来保存字符串数组的。将一个字符串数组加一列实数数组,输出到文件。 clear clc %字符串数组 str = [ '01-May-1998 01:00:00' '01-May-1998 01:10:00' '01-May-1998 01:20:00' '01-May-1998 ...
  • int main(int argc, const char * argv[]) { @autoreleasepool { #pragma mark-----------二维数组 int a[3][4]={ {1,2,3,4}, {5,6,7,8}, {12,10,11,12} };
  • java二维数组字符数组Today we will look into Two-dimensional array in java. An array is like a container that can hold a certain number of values. 今天,我们将研究Java中的二维数组数组就像可以容纳...
  • //打印字符串数组中所有字符串 // long maxLength = 0; // for (int i = 0; i; i++) { // printf("%s ",str[i]); // printf("%ld",strlen(str[i]));//求长度 // printf("%s",strcpy(str[i], "zhangsan"));//赋值 //...
  • 字符串数组输入

    千次阅读 2018-12-17 20:34:03
    6)个字符串输出其中最短字符串的有效长度,要求定义函数int minlen(char*str[]),int n),用于计算由n个元素的指针数组str中最短的字符串长度。 code #include&amp;amp;amp;amp;amp;amp;lt;iostream&...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 60,610
精华内容 24,244
关键字:

二维字符串数组的输入输出