从键盘输入一个字符,判定是否是小写字母,如果是,则将它转换成大写字母,如果是其他字符则原样输出
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
从键盘输入一个字符,判定它是否是小写字母,如果是,则将它转换成大写字母,如果是其他字符则原样输出。
如何判断一个字符是小写字母?查上一章提供的ASCII码表.在表里,小写字母(a~z)对应的ASCI I值为97~122.那么,判断一个字符是否为小写,就看它的值是否大于等于'a',并且小于等于'z'.
#include<stdio.h>
void main(){
char a;
printf("\n请输入一个字符");
scanf("%c",&a);
if((a>='a'&&a<='z')){
printf("\n您输入的字符是小写字母",a);
}else{
printf("您输入的字符不是小写字母\n",a);
}
}
(2)验证输入的一个字符是否为大写字母
#include <stdio.h>
void main(){
char a;
printf("请输入一个字符\n");
fflush(stdin);
a=getchar();
if('A'<=a && a<='Z'){
printf("用户输入的是大写字线%c\n",a);
}else{
printf("用户输入的不是大写字母%c\n",a);
}
}
(3) 要求判别键盘输入字符的类别.可以根据输入字符的ASCI I码来判别类型.由ASCII码表可
知ASCII码值小于32的为控制字符.在0~9之间的为数字,在A~Z之间的为大写字母,在a~z之间的为
小写字母,其余的则为其他字符.
#include<stdio.h>
void main(){
char c;
printf("\n请输入一个字符:");
c=getchar();
if(c<32)
printf("\n该字符是一个控制字符\n");
else if(c>='0' && c<='9')
printf("\n该字符是一个数字");
else if(c>='A' && c<='Z')
printf("\n该字符是一个大写字母");
else if(c>='a' && c<='z')
printf("\n该字符是一个小写字母\n");
else
printf("\n该字符是一个其它字符\n");
}
2. seizeof(type_na me)
sizeof运算符的用法
#include<stdio.h>
void main(){
printf("\n char 类型的大小是%d字节\n",sizeof(char));
printf("short int 类型的大小是%d 字节\n",sizeof(short int));
printf("unsigne d short int 类型的大小是%d 字节\n",sizeof(unsigne d short int)); printf("int 类型的大小是%d 字节\n",sizeof(int));
printf("unsigne d int 类型的大小是%d字节\n",sizeof(unsigne d int));
printf("long 类型的大小是%d 字节\n",sizeof(long));
printf("unsigne d long 类型的大小是%d 字节\n",sizeof(unsigne d long));
printf("float 类型的大小是%d 字节\n",sizeof(float));
printf("double类型的大小是%d 字节\n",sizeof(double));
}
3.判定给定的年分是否为闰年.
闰年的判定规则为:能被4整除但不能被100整除的年分,或能被400整除的年份.
#include<stdio.h>
void main(){
int year;
printf("\n 请输入年份");
scanf("%d",&year);
if((year%4 ==0 && year % 100 !=0)||(year%400==0)){ printf("\n%d 年是闰年\n",year);
}else{
printf("\n%d 年不是闰年\n",year);
}
}
4. 输入一个5位数,判断是不是回文数. eg:12321是回文数#include<stdio.h>
void main(){
long ge,shi,qian,wan,x;
printf("\n请输入一个五位整数:");
scanf("%ld",&x);
wan=x/10000;
qian=x%10000/1000;
shi=x%100/10;
ge=x%10;
if(ge== wan && shi==qian){
printf("\n%ld 这个数是回文数\n",x);
}else{
printf("\n %ld 这个数不是回文数",x);
}
}
5.要求用户输入一个字符值,并检查它是否为元音字母
#include<stdio.h>
void main(){
char in_char;
printf("\n请输入一个小写字母");
scanf("%c",&in_char);
switch(in_char){
case 'a':
printf("\n您输入的是元音字母:a\n");
break;
case 'e':
printf("\n您输入的是元音字母:e\n");
break;
case 'i':
printf("\n您输入的是元音字母:i\n");
break;
case 'o':
printf("\n您输入的是元音字母:o\n");
break;
case 'u':
printf("\n您输入的是元音字母:u\n");
break;
default:
printf("\n您输入的%c不是是元音字母:",in_char);
}
}
编程实现:从键盘上输入一个字符,如果它是大写字母,则把它转换成小写字母输出;否则,直接输出。
要求:(1)使用条件运算符进行判断;
(2)使用getch ar作为输入函数;
(3)先编写好程序,然后再上机运行。
提示:若判断字符变量c是否是大写字母,可以通过比较c>='A'和c<='Z'是否成立来得出结果。
这个判断根本就是多余的,既然不管大小写最后都是以小写输出,直接转换就行了。
#include <ctype.h>
main()
{
char ch;
ch=getchar();
putchar(tolower(ch));
return0;
}
P.S.判断大小写最好用islow er()和isuppe r()判断,而不要直接用A SCII码,这样兼容性会好一点。
两段程序编译后的运行效果完全是一样的,具体内部怎样有什么关系呢?只要效率高就行了。
Java编程求助计算出大写字母E出现几次,小写字母e 出现几次。
1.要求输入句子运用JOpti onPane.showInp utDial og().
2.程序将扫描整段文章看看计算出大写字母E出现几次,小写字母e 出现几次。
3.重复这一过程直到用户输入“Stop”。
输入方式已经规定了
不需要说明了
主要工作是判断字符的出现次数
定义一个类,比如:CountCh ar,构造方法有两个参数:要处理的输入的字符串和需要判断的字符所组成的字符串
含有以下几个属性:
(1)要处理的输入的字符串(source),构造获得
(2)需要判断的字符所组成的字符串(dest),构造获得(比如“Ee");
(3)一个Map<Charact or,Integer>属性,保存每一个字符出现的次数
定义一个方法:count,计算需要判断的字符所组成的字符串中各个字符出现出现的次数,过程如下:
(1)对所有的sou rce中的字符,
(2)判断是不是在d est中(indexOf方法就可以完成)
(3)如果在,加入到Map<Charact or,Integer>属性中{
如果map中已经有了,就将integ er +1;
如果没有,加入,设置integ er==1;
}
这样一次行就全部计算出了所有需要统计的字符的数量,而且可以是多个
从键盘输入一个字符串,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。
输入的字符串以“!”结束.
我写的程序是
#include <stdio.h>
#include <stdlib.h>
void main ()
{
char str[100];
int i;
FILE*fp;
if((fp=fopen("test.c","w")==NULL) )
{
printf("Can not open the file\n");
exit(0);
}
printf("请输入一组字符串");
scanf("%s",str);
printf("\n");
for(i=0;i!='!';i++)
{
if(str[i]>='a'&&str[i]<='z')
{
str[i]=str[i]-('z'-'a');
fputc(str[i],fp);
getchar(str[i]);
}
fputc(str[i],fp);
getchar(str[i]);
}
fclose(fp);
}
Java求字符串中数字的和
50[ 标签:java字符串, 数字] 匿名2011-10-08 17:49
输入一行字符串(少于80个字符),求其中数字的和。
输入数据包含一行字符串,中间存在多于两个数字。
在一行上输出字符串中数字的和,输出完后,不要回车换行。
输入数据样例:
12a3b@2p
输出数据样例:
1+2+3+2=8
满意答案好评率:100%
package numbers;
importjava.util.ArrayLi st;
importjava.util.List;
importjava.util.Scanner;
publicclass QSum {
private staticList store = new ArrayLi st<Charact er>();
publicstaticvoid main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Pleaseenter the String,the length<= 80");
Stringin = sc.next();
if(in.length()>80){
System.out.println("input error");
return;
}
int sum = 0;
int mak = 0;
int num = 0;
Stringout="";
for(int i=0;i<in.length();i++){
Stringget = in.substri ng(i, i+1);
try{
num=Integer.parseIn t(get);
sum+=num;
out+=num+"+";
mak++;
}catch(NumberF ormatE xcepti on e){
continu e;
}
}
if(mak>1){
System.out.println(out.substri ng(0,out.length()-1)+"="+sum);
}else{
System.out.println("not enoughnumber"); }
Java中大写转小写:
char c='D';
Strings=new String();
c=s.valueOf(c).toLower Case().charAt(0);
System.out.println("c="+c);
java用St ring类的toUppe rCase()和toLowe rCase()方法转字符串的大小写
就像是ABCd ef换成ab cDEF
让大写的换小写,小写的换大写
求具体的代码
如果是对这个特定的字串,那么好办。
先
Stringstr="ABCdef";
Stringstr1=str.subStri ng(3);
Stringstr2=str.subStri ng(3,6);
str=str1.toLower Case()+str2.toUpper Case();
如果是任意的字符串,那么需要转成字符数组,用string.tochara rray()。
然后根据asc II的值进行比较。
然后根据规则转换!。