c语言,关于字符串的

c语言,关于字符串的不会做~...c语言,关于字符串的不会做~展开... c语言,关于字符串的不会做~... c语言,关于字符串的不会做~ 展开 展开
 我来答
毓婕香彭越
2020-03-25 · TA获得超过4042个赞
知道大有可为答主
回答量:3157
采纳率:35%
帮助的人:178万
展开全部

#include <stdio.h>
#include <string.h>
 
int main(void) {
char a[100];
//定义字符数组a用来读取输入的字符串,最多读取100个字符,如果需要读取更多,则将100改为更大
char b[100][100];
//定义二维字符数组b用来分别存储每个单词
int i=0,j=0,k=0,m=0,n=0,c[100];
//定义各种数量
gets(a);
//读取字符串,以换行符为结束
n=strlen(a);
//计算字符串的长度
for(i=0;i<n;i++)
//遍历字符数组a的每一个元素
{
if(a[i]==32)
//如果a[i]是空格
{
c[j]=k;
//存储空格之前的那个单词的长度
k=0;
//重置变量k
j++;
//使b数组换一行存储下一个单词
continue;
//跳过本次循环
}
b[j][k]=a[i];
//令单词存储到b数组的一行中
k++;
//通过k的递增进行单词的存储
if(i==n-1)
//如果是最后一个单词
c[j]=k;
//将最后一个单词的长度赋给数组c
}
for(m=j;m>=0;m--)
//倒序输出,一行一行的输出
{
for(i=0;i<=c[j];i++)
//一个字母一个字母输出
printf("%c",b[m][i]);
j--;
printf(" ");
//输出完一个单词输出空格
}
return 0;
}
基本上每一行都有注释,代码经反复测试,均正常,如下图。如有疑问请您追问,答题不易,望采纳。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式