c语言中输入一个字符串,把字符串内容颠倒后输出
时间: 2023-12-26 21:06:31 浏览: 162
以下是一个简单的C语言程序,实现了输入一个字符串,然后将其内容颠倒后输出。
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int len, i;
printf("Please enter a string: ");
fgets(str, 100, stdin); // 输入字符串
len = strlen(str) - 1; // 减1是为了去掉fgets自动添加的换行符
printf("Reversed string: ");
for(i = len; i >= 0; i--)
{
printf("%c", str[i]); // 逐个输出字符
}
printf("\n");
return 0;
}
```
程序中使用了fgets函数读取用户输入的字符串,然后使用strlen函数获取字符串长度。最后通过一个循环,逐个输出字符,从而实现了颠倒字符串的效果。
相关问题
在c语言中输入一个字符串s【10】,颠倒后输出
在C语言中,你可以通过两个指针从字符串的两端向中间交换字符的方式来实现字符串的反转。这里是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
void reverse(char s[10]) {
int start = 0; // 存储起始位置的指针
int end = 9; // 存储结束位置的指针
while (start < end) { // 当起始指针小于结束指针时继续循环
char temp = s[start]; // 保存起始位置的字符
s[start] = s[end]; // 将起始位置的字符替换到结束位置
s[end] = temp; // 将结束位置的字符移动到起始位置
start++; // 起始指针右移一位
end--; // 结束指针左移一位
}
}
int main() {
char s[10];
printf("请输入一个字符串(最多10个字符): ");
fgets(s, sizeof(s), stdin); // 使用fgets获取用户输入并忽略换行符
s[strcspn(s, "\n")] = '\0'; // 清除换行符
reverse(s);
printf("反转后的字符串: %s\n", s);
return 0;
}
```
当你运行这个程序并输入一个字符串后,它会打印出输入字符串的反转版本。
在c语言中输入一个字符串s【10】,颠倒后输出使用for函数
在 C 语言中,如果你想要输入一个长度为 10 的字符串 `s`,然后使用 `for` 循环将其颠倒后输出,你可以这样做:
首先,你需要包含必要的头文件并声明一个字符数组来存储字符串。这里假设用户会输入英文字符,因为单字节字符数组可以容纳最多10个ASCII字符(包括空格):
```c
#include <stdio.h>
#include <string.h>
int main() {
char s[11]; // 多一个位置存放'\0'
printf("请输入一个长度不超过10的字符串: ");
fgets(s, sizeof(s), stdin); // 使用fgets读取字符串
// 避免读入多余的换行符
if (s[strlen(s) - 1] == '\n') {
s[strlen(s) - 1] = '\0';
}
// 颠倒字符串
for(int i = 0, j = strlen(s) - 1; i < j; i++, j--) {
char temp = s[i];
s[i] = s[j];
s[j] = temp;
}
// 输出颠倒后的字符串
printf("颠倒后的字符串: %s\n", s);
return 0;
}
```
当你运行这个程序,它会提示你输入一个字符串,然后显示颠倒后的结果。注意,我们在读取字符串后检查最后一个字符是否是换行符,并移除它,因为 `fgets` 会默认读入换行符。
阅读全文
相关推荐













