爱问知识人 爱问教育 医院库

c语言多行输入技巧

首页

c语言多行输入技巧


        

提交回答
好评回答
  • 2023-10-19 19:00:07

    未明确具体输入行数

    没有确定的输入行数时,一般要采用Ctrl+Z结束输入,系统会自动输入这些,我们要做的是设置好循环条件即可。

    具体是每次输入都产生结果还是所有输入完以后再输出结果要看题目要求。

    如:输入多个字符串,保存在二维数组中,可以采用以下两种方式:

    1、~scanf方式

    char str[10][10]//定义二维数组,保存多个字符串

    int i = 0

    while (~scanf("%s", str[i]))

    {

    i++

    }

    1

    2

    3

    4

    5

    6

    1

    2

    3

    4

    5

    6

    这里每次敲下回车会结束一次输入,循环进行一轮。

    scanf函数的返回值为正确输入的值的个数,如过没有正确输入,scanf返回值即为-1,对-1按位取反值为0,用于退出循环。Windows平台,用Ctrl+Z来表示输入结束,有些编译器需要连续按两次或者三次Ctrl+Z,且每次都在行首。

    2、EOF

    End of file,文件结束符

    char str[10][10]//定义二维数组,保存多个字符串

    int i = 0

    while (scanf("%s", str[i])!=EOF)

    {

    i++

    }

    1

    2

    3

    4

    5

    6

    1

    2

    3

    4

    5

    6

    3、根据输入元素的个数

    char str[10][10]//定义二维数组,保存多个字符串

    int i = 0

    while (scanf("%s", str[i])==1)//表示输入一个元素时,循环进行

    {

    i++

    }

    1

    2

    3

    4

    5

    6

    1

    2

    3

    4

    5

    6

    这里的’1’代表的是要输入的元素的个数,如果输入元素个数不为1则循环结束。

    二、已知具体输入行数

    知道输入行数时,循环条件设为具体行数即可

    char str1[10][10]//定义二维数组,保存多个字符串

    int num = 10

    int i = 0

    while (num--)

    {

    scanf("%s", &str1[i])

    i++

    }

    1

    2

    3

    4

    5

    6

    7

    8

    1

    2

    3

    4

    5

    6

    7

    8

    ps:

    上面的输入都是针对字符串来说的,而对于整型或浮点型数据来说,除了"n"即回车以外,空格隔开也会自动结束一个数据的输入。造成这种区别的根本原因就是字符类型中原本就会有空格符,不能作为输入结束的标志,而整型和浮点型可以。

    t***

    2023-10-19 19:00:07

  • 生活 相关知识

  • 生活
  • 日常生活

相关推荐

正在加载...
最新资料 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):