编写程序,使其从标准输入读取字符,截至文件结尾。对每个字符,程序需检查是否为字母,若是报告在字母表中的位置,如C和c均为3.若不是字母,位置置为-1
编写程序,使其从标准输入读取字符,直至文件结尾。对每个字符,程序需检查是否为字母,若是报告在字母表中的位置,如C和c均为3.若不是字母,位置置为-1.
以下程序不管是不是字母,均输出-1.不知怎么回事?
#include<stdio.h>
int number(char );
void main()
{char ch;
printf("Enter the letter: ");
while((scanf("%c",&ch)==1)&&(ch!='\0'))
number(ch);
}
int number(char ch)
{int num;
if(ch>='A'&&ch<='Z'||ch>='a'&&ch<='z')
{if(ch>='a'&&ch<='z')
printf("%c,its number is %d.\n",ch,ch-96);
else
printf("%c,its number is %d.\n",ch,ch-64);}
else
printf("%c,its number is -1.\n",ch);
}
------解决方案--------------------
------解决方案--------------------
楼主的问题是那个换行符吧!!
还有楼主注意代码格式啊!
以下程序不管是不是字母,均输出-1.不知怎么回事?
#include<stdio.h>
int number(char );
void main()
{char ch;
printf("Enter the letter: ");
while((scanf("%c",&ch)==1)&&(ch!='\0'))
number(ch);
}
int number(char ch)
{int num;
if(ch>='A'&&ch<='Z'||ch>='a'&&ch<='z')
{if(ch>='a'&&ch<='z')
printf("%c,its number is %d.\n",ch,ch-96);
else
printf("%c,its number is %d.\n",ch,ch-64);}
else
printf("%c,its number is -1.\n",ch);
}
------解决方案--------------------
#include<stdio.h>
int number(char );
void main()
{
char ch;
printf("Enter the letter: ");
while((scanf("%c",&ch)==1)&&(ch!='\0'))
{
number(ch);
fflush(stdin);
}
}
int number(char ch)
{
int num;
if(ch>='A'&&ch<='Z'
------解决方案--------------------
ch>='a'&&ch<='z')
{
if(ch>='a'&&ch<='z')
printf("%c,its number is %d.\n",ch,ch-96);
else
printf("%c,its number is %d.\n",ch,ch-64);}
else
printf("%c,its number is -1.\n",ch);
return 0;
}
------解决方案--------------------
楼主的问题是那个换行符吧!!
#include<stdio.h>
int number(char ch);
void main()
{
char ch;
printf("Enter the letter: ");
while((scanf("%c",&ch)==1)&&(ch!='\0'))
number(ch);
}
int number(char ch)
{
int num;
if(ch>='A'&&ch<='Z'
------解决方案--------------------
ch>='a'&&ch<='z')
{
if(ch>='a'&&ch<='z')
printf("%c,its number is %d.\n",ch,ch-96);
else
printf("%c,its number is %d.\n",ch,ch-64);
}
else if(ch=='\n') //判断一下是否是换行符
printf("");
else
printf("%c,its number is -1.\n",ch);
}
还有楼主注意代码格式啊!