实现垂直方向打印输入的单词长度的直方图

本文介绍了一个使用C语言实现的简单程序,该程序能够读取标准输入中的单词并打印出一个直方图来表示每个单词的长度分布。通过定义特定的状态变量,程序能够区分单词和非单词字符,从而实现单词计数的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include <stdio.h>
#define MAX 10
#define IN 0
#define OUT 1
//打印单词输入的直方图
int main()
{
	char a[MAX][MAX];		//建立存储单词大小的数组 10*10
	int c;
	int state = OUT;
	int num1,num2;

	
	for(num1=0;num1<MAX;num1++)
	{
		for(num2=0;num2<MAX;num2++)
		{
			a[num1][num2]='\ ';
		}
	}
	num1=0,num2=0;				//num1为行数 num2为列数

	while((c=getchar())!=EOF)
	{	
		if(c=='\n'||c=='\ '||c=='\t')
		{
			state = OUT;
		}
		else if(state == OUT)
		{
			num1++;
			num2=0;
			a[num1-1][num2]='I';
			state = IN;
		}
		else if(state == IN)
		{
			num2++;
			a[num1-1][num2]='I';
		}
	}
	for(num2=MAX-1;num2>=0;num2--)
	{
		for(num1=0;num1<MAX;num1++)
		{
			printf("%c",a[num1][num2]);
		}
		printf("\n");
	}
}

输出结果:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值