按要求打印20个字符
Posted leafbud
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了按要求打印20个字符相关的知识,希望对你有一定的参考价值。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 21
//要求 A:定义一个长度为 21 的字符数组,用于存放用户输入的文本;
//要求 B:如果用户输入的文本长度超过 20 个字符,
//且文本中存在空格,则截取至最接近末尾(第 20 个字符串)的空格;
//要求 C:如果用户输入的文本长度超过 20 个字符,
//且文本中不存在空格,则打印前 20 个字符
int main()
{
int ch, space, i = 0;
//i为文本输入时的位置
//ch是输入的文本
char str[MAX];
space = MAX - 1; // 下标为 0-20,space为数组最后一个元素下标
printf("请输入一行文本:");
while ((ch = getchar()) != ‘
‘){ //遇到回车跳出while循环
str[i++] = ch;
if (i == MAX - 1){ //当输入达到20字符,跳出if循环
break;
}
if (ch == ‘ ‘){
//遇到空格时,记录空格位置(在while循环内,会一直更新i,直到循环结束)
space = i;
}
}
if (i >= MAX - 1){
str[space] = ‘ ‘;//输入文本过多,有空格则截取接近末尾的空格
//文本没有空格,截取前20字符,再加结束符‘ ‘
}
else{
str[i] = ‘ ‘;//少于20字符,直接加‘ ‘
}
printf("您输入的文本是:%s
", str);
system("pause");
return 0;
}
以上是关于按要求打印20个字符的主要内容,如果未能解决你的问题,请参考以下文章