用c语言实现,在主函数输入一字符串,通过fun函数判断,如果字符串前导符号*的个数k大于在主函数输入的n时,将字符串下标为k开始到结尾的字符串前移k-n个单位。如果n大于或等于k,则原字符串不变,通过主函数输出字符串
时间: 2023-05-25 08:06:47 浏览: 93
```
#include <stdio.h>
#include <string.h>
void fun(char *s, int n);
int main()
{
char s[100];
int n;
printf("输入一个字符串:");
scanf("%s", s);
printf("输入一个整数n:");
scanf("%d", &n);
fun(s, n);
printf("处理结果为:%s\n", s);
return 0;
}
void fun(char *s, int n)
{
int len = strlen(s);
int k = 0;
// 统计前导符号*
while (k < len && s[k] == '*') {
k++;
}
if (k > n) {
// 前导符号*的个数大于n,需要前移
int i;
for (i = k; i < len; i++) {
s[i - k + n] = s[i];
}
s[i - k + n] = '\0';
}
}
```
相关问题
用c语言输入一字符串,统计出其数字字符的个数。
好的,下面是用 C 语言实现输入字符串并统计数字字符个数的代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int count = 0;
printf("请输入一个字符串:");
fgets(str, 100, stdin); // 从标准输入中读取字符串
for (int i = 0; i < strlen(str); i++) {
if (str[i] >= '0' && str[i] <= '9') { // 判断是否为数字字符
count++;
}
}
printf("数字字符的个数为:%d\n", count);
return 0;
}
```
解释一下代码:
1. 首先定义一个字符数组 `str` 和一个整型变量 `count`,用来存储输入的字符串和数字字符的个数。
2. 使用 `fgets` 函数从标准输入中读取字符串,这里限制字符串长度为 100。
3. 使用一个 for 循环遍历整个字符串,判断每个字符是否为数字字符,如果是则计数器加一。
4. 最后输出数字字符的个数。
注意:这里假设输入的字符串中只包含数字字符和其他字符,如果有其他情况需要特殊处理。
c语言在主函数中输入一个字符串,在子函数中统计该字符串中字符$的个数,然后在
首先,在主函数中我们可以使用`scanf`函数以字符串的形式输入一个字符串。接着,我们定义一个子函数,用于统计字符串中字符"$"的个数。在该子函数中,我们使用一个循环遍历字符串的每个字符,如果遍历到的字符为"$",则将计数变量加1。最后,在主函数中调用该子函数,并输出统计结果。
以下是代码示例:
```c
#include <stdio.h>
void countDollar(char str[]) {
int count = 0;
for (int i = 0; str[i] != '\0'; i++) {
if (str[i] == '$') {
count++;
}
}
printf("字符串中字符$的个数为:%d\n", count);
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
countDollar(str);
return 0;
}
```
在上述代码中,我们定义了一个`countDollar`函数,该函数接收一个字符串参数`str[]`,并使用循环遍历字符串中的每个字符进行统计。最后,在主函数中调用`countDollar`函数,并通过`scanf`函数输入一个字符串并传递给子函数进行统计。最后统计结果会显示在控制台上。
希望这个回答对您有帮助。
阅读全文