C语言字符串移动包含问题,C语言问题 读入若干字符串,将包含指定字符的字符串输出。...

C语言问题 读入若干字符串,将包含指定字符的字符串输出。

答案:3  信息版本:手机版

解决时间 2019-10-06 08:06

已解决

2019-10-05 23:40

c语言新手 如何用定义函数解决

读入字符串用getchar还是scanf

最佳答案

2019-10-06 01:19

#include #include #define M 4 #define N 20 void Sort(char (*a)[N],int n) { int i,j; char ct[N]; for(i = 0;i < n - 1;i++) { for(j = 0;j < n - i - 1;j++) if(strcmp(a[j],a[j+1]) > 0) { strcpy(ct,a[j]); strcpy(a[j],a[j+1]); strcpy(a[j+1],ct); } } } int main() { int i; char str[M][N]; //输入 for(i = 0;i < M;i++) scanf("%s",str[i]); //排序 Sort(str,M); //输出 for(i = 0;i < M;i++) printf("%s\n",str[i]); return 0; }

全部回答

1楼

2019-10-06 03:02

看你的代码的意思是先把第一个冒号前面的字符串去掉,然后再分割标示符

给你个短的版本,如下

#include

#include

#include

int main(void)

{

char s[100] = "iios:12ddwdff-ad_ff=2131_85+asdf";

char *p = strchr(s, ':')+1;

printf("[%s]\n", p);

char *q = p;

while (*p) {

if (!isdigit(*p) && !isalpha(*p) && *p!='_') {

*p = 0; // 添加字符串结尾保证q的结尾正确

printf("%s\n", q); // 这个q就是你要的字符串,如果你想保存成数组的话就开个数组把q存进去

q = p+1; // 指向下一个串

}

p++;

}

printf("%s\n", q); // 这里还有最后一个别忘了。

return 0;

}

2楼

2019-10-06 01:40

#include #include #define M 4 #define N 20 void Sort(char (*a)[N],int n) { int i,j; char ct[N]; for(i = 0;i < n - 1;i++) { for(j = 0;j < n - i - 1;j++) if(strcmp(a[j],a[j+1]) > 0) { strcpy(ct,a[j]); strcpy(a[j],a[j+1]); strcpy(a[j+1],ct); } } } int main() { int i; char str[M][N]; //输入 for(i = 0;i < M;i++) scanf("%s",str[i]); //排序 Sort(str,M); //输出 for(i = 0;i < M;i++) printf("%s\n",str[i]); return 0; }

我要举报

如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!

大家都在看

推荐资讯

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值