用C语言翻译用户输入程序的错误
我正在试用一个程序,该程序根据以下规则翻译用户输入:用C语言翻译用户输入程序的错误,c,C,我正在试用一个程序,该程序根据以下规则翻译用户输入: 如果字符是字母,则必须以大写字母打印 如果字符是数字(0-9),则必须打印星号(*) 如果字符是双引号(“),则必须打印单引号(') 如果字符是反斜杠“\”,则跳过该字符(未打印),并且打印下一个字符而不进行任何修改 否则,字符将按原样打印 MyCode #include <stdio.h> void lowertoupper(char lower) { char upper; if(lower >=
#include <stdio.h>
void lowertoupper(char lower)
{
char upper;
if(lower >= 'a' && lower <= 'z'){
upper = ('A' + lower - 'a');
}
else{
upper = lower;
}
printf("%c",upper);
}
int main(void) {
char chara;
printf("please enter");
while(scanf(" %c", &chara)!= EOF) {
if ((chara>='a' && chara<='z')||(chara>='A' && chara<='Z'))
{
lowertoupper(chara);
}
else if (chara>=0 && chara<=9)
{
printf("*");
}
else if (chara=='"')
{
printf("'");
}
else if (chara=="\\")
{
}
else {
printf("%c",chara);
}
}
}
#包括
void lowertoupper(char lower)
{
炭上;
如果(lower>='a'&&lower='a'&&chara='a'&&chara=0&&chara您的数字测试有问题。数字字符是'0'
到'1'
,其实际值取决于本地字符集,但从0
到9int-noChange=0;/*已添加*/
int noChange = 0; /* Added */
while(scanf(" %c", &chara) == 1) { /* Modified */
if(noChange == 1) { /* Added */
printf("%c",chara); /* Added */
noChange = 0; /* Added */
} /* Added */
else if ((chara>='a' && chara<='z')||(chara>='A' && chara<='Z')) /* Modified */
{
lowertoupper(chara);
}
else if (chara >= '0' && chara <= '9') /* Modified */
{
printf("*");
}
else if (chara=='"')
{
printf("'");
}
else if (chara=='\\') /* Modified */
{
noChange = 1; /* Added */
}
else {
printf("%c",chara);
}
}
而(scanf(“%c”,&chara)==1){/*修改*/
如果(noChange==1){/*添加*/
printf(“%c”,字符);/*已添加*/
noChange=0;/*已添加*/
}/*增加*/
否则,如果((chara>='a'&&chara='a'&&chara='0'&&chara这也起作用,则比较chara存储ascii值,因此“0”的ascii值不是0
#include <stdio.h>
int main() {
char chara = '\0';
while(scanf("%c", &chara) == 1) {
if ( chara>='a' && chara<='z' ) printf("%c",'A' + (chara - 'a'));
else if (chara >= '0' && chara <= '9') printf("%c",'*');
else if (chara=='"') printf("%c",'\'');
else if (chara=='\\') ;
else printf("%c",chara);
}
}
#包括
int main(){
字符字符='\0';
而(scanf(“%c”,&chara)==1){
如果(chara>='a'&&chara='0'&&charascanf
的格式字符串不应该有空格。实际上这里不需要scanf
,使用getchar
。您的第一个实现应该使用
中的函数isalpha
和isdigit
。是的可能重复问题是类似,但是这里的代码和场景不同。