C语言实验 函数二
时间:2024.12.16
6-9 删除字符
代码
void delchar(char *str, char c) {
int i, j;
for (i = 0, j = 0; str[i]!= '\0'; i++) {
if (str[i]!= c) {
str[j] = str[i];
j++;
}
}
str[j] = '\0';
}
代码思路
1.在delchar函数中:
使用i和j两个指针,i用于遍历原始字符串str,j用于构建新的字符串。
当str[i]不等于字符c时,将str[i]赋值给str[j],然后j自增。
最后在新字符串的末尾添加字符串结束符'\0'。
2.在main函数中:
首先读取要删除的字符c。 然后调用ReadString函数读取输入的字符串str。 接着调用delchar函数删除字符串str中的字符c。 最后输出处理后的字符串str。
3. ReadString函数用于读取输入的字符串,直到遇到换行符`'\n'`为止。
程序完整代码
#include <stdio.h>
#define MAXN 20
void delchar(char *str, char c);
void ReadString(char s[]);
int main() {
char str[MAXN], c;
scanf("%c\n", &c);
ReadString(str);
delchar(str, c);
printf("%s\n", str);
return 0;
}
void delchar(char *str, char c) {
int i, j;
for (i = 0, j = 0; str[i]!= '\0'; i++) {
if (str[i]!= c) {
str[j] = str[i];
j++;
}
}
str[j] = '\0';
}
void ReadString(char s[]) {
int i = 0;
char ch;
while ((ch = getchar())!= '\n') {
s[i] = ch;
i++;
}
s[i] = '\0';
}
6-10 分类统计各类字符个数
代码一
void StringCount( char *s ){
int i, j,d=0,x=0,k=0,n=0,e=0;
for (i = 0; s[i]!= '\0'; i++) {
if (s[i]==' ') {
k++;
}else if(s[i]>='A'&&s[i]<='Z'){
d++;
}else if(s[i]>='a'&&s[i]<='z'){
x++;
}else if(s[i]>='0'&&s[i]<='9'){
n++;
}else{
e++;
}
}
printf("%d %d %d %d %d",d,x,k,n,e);
}
-
代码一思路分析
- 这段代码的目的是统计给定字符串中的大写字母、小写字母、空格、数字以及其它字符的个数。
- 它使用一个循环遍历字符串中的每个字符,然后使用多个
if-else
语句判断字符的类型,并相应地增加对应的计数器。 - 最后,它输出各个类型字符的个数。
程序完整代码
#include <stdio.h>
#define MAXS 15
void StringCount(char *s);
int main() {
char s[MAXS];
scanf(&