C语言:从键盘输入一个不超过100个字符的字符串,其中字符串只包括字母、数字、空格三种字符。

2025-02-23 06:52:20
推荐回答(2个)
回答1:

1、首先需要打开编程软件。

2、输入以下程序:#include int main(){ char str[40]; scanf("%s",&str); printf("%s",str); return 0;}。

3、然后按F5运行程序。

4、然后输入想要输入的字符串。

5、按回车键,就会弹出你输入的字符串。

6、注意字符串的大小,改变中括号中的数字改变输入字符串的大小。

回答2:

#include
#include
int letter(char c)
{
 if(('a'<=c&&c<='z')||('A'<=c&&c<='Z'))
  return 1;    //字母返回1
 else
  return 0;   //不是字母返回0
}
main()
{
 char s[100],temp[100];
 char str[50][100];
 int i=0,j=0,k=0;
 int flag=0;
 printf("input : \n");
 scanf("%[^\n]s",s);    //注意这里"%[^\n]s",读到\n为止,也就是读一行
 while(s[i]!='\0')  //提取字符串
 {
  if(letter(s[i])==1)  //是字母
  {
   flag=1;    //连续字母标记
   str[j][k]=s[i];
   if(s[i+1]=='\0')
   {
    str[j][k+1]='\0';
    j++;
   }
   i++;
   k++;

  }
  else if(letter(s[i])==0&&flag==0)     //前面不是字母这里也不是字母
  {
   flag=0;
   k=0;
   i++;
  }
  else if(letter(s[i])==0&&flag==1)  //前面是字母此处开始不是字母
  {
   flag=0;
   str[j][k]='\0';
   k=0;
   i++;
   j++;
  }

 }
 for(i=0;i {
  for(k=i+1;k  {
   if(strcmp(str[i],str[k])<0)
   {
    strcpy(temp,str[i]);
    strcpy(str[i],str[k]);
    strcpy(str[k],temp);
   }
  }
 }
 printf("output : \n");
 for(i=0;i {
  printf("%s\n",str[i]);
 }

}

这是我以前写的,可以实现(4)的功能,把排序的for循环删掉就是(3)的功能。

(1)(2)的话等一下