c语言交换两个字符串的第一个非空字符,其他字符不变,用while语句
时间: 2024-04-30 21:24:19 浏览: 11
可以这样实现:
```c
void swap(char *str1, char *str2) {
int i = 0;
while (str1[i] != '\0' && str2[i] != '\0') { // 从第一个非空字符开始交换
char temp = str1[i];
str1[i] = str2[i];
str2[i] = temp;
i++;
}
}
```
希望能帮到您。还有什么问题吗?
相关问题
C语言统计输入的字符串中大写字母和小写字母的个数while语句和数组
下面是一个使用while语句和数组统计输入字符串中大写字母和小写字母个数的示例代码:
```c
#include <stdio.h>
int main() {
char str[100];
int i = 0, upper = 0, lower = 0;
printf("请输入一个字符串:");
scanf("%[^\n]", str); // 读取一行字符串,遇到换行符结束
while (str[i] != '\0') {
if (str[i] >= 'A' && str[i] <= 'Z') {
upper++;
} else if (str[i] >= 'a' && str[i] <= 'z') {
lower++;
}
i++;
}
printf("大写字母个数:%d\n", upper);
printf("小写字母个数:%d\n", lower);
return 0;
}
```
代码中使用了一个字符数组`str`来存储输入的字符串,使用`scanf`函数读取一行字符串,遇到换行符`\n`结束。然后使用while循环遍历字符串中的每一个字符,判断其是否为大写字母或小写字母,并分别累加计数器`upper`和`lower`的值。最后输出结果。
C语言统计输入的字符串中大写字母和小写字母的个数while语句
下面是一个 C 语言程序,使用 while 循环统计输入的字符串中大写字母和小写字母的个数:
```c
#include <stdio.h>
int main() {
char str[100];
int i = 0, upper = 0, lower = 0;
printf("Enter a string: ");
scanf("%s", str);
while (str[i] != '\0') {
if (str[i] >= 'A' && str[i] <= 'Z') {
upper++;
} else if (str[i] >= 'a' && str[i] <= 'z') {
lower++;
}
i++;
}
printf("Number of uppercase letters: %d\n", upper);
printf("Number of lowercase letters: %d\n", lower);
return 0;
}
```
程序首先提示用户输入一个字符串,并使用 scanf 函数将字符串存储在字符数组 str 中。然后使用 while 循环遍历字符串中的每个字符,如果字符是大写字母,则将大写字母计数器 upper 加 1;如果字符是小写字母,则将小写字母计数器 lower 加 1。最后程序输出统计结果。