#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. Unity3D手游开发日记(2) - 技能系统架构设计

    我想把技能做的比较牛逼,所以项目一开始我就在思考,是否需要一个灵活自由的技能系统架构设计,传统的技能设计,做法都是填excel表,技能需要什么,都填表里,很死板,比如有的技能只需要1个特效,有的要10 ...

  2. Linux内核设计与实现第五周读书笔记

    第十八章 调试 18.1准备开始 需要的只是: 一个确定的bug.大部分bug通常都不是行为可靠而且定义明确的. 一个藏匿bug的内核版本. 相关的内核代码的知识和运气. 18.2内核中的bug 内核 ...

  3. linux swap交换分区配置

    参考 http://commandos.blog.51cto.com/154976/115288/

  4. bzoj3036: 绿豆蛙的归宿(期望DP)

    刷水反被水题日,拓扑写炸WA了2发T T... 因为是DAG图,可以直接递推,不需要高斯消元 #include<iostream> #include<cstring> #inc ...

  5. 第2章-Vue.js指令

    一.学习目标 了解 什么 是 Vue.js 指令 理解 Vue.js 指令的 用途 掌握 Vue.js 指令的书写规范 能够 使用 Vue.js 指令完成部门页面交互效果(难点和重点) 二.指令的基本 ...

  6. [DeeplearningAI笔记]卷积神经网络1.4-1.5Padding与卷积步长

    4.1卷积神经网络 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.4Padding 一张\(6*6\)大小的图片,使用\(3*3\)的卷积核设定步长为1,经过卷积操作后得到一个\(4*4 ...

  7. Spring 源码学习(3) —— 增加属性注册编辑器

    创建一个实体类UserManager: /** * @filename: UserManager.java * @desc 增加属性编辑器功能测试实体类 * @author: Wang Chinda ...

  8. svn常见错误

    1.svn提交报错:svn: Aborting commit:XXXXXremains in conflict 解决:说明Svn服务器上的对应内容,在你上次Update后已被别人修改了,而你也做了修改 ...

  9. Linux命令学习-图形化界面命令开关闭

    su root password 1, 关闭图形界面: init 3 关闭图形界面(XServer服务也会关闭) 开启图形界面: init 5 或 startx 开机时,不进入 X Window: v ...

  10. 网站开发中很有用的几个 jQuery 地图插件

    下面提到的 jQuery 地图插件不仅仅是提供一个简便的方式来安装一个地图,如果你想在它们之间选择一个放到你的网站上,那么它们还有更多的额外选项来提供更多更全面的功能.大部分的 jQuery 地图插件 ...