输入一字符串 把其中的字母和数字分开输出 用c语言编写
答案:6信息版本:手机版
解决时间 -10-05 09:13
已解决
-10-04 22:32
输入一字符串 把其中的字母和数字分开输出 用c语言编写
最佳答案
-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楼
-10-05 02:42
知道 asii码么? 你可以在输入的时候 每个字符进行判断 当然 可以 也有个是 库函数 比如 isup 好像是这么写的
2楼
-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楼
-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楼
-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楼
-10-05 00:19
#include
main()
{
char*p,str[]="csb0c11234c21234o21234h41234";
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");
}
}
我要举报
如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
大家都在看
推荐资讯