c语言pta7-1删除数字字符
时间: 2024-01-20 08:01:59 浏览: 163
以下是C语言实现删除数字字符的代码:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[10000];
char new_str[10000];
int i, j = 0;
gets(str);
for (i = 0; i < strlen(str); i++) {
if (str[i] < '0' || str[i] > '9') {
new_str[j] = str[i];
j++;
}
}
new_str[j] = '\0';
printf("%s", new_str);
return 0;
}
```
该代码通过遍历输入的字符串,将非数字字符存入新的字符串中,最后输出新的字符串即可实现删除数字字符的功能。
相关问题
c语言pta6-1 字符串排序
在C语言中,字符串排序通常涉及到数组或字符指针的处理。如果是指对一维字符数组按照字典序(ASCII值)进行升序或降序排序,可以使用标准库函数如qsort()或者自定义排序算法,比如冒泡排序、选择排序、插入排序或快速排序等。
以下是一个简单的使用qsort()函数对字符串数组进行排序的例子,假设我们有一个包含字符串的数组:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 自定义比较函数,用于qsort()
int compare(const void *a, const void *b) {
return strcmp(*(char **)a, *(char **)b);
}
void sortStrings(char strings[][50], int n) {
qsort(strings, n, sizeof(char*), compare);
}
int main() {
char words[] = {"apple", "banana", "cherry", "date", "elderberry"};
int numWords = sizeof(words) / sizeof(words);
// 排序数组
sortStrings(words, numWords);
// 输出排序后的结果
for (int i = 0; i < numWords; i++) {
printf("%s\n", words[i]);
}
return 0;
}
```
在这个例子中,`compare`函数是qsort()的核心,它比较两个字符串并返回相应的排序顺序。`sortStrings()`函数则调用qsort()对字符串数组进行排序。
c语言pta删除数字字符
以下是一个C语言的程序,用于删除字符串中的数字字符:
```c
#include "stdio.h"
void delnum(char *s);
int main () {
char item[80];
gets(item);
delnum(item);
printf("%s\n",item);
return 0;
}
void delnum(char*) {
int i=0;
int j=0;
while (s[i] != '\0') {
if (!(s[i] <= '9' && s[i] >= '0')) {
s[j] = s[i];
j++;
}
i++;
}
s[j] = '\0';
}
```
该程序通过循环遍历字符串中的每个字符,如果该字符不是数字字符,则将其添加到新的字符串中。最后,将新的字符串复制回原始字符串中。
阅读全文