#include <stdio.h>
#include <stdlib.h> int main(int argc,char *argv[])
{
int num;
printf("要输入的单词个数:");
scanf("%d",&num);
printf("请输入%d个单词:",num);
char p[num][];
char ch;
int i = ;
int j = ;
ch = getchar();
while((ch=getchar())!='\n')
{
if(ch==' ')
{
p[j][i]='\0';
j++;
i=;
}else
{
p[j][i] = ch;
p[j][i+] = '\0';
i++;
}
}
int k;
for(k=;k<num;k++)
puts(p[k]);
return ;
}

malloc方法:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#define SIZE 40
char **mal_ar(int n); int main(void)
{
int words, i, sum = ;
char **st; printf("您要输入几个单词: ");
scanf("%d", &words);
getchar(); // 滤掉回车
printf("输入 %d 个单词:", words);
st = mal_ar(words);
printf("下面是您输入的单词: \n");
for(i = ; i < words; i++)
{
puts(st[i]);
sum += strlen(st[i]) + ;
}
printf("共占用%d字节空间\n", sum); free(st); // 释放指针数组; return ;
} char **mal_ar(int n)
{
char **pt;
char *temp;
int len; // 给n个指针分配动态内存空间, 返回指针的指针
pt = (char**)malloc(n * sizeof(char *));
// 临时数组分配动态内存空间, 返回指针
temp = (char *)malloc(SIZE * sizeof(char));
int i;
for(i = ; i < n; i++)
{
// 输入存入临时数组
scanf("%s", temp);
// 测量临时数组大小,分配正好存放的空间
len = strlen(temp);
// 给每个指针指向的地址分配内存空间
pt[i] = (char *)malloc((len + ) * sizeof(char));
strcpy(pt[i], temp);
}
free(temp);
return pt;
}

C语言获取输入,按单词输出的更多相关文章

  1. c程序设计语言_习题1-13_统计输入中单词的长度,并且根据不同长度出现的次数绘制相应的直方图

    Write a program to print a histogram of the lengths of words in its input. It is easy to draw the hi ...

  2. Python基础之注释,算数运算符,变量,输入和格式化输出

    Python的注释 注释的作用:用自己熟悉的语言,对某些代码进行标注说明,增强程序的可读性: 在python解释器解释代码的过程中,凡是#右边的,解释器都直接跳过这一行: 注释的分类 单行注释 # 这 ...

  3. [转]linux shell数据重定向(输入重定向与输出重定向)详细分析

      在了解重定向之前,我们先来看看linux 的文件描述符. linux文件描述符:可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件 ...

  4. Verilog学习笔记简单功能实现(七)...............接口设计(并行输入串行输出)

    利用状态机实现比较复杂的接口设计: 这是一个将并行数据转换为串行输出的变换器,利用双向总线输出.这是由EEPROM读写器的缩减得到的,首先对I2C总线特征介绍: I2C总线(inter integra ...

  5. 输入年月,输出月份有几天(分别用了if——else和switch)

    首先是switch做的 class Program { static void Main(string[] args) {/* 题目要求:请用户输入年份,输入月份,输出该月的天数. 思路:一年中月份的 ...

  6. 【mybatis深度历险系列】mybatis中的输入映射和输出映射

    在前面的博文中,小编介绍了mybatis的框架原理以及入门程序,还有mybatis中开发到的两种方法,原始开发dao的方法和mapper代理方法,今天博文,我们来继续学习mybatis中的相关知识,随 ...

  7. Mybatis学习总结(四)——输入映射和输出映射

    在前面几篇文章的例子中也可以看到mybatis中输入映射和输出映射的身影,但是没有系统的总结一下,这篇博客主要对这两个东东做一个总结.我们知道mybatis中输入映射和输出映射可以是基本数据类型.ha ...

  8. kettle spoon中“表输入”到“表输出”的乱码问题

    数据库中的数据在不同的数据库中转换来装换去,由于不同库可能使用了不同的字符集,所以可能导致结果数据乱码问题.此次是在一个作业中跑数据,跑完数据前台数据显示出现乱码,检查了作业中的多有中间过程表,包括表 ...

  9. Mybatis输入映射和输出映射

    本节内容: 输入参数映射 输出映射 resultMap Mapper.xml映射文件中定义了操作数据库的sql,每个sql是一个statement,映射文件是mybatis的核心. 一.环境准备 复制 ...

随机推荐

  1. 《Java程序设计》第7周学习总结 20165218 2017-2018-1

    20165218 2017-2018-1 <Java程序设计>第7周学习总结 教材学习内容总结 JDBC与MySQL数据库 数据库的功能:数据的存储.查询.修改.安全 MySQL:数据库: ...

  2. mysql四-2:多表查询

    一 介绍 本节主题 多表连接查询 复合条件连接查询 子查询 准备表 #建表 create table department( id int, name varchar(20) ); create ta ...

  3. Java之基础20160806

    注意这里介绍的JAVA基础是指你对C语言已经比较熟练或者有一定基础了,再学习如下这知识就会比较快. 1.JAVA也是从MAIN开始执行,但是要先定义类,文件名要与类名一致并且类名首字母要大写,同时JA ...

  4. PID控制算法的C语言实现四 增量型PID的C语言实现

    /*------------------------------------------- 2 位置型PID C实现(控制电机转速) --------------------------------- ...

  5. Codeforces Round #407 (Div. 2)A B C 水 暴力 最大子序列和

    A. Anastasia and pebbles time limit per test 1 second memory limit per test 256 megabytes input stan ...

  6. jsp 的 3 个编译指令

    JSP 的编译指令是通知 JSP 引擎的消息,它不直接生成输出. 常见的编译指令有如下三个: 1.page:该指令是针对当前页面的指令 2.include:用于指定包含另一个页面 3.taglib:用 ...

  7. 12.UiAutomator 获取系统信息

    一.Build构建信息 1.build类: Build类提供了硬件厂商.编号.序列号.SDK版本等重要信息. 类名:android.os.Build 常量名 说明 BOARD 底层板名称 BOOTLO ...

  8. P4752 Divided Prime

    P4752 Divided Prime 题目描述 给定一个数字 AA ,这个 AA 由 a_1,a_2,\cdots,a_Na 1 ​ ,a 2 ​ ,⋯,a N ​ 相乘得到. 给定一个数字 BB ...

  9. Linux上怎么快速删除一个目录

    删除文件需要用到rm命令,但删除目录需要添加两个参数: -r  向下递归,不管多少级目录都删除 -f  强行删除,不做提示 #rm -rf 文件目录名

  10. C++ Arithmetic Exception

    运算异常错误,比如除零错误,浮点数取余等等.