c语言程序:要求反复从键盘上输入一个字符,对字母进行大小写转换;若输入的不是字母则报错;直到键入

设计一个程序:要求反复从键盘上输入一个字符,对字母进行大小写转换;若输入的不是字母则报错;直到键入回车键时退出;并统计出键入的字母数和非字母数

#include<stdio.h>

#include<string.h>

#include<ctype.h>

int main()

{char a,b;

int i=0,j=0;

do

{

a=getchar();

if(a=='\n')break;

b=getchar();

if(isalpha(a)!=0)i++;

else {printf("错误!输入的不是字母!\n");j++;continue;}

if(a>=97)printf("%c的大写字母是%c\n",a,a-32);

else     printf("%c的小写字母是%c\n",a,a+32);

}while(a!='\n');

printf("一共输入了%d个字母和%d个非字母(其中有一个是按回车时的换行符)。\n",i,1+j);

return 0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-12
从键盘上输入一个字符,对字母进行大小写转换,非英文字母照原样输出。
#include<iostream.h>
void main()
{
char a[100],i,b;
for(i=0;i<100;i++)
{cin>>a[i];
if(a[i]=='\0')
break;
if(a[i]<='Z'&&a[i]>='A')
a[i]+=32;
else if(a[i]<='z'&&a[i]>='a')
a[i]-=32;
}
for(i=0;i<100;i++)
cout<<a[i];

}
输入字符串,输出字符串长度,统计数字、大写字母和小写字母个数。输入非字母和数字的字符则结束:
具体过程如下:
1.获取字符串
将字符串存如数组a[]
int k=0;
int m=0;
int n=0;
for(i=0;i<MAXLINE;i++)
str=strlen(a[i]);
for(j=0;j<str;j++)
if(a[i][j]>=0 && a[i][j]<=9)
{ k++;}
else if( a[i][j]>='a' && a[i][j]<='z' )
{ m++;}
else if (a[i][j]>='A' && a[i][j]<='Z')
{ n++; }
else break;
也是搜到的,看有没有帮助。本回答被网友采纳
第2个回答  2012-03-20
2
error!
e
f
E
D
f
&
error!

error!
character is 5,noncharacter is 3
Press any key to continue

#include <stdio.h>
main()
{
int character=0,nonch=0;
char ch;
do
{
fflush(stdin);
ch=getchar();
if (ch>='a'&&ch<='z')
{
ch-=32;
character++;
}else if (ch>='A'&&ch<='Z')
{
ch+=32;
character++;
}else
{
nonch++;
printf("error!\n");
}
} while (ch!='\n');
printf("character is %d,noncharacter is %d\n",character,nonch);
}
相似回答