十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
很简单的程序,遍历输入字符串。
成都创新互联公司咨询热线:18980820575,为您提供成都网站建设网页设计及定制高端网站建设服务,成都创新互联公司网页制作领域十载,包括成都混凝土搅拌机等多个领域拥有多年建站经验,选择成都创新互联公司,为网站锦上添花。
1、如果字符不是空格,就赋值到输出字符串中。
2、如果是空格,就跳过这个字符。
例如:
#include stdio.h
#include string.h
int main()
{
const char * input = "Hello World! Welcome To Beijing!";
char output[1024];
int i, j, input_len;
input_len = strlen(input);
j = 0;
for(i = 0; i input_len; i++)
{
if (input[i] != ' ')
{
output[j] = input[i];
j++;
}
}
output[j] = '\0';
printf("Input string is: %s\n", input);
printf("After spaces were removed: %s\n", output);
return 0;
}
具体的输出效果为:
Input string is: Hello World! Welcome To Beijing!
After spaces were removed: HelloWorld!WelcomeToBeijing!
字符串输入可以用scanf函数和gets函数。scanf函数是当输入的数据遇到空格就停止。比如输入数据kkkkkk ssssss sssaa11。用scanf("%s",str);得到的str为"kkkkkk",而空格后面的东西不会赋值给str。而使用gets(str);得到的str为kkkkkk ssssss sssaa11。gets函数是将一整行包括空格都赋值给str。对于你给的例子。main里面的代码为:
main()
{
char str[10];
gets(str);
puts(str);
return(0);
}
输出结果就是a b c。
有两种处理方法.
方法一,通过char字符判断是否==' '。如果是空格字符跳过。
例程:
#include stdio.h
#include string.h
int main (){
char letter;
printf("Please input a letter:");
do { scanf("%c",letter);} while( letter == ' ' ); //当是空格是,继续读
if(letter=97letter=122)
printf("%c",letter-32);
else
printf("%c",letter);
return 0;
}
方法二,直接用格式输入行数scanf跳过空白字符。
在scanf格式输入当中,空格符是作为分隔符号而存在的。
例程:
#include stdio.h
int main (){
char s[100];
printf("Please input a letter:");
while(scanf("%s",s)!=EOF){
printf(s);
}
return 0;
}
1、查一下ACSII码,空格是
32
,换行也是一个字符,为10
回车是
13。
2、例程:
#include "stdio.h"
int main(void)
{
int sz;
int i=0;
printf("请输入字符按#号键结束\n");
while((sz=getchar())!='#')
{
if(sz == 10 || sz == 13 || sz == 32)
continue;
putchar(sz);
i++;
printf("%c=%d ",sz,sz);
if((i%8)==0)//每8个字符打印一个换行
printf("\n");
}
}