输入一字符串 把其中的字母和数字分开输出 用c语言编写
发布网友
发布时间:2022-08-09 20:18
我来回答
共5个回答
热心网友
时间:2024-12-15 07:00
#include<stdio.h>
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<stdio.h>
#include<math.h>
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);
}
}
以上代码运行不正确、、
改为:#include<stdio.h>
#include<math.h>
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);
}
}
热心网友
时间:2024-12-15 07:01
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.
希望会给你帮助.
热心网友
时间:2024-12-15 07:01
其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++;
}
}
热心网友
时间:2024-12-15 07:02
#include<stdio.h>
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[j]='\0';
printf("%s",shuzi[]);//输出
printf("%s",zimu[]");
}
还有问题给我留言!追问麻烦高人帮我看下输出1-100之间素数的程序错在哪,谢谢
#include
#include
void main()
{
int i,m;
float k;
for(m=2;m<=100;m++)
{
k=sqrt(m);
for(i=2;i<k;i++)
{
if(m%i!=0)
printf("%d ",m);
}
}
}
追答#include
#include
void main()
{
int i,m;
float k;
for(m=2;m
#include
void main()
{
int i,m;
double k;
for(m=2;m=k)
printf("%d ",m);
}
}
热心网友
时间:2024-12-15 07:02
简单
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-100之间素数的程序错在哪,谢谢
#include
#include
void main()
{
int i,m;
float k;
for(m=2;m<=100;m++)
{
k=sqrt(m);
for(i=2;i<k;i++)
{
if(m%i!=0)
printf("%d ",m);
}
}
}
追答素数:指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数
boo temp_mark = false;
for(m=2;m<=100;m++)
{
k=sqrt(m);
for(i=2;i<k;i++)
{
if(m%i == 0)
{
temp_mark = true;
break;
}
}
if( !temp_mark )
printf("%d ",m);
temp_mark = false;
}