6-7 删除字符串中数字字符 分数 10 作者 王跃萍 单位 东北石油大学 删除一个字符串中的所有数字字符。 函数接口定义: void delnum(char *s); 其中 s 是用户传入的参数。 函数的功能是删除指针 s 所指的字符串中的所有数字字符。 裁判测试程序样例: #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 *s) { char *p=s; while(*p!='\0'){ if(*p>='0'&&*p<='9'){ p=p++; } } } 我的代码错在哪里
您这段代码存在几个问题哈: 1. 当遇到数字字符时,`p = p++;` 这种写法是不正确的,应该是 `p++;` ,这样才能正确移动指针。 2. 当遇到非数字字符时,您没有把它保存到合适的位置,所以还需要一个指针来记录处理后的位置。 3. 处理完字符串后,没有在合适的位置添加字符串结束标志 `'\0'` 。 [2024-11-20 18:52:27 | AI写代码神器 | 102点数解答]
相关提问
- [字节豆包] 6-7 删除字符串中数字字符 分数 10 作者 王跃萍 单位 东北石油大学 删除一个字符串中的所有数字字符。 函数接口定义: void delnum(char *s); 其中 s 是用户传入的参数。 函数的功能是删除指针 s 所指的字符串中的所有数字字符。 裁判测试程序样例: #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 *s) { char *p=s; while(*p!='\0'){ if(*p>='0'&&*p<='9'){ p=p++; } } } 我的代码错在哪里(102点数解答 | 2024-11-20 18:52:27)352
- [字节豆包] 删除字符串中数字字符 分数 10 作者 王跃萍 单位 东北石油大学 删除一个字符串中的所有数字字符。 函数接口定义: void delnum(char *s); 其中 s 是用户传入的参数。 函数的功能是删除指针 s 所指的字符串中的所有数字字符。 裁判测试程序样例: #include "stdio.h" void delnum(char *s); int main () { char item[80]; gets(item); delnum(item); printf("%s\n",item); return 0; } /* (176点数解答 | 2025-01-12 20:57:25)243
- [字节豆包] 6-5 字符串比较 分数 5 全屏浏览 切换布局 作者 王跃萍 单位 东北石油大学 函数fun的功能是比较两个字符串,如果s1=s2,则返回值0;如果s1>s2,则返回值1;如果s1<s2,则返回-1。 函数接口定义: int fun(char a[],char b[]); 其中a、b是用户传入的参数。 函数比较两个字符串,如果a=b,则返回值0;如果a>b,则返回值1;如果a<b,则返回-1。 裁判测试程序样例: #include "stdio.h" #include "string.h" int fun(char a[],char b[]); int main() {int t; char s1[40],s2[40]; gets(s1); gets(s2); t=fun(s1,s2); printf("%d\n",t); return 0; } /* 请在这里填写答案 */ 输入样例: asd fg 输出样例: -1 (178点数解答 | 2025-12-10 18:29:54)48
- [DeepSeek] #include<stdio.h> void get_char(); int position(char ch); int main() { get_char(); return 0; } void get_char() { char ch; printf("请输入字符:"); while((ch=getchar())!=EOF) { if((ch=getchar())=='\n') { continue; } if((ch=getchar())!=-1) { printf("%c在字母表中的位置是%d\n",ch,position(ch)); } else printf("%c不是字母表中的",ch); } } int position(char ch) { if(ch>='A'&&ch<='Z') return ch-'A'+1; if(ch>='a'&&ch<='z') return ch-'a'+1; else return -1; } 查错 (519点数解答 | 2025-02-07 12:41:36)209
- [字节豆包] 本题要实现的程序功能是: ①从键盘上先后读入两个不超过32个字符的字符串,存储在字符数组str1和str2中。②将字符串str2插入字符串str1中,在屏幕上输出新生成的str1。 函数接口定义: void conj(char *s1, char *s2); 裁判测试程序样例: #include <stdio.h> #include <string.h> #define n 32 void conj(char *s1, char *s2); int main(void) { char str1[n * 2], str2[n]; gets(str1); gets(str2); conj(str1, str2); printf("after conj string1:%s\n", str1); return 0; } /* 请在这里填写答案 */ 用c语言(212点数解答 | 2024-12-12 18:12:00)254
- [字节豆包] 6-22 删除字符串中指定的字符 分数 10 作者 王跃萍 单位 东北石油大学 编写函数fun,函数的功能是:从字符串中删除指定的字符。同一字母的大、小写按不同字符处理。 函数接口定义: int fun(char s[],char c); 其中 s 和 c 都是用户传入的参数。 函数从字符串 s中删除指定的字符c 。同一字母的大、小写按不同字符处理。 裁判测试程序样例: #include <stdio.h> int fun(char s[],char c); int main() { static char str[]="turbocandborlandc++"; char ch; scanf("%c",&ch); printf("原始字符串:%s\n", str); fun(str,ch); printf("str[]=%s\n",str); return 0; } /* 请在这里填写答案 */ 输入样例: c 输出样例: 原始字符串:turbocandborlandc++ str[]=turboandborland(211点数解答 | 2025-01-21 21:18:10)252
- [字节豆包] 函数fun的功能是比较两个字符串,如果s1=s2,则返回值0;如果s1>s2,则返回值1;如果s1<s2,则返回-1。 函数接口定义: int fun(char a[],char b[]); 其中a、b是用户传入的参数。 函数比较两个字符串,如果a=b,则返回值0;如果a>b,则返回值1;如果a<b,则返回-1。 裁判测试程序样例: #include "stdio.h" #include "string.h" int fun(char a[],char b[]); int main() {int t; char s1[40],s2[40]; gets(s1); gets(s2); t=fun(s1,s2); printf("%d\n",t); return 0; } /* 请在这里填写答案 */(221点数解答 | 2025-12-10 23:11:13)27
- [讯飞星火] 快速排序:# include< iostream>using namespace std;# include< stdlib. h># include< time. h>const int n =10;const int min= 10;const int max=99;int getrand( int min, int max){return ( rand()%( max-min+1)+ min);}void set( int r[], int n){int i;for(i=0;i<n;i++)r[i]=getrand(min, max);}void show( int r[], int n){int i;for(i=0;i<n;i++)cout << r[i]<<" ";cout << endl;}int partition( int r[], int i, int j){//由你完成}void quicksort( int r[], int i, int j){//由你完成}int main(){srand( time(0));int a[n];set(a, n);cout<<"(710点数解答 | 2024-11-14 10:44:25)331
- [阿里通义] 快速排序:# include< iostream>using namespace std;# include< stdlib. h># include< time. h>const int n =10;const int min= 10;const int max=99;int getrand( int min, int max){return ( rand()%( max-min+1)+ min);}void set( int r[], int n){int i;for(i=0;i<n;i++)r[i]=getrand(min, max);}void show( int r[], int n){int i;for(i=0;i<n;i++)cout << r[i]<<" ";cout << endl;}int partition( int r[], int i, int j){//由你完成}void quicksort( int r[], int i, int j){//由你完成}int main(){srand( time(0));int a[n];set(a, n);cout<<"(951点数解答 | 2024-11-14 10:46:29)314
- [字节豆包] 快速排序:# include< iostream>using namespace std;# include< stdlib. h># include< time. h>const int n =10;const int min= 10;const int max=99;int getrand( int min, int max){return ( rand()%( max-min+1)+ min);}void set( int r[], int n){int i;for(i=0;i<n;i++)r[i]=getrand(min, max);}void show( int r[], int n){int i;for(i=0;i<n;i++)cout << r[i]<<" ";cout << endl;}int partition( int r[], int i, int j){//由你完成}void quicksort( int r[], int i, int j){//由你完成}int main(){srand( time(0));int a[n];set(a, n);cout<<"(472点数解答 | 2024-11-14 10:51:44)307
- [字节豆包] #include <cstdio> using namespace std; int main() { int n; scanf("%d", &n); for(int i = 1; i <= n * n; i ++) { if(i < 10) { printf("0%d", i); } else { printf("%d", i); } if(i % n == 0) { printf("\n"); } } printf("\n"); int cnt = 1; for(int i = 1; i <= n; i ++) { for(int j = 1; j <= n - i; j ++) { printf(" "); } while(cnt <= i * (i + 1) / 2) { if(cnt < 10) { printf("0%d", cnt); } else { printf("%d", cnt); } cnt ++; } printf("\n"); } } (590点数解答 | 2025-11-23 19:18:16)36
- [字节豆包] #include<iostream> using namespace std;#include<stdlib.h>#include<time.h> const int n =10; const int min =10; const int max =99; int getrand(int min, int max) { return (rand() % (max - min +1) + min); void set(int r[], int n){ int i; for(i = 0; i< n; i++) r[i] = getrand(min,max); void show(int r[], int n) { int i; for (i = 0; i<n;i++) cout << r[i] << ""; cout << endl;}void sift(int r[],int m,int k){ } void heapsort(intr[], int n){ //由你完成 int main(){ srand(time(0)); int a[n]; set(a,n); cout <<"原序(417点数解答 | 2024-11-28 11:20:23)363