c语言输入字母输出数字,输入一字符串 把其中的字母和数字分开输出 用c语言编写...

输入一字符串 把其中的字母和数字分开输出 用c语言编写

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

解决时间 2019-10-05 09:13

已解决

2019-10-04 22:32

输入一字符串 把其中的字母和数字分开输出 用c语言编写

最佳答案

2019-10-04 23:04

其C语言程序为:

int str_length = strlen(str);

int str1[20];

char str2[20];

int mark1= 0 ;

int mark2 =0 ;

for( int i = 0 ; i < str_length ; i++ )

{

if( str[i] > 47 && str[i] < 59 )

{

str1[mark1] = str[i];

mark1++;

}

else if( (str[i] >= 65 && str[i] <= 90)|| (str[i] >= 97 && str[i] <= 122) )

{

str2[mark1] = str[i];

mark2++;

}

}

全部回答

1楼

2019-10-05 02:42

知道 asii码么? 你可以在输入的时候 每个字符进行判断 当然 可以 也有个是 库函数 比如 isup 好像是这么写的

2楼

2019-10-05 01:48

#include

void main()

{

char str[100];

char zimu[100];

char shuzi[100];

int i=0;j=0;k=0;

scanf("%s",str[]);

for(i=0;str[i]!='/0';i++)

if(str[i]>'0'||str[i]

{shuzi[j]=str[i];j++;}

else //如果是字母,就放进zimu数组

{zimu[k]=str[i];k++;}

shuzi[j]='\0';//不要忘了结束符

zimu[j]='\0';

printf("%s",shuzi[]);//输出

printf("%s",zimu[]");

}

还有问题给我留言!

3楼

2019-10-05 01:33

#include

void main()

{

char str[100];

char zimu[100];

char shuzi[100];

int i=0,j=0,k=0;

scanf("%s",str);

for(i=0;str[i]!='\0';i++)

if(str[i] >='0'&&str[i] <='9')//如果是数字,就放进shuzi数组

{shuzi[j]=str[i];j++;}

else //如果是字母,就放进zimu数组

{zimu[k]=str[i];k++;}

shuzi[j]='\0';//不要忘了结束符

zimu[k]='\0';

printf("%s\n",shuzi);//输出

printf("%s\n",zimu);

}

修改楼上的程序,经运行成功!!

关于素数的问题:

#include

#include

void main()

{

int i,m;

double k;

for(m=2;m<=100;m++)

{k=sqrt(m);

for(i=2;i=k)

printf("%d ",m);

}

}

以上代码运行不正确、、

改为:#include

#include

void main()

{

int i,m;

double k;

for(m=2;m<=100;m++)

{k=sqrt(m);

for(i=2;i<=k&&m%i!=0;i++);

if(i>k)

printf("%d ",m);

}

}

4楼

2019-10-05 00:36

e if t = t + 1;改为

else t=t+1;因为字母,数字,空格的情况已经都考虑了,所以剩下的即为其他字符.

第二,主程序中这四个变量zm, kg, sz, qt没有初始化,应先都赋值为0.

第三,函数应定义为void fun(char c[], int &z, int &k, int &s, int &t)即把传值改为传引用,否则调用fun函数结束后,zm, kg, sz, qt的值仍为0.

希望会给你帮助.

5楼

2019-10-05 00:19

#include

main()

{

char *p,str[] = "csb0 c11234c21234o21234h41234";

p=&str[5];

while (*p!='\0')

{

printf("%c%c=",*p,*(p+1));

p+=2;

while (1)

{

if (*p>='0' &&*p<='9')

{

printf("%c",*p++);

}else

{

break;

}

}

printf("\n");

}

}

我要举报

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

大家都在看

推荐资讯

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值