二维字符数组如何在运行时输入换行和空格而不被计入?

如题所述

以%s格式符、用scanf函数读入字符串,就可以在运行时输入换行和空格而不被计入。

以下的程序,可以找出一行中最长的单词:

#include<stdio.h>

#include<string.h>

int main()

{ char s[30][20],c=' ';

  int n=0,i,max=0;

  for(n=0; c!='\n'; n++)

  { scanf("%s%c",s[n],&c);

    if(strlen(s[n])>max)max=n;

  }

  printf("最长的单词是:%s\n",s[max]);

  return 0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-06-27
两种方法可以使用:定义二维数组char a[10][100];1,输入字符串方式。如果二维数组的每一行均为字符串,那么可以采用cin>>a[n]的形式输入,每次输入为数组的一行。2,输入字符方式。如果要存储的并不是字符串,而是可能包含空白字符,如换行符,制表符,空格等字符的字符串,就需要按字符输入,可以使用a[m][n] = cin.get();的方式,输入每个元素。 扩展资料:cin代表标准输入设备,C++编程语言互换流中的标准输入流,需要iostream.h支持,即开始的时候,要有#include <iostream.h>,使用提取运算符 ">>" 从设备键盘取得数据,送到输入流对象cin中,然后送到内存。使用cin可以获得多个从键盘的输入值,其具体使用格式如下:
cin >> 表达式1 >>表达式2...>> 表达式n;参考资料来源:百度百科-cin (C++ 中的标准输入流)
第2个回答  2022-06-26
两种方法可以使用:定义二维数组char a[10][100];1,输入字符串方式。如果二维数组的每一行均为字符串,那么可以采用cin>>a[n]的形式输入,每次输入为数组的一行。2,输入字符方式。如果要存储的并不是字符串,而是可能包含空白字符,如换行符,制表符,空格等字符的字符串,就需要按字符输入,可以使用a[m][n] = cin.get();的方式,输入每个元素。 扩展资料:cin代表标准输入设备,C++编程语言互换流中的标准输入流,需要iostream.h支持,即开始的时候,要有#include <iostream.h>,使用提取运算符 ">>" 从设备键盘取得数据,送到输入流对象cin中,然后送到内存。使用cin可以获得多个从键盘的输入值,其具体使用格式如下:
cin >> 表达式1 >>表达式2...>> 表达式n;参考资料来源:百度百科-cin (C++ 中的标准输入流)
第3个回答  2022-06-25
两种方法可以使用:定义二维数组char a[10][100];1,输入字符串方式。如果二维数组的每一行均为字符串,那么可以采用cin>>a[n]的形式输入,每次输入为数组的一行。2,输入字符方式。如果要存储的并不是字符串,而是可能包含空白字符,如换行符,制表符,空格等字符的字符串,就需要按字符输入,可以使用a[m][n] = cin.get();的方式,输入每个元素。 扩展资料:cin代表标准输入设备,C++编程语言互换流中的标准输入流,需要iostream.h支持,即开始的时候,要有#include <iostream.h>,使用提取运算符 ">>" 从设备键盘取得数据,送到输入流对象cin中,然后送到内存。使用cin可以获得多个从键盘的输入值,其具体使用格式如下:
cin >> 表达式1 >>表达式2...>> 表达式n;参考资料来源:百度百科-cin (C++ 中的标准输入流)
第4个回答  2022-06-26
两种方法可以使用:定义二维数组char a[10][100];1,输入字符串方式。如果二维数组的每一行均为字符串,那么可以采用cin>>a[n]的形式输入,每次输入为数组的一行。2,输入字符方式。如果要存储的并不是字符串,而是可能包含空白字符,如换行符,制表符,空格等字符的字符串,就需要按字符输入,可以使用a[m][n] = cin.get();的方式,输入每个元素。 扩展资料:cin代表标准输入设备,C++编程语言互换流中的标准输入流,需要iostream.h支持,即开始的时候,要有#include <iostream.h>,使用提取运算符 ">>" 从设备键盘取得数据,送到输入流对象cin中,然后送到内存。使用cin可以获得多个从键盘的输入值,其具体使用格式如下:
cin >> 表达式1 >>表达式2...>> 表达式n;参考资料来源:百度百科-cin (C++ 中的标准输入流)