C语言编程,怎么从键盘输入一行字符,要求少于20个
发布网友
发布时间:2022-04-23 06:41
我来回答
共5个回答
热心网友
时间:2022-06-16 19:35
#include<stdio.h>
int main()
{
int c[20];
printf("Please enter a character:");
while((c[20]=getchar())!='#')/*这里用c[20]等于将输入的字符直接赋值给下标为20的哪个数组元素也就是说你的C[0]到c[19]都没赋值,而且你要输入的是20个元素而c[20]是第21个元素了, 再有就是while后面如果没有其他语句就应该加一个 ; 符号表示执行一个空语句*/
if(c[20]>='a'&&c[20]<='z')
putchar(c[20]-'a'+'A');
else
putchar(c[20]);
printf("\n");
return 0;
}
#include<stdio.h>
int main()
{
int c[20];
int ch,i=0;
printf("Please enter a character:");
while((ch=getchar())!='#')
{
c[i]=ch;
i++;
}
if(c[20]>='a'&&c[20]<='z')
putchar(c[20]-'a'+'A');
else
putchar(c[20]);
printf("\n");
return 0;
}
热心网友
时间:2022-06-16 19:35
#include
int
main()
{
int
c[20];
printf("Please
enter
a
character:");
while((c[20]=getchar())!='#')/*这里用c[20]等于将输入的字符直接赋值给下标为20的哪个数组元素也就是说你的C[0]到c[19]都没赋值,而且你要输入的是20个元素而c[20]是第21个元素了,
再有就是while后面如果没有其他语句就应该加一个
;
符号表示执行一个空语句*/
if(c[20]>='a'&&c[20]<='z')
putchar(c[20]-'a'+'A');
else
putchar(c[20]);
printf("\n");
return
0;
}
#include
int
main()
{
int
c[20];
int
ch,i=0;
printf("Please
enter
a
character:");
while((ch=getchar())!='#')
{
c[i]=ch;
i++;
}
if(c[20]>='a'&&c[20]<='z')
putchar(c[20]-'a'+'A');
else
putchar(c[20]);
printf("\n");
return
0;
}
热心网友
时间:2022-06-16 19:36
这道题有好多种解法,你的想法不错,只是数组没有用对,楼上已经指出了,这里不多说了。你用了getchar()和putchar()函数,这题不用数组也能解决,程序如下:
#include
int
main()
{
int
c,i=1;
printf("Please
enter
a
character:\n");
while((c=getchar())!='#')
{
if(c>='a'&&c<='z')
putchar(c-'a'+'A');
else
putchar(c);
i++;
if
(i==20)
break;
}
printf("\n");
return
0;
}
getchar()函数把接收的字符存入缓存区,当输入结束时,调用putchar()函数,从缓存区按输入的顺序一个字符一个字符的输出。若实现输入超过20个,也显示前20个,只要让函数输出前二十个就可以了。加一个判断语句就行了。
回答完毕。
热心网友
时间:2022-06-16 19:36
这道题有好多种解法,你的想法不错,只是数组没有用对,楼上已经指出了,这里不多说了。你用了getchar()和putchar()函数,这题不用数组也能解决,程序如下:
#include<stdio.h>
int main()
{
int c,i=1;
printf("Please enter a character:\n");
while((c=getchar())!='#')
{
if(c>='a'&&c<='z')
putchar(c-'a'+'A');
else
putchar(c);
i++;
if (i==20) break;
}
printf("\n");
return 0;
}
getchar()函数把接收的字符存入缓存区,当输入结束时,调用putchar()函数,从缓存区按输入的顺序一个字符一个字符的输出。若实现输入超过20个,也显示前20个,只要让函数输出前二十个就可以了。加一个判断语句就行了。
回答完毕。
热心网友
时间:2022-06-16 19:37
#include<stdio.h>
int
main()
{
int
c[20];
printf("Please
enter
a
character:");
while((c[20]=getchar())!='#')/*这里用c[20]等于将输入的字符直接赋值给下标为20的哪个数组元素也就是说你的C[0]到c[19]都没赋值,而且你要输入的是20个元素而c[20]是第21个元素了,
再有就是while后面如果没有其他语句就应该加一个
;
符号表示执行一个空语句*/
if(c[20]>='a'&&c[20]<='z')
putchar(c[20]-'a'+'A');
else
putchar(c[20]);
printf("\n");
return
0;
}
#include<stdio.h>
int
main()
{
int
c[20];
int
ch,i=0;
printf("Please
enter
a
character:");
while((ch=getchar())!='#')
{
c[i]=ch;
i++;
}
if(c[20]>='a'&&c[20]<='z')
putchar(c[20]-'a'+'A');
else
putchar(c[20]);
printf("\n");
return
0;
}