收藏 分销(赏)

从键盘输入一个字符-判定是否是小写字母-如果是-则将它转换成大写字母-如果是其他字符则原样输出.doc

上传人:pc****0 文档编号:8384249 上传时间:2025-02-11 格式:DOC 页数:11 大小:40KB
下载 相关 举报
从键盘输入一个字符-判定是否是小写字母-如果是-则将它转换成大写字母-如果是其他字符则原样输出.doc_第1页
第1页 / 共11页
从键盘输入一个字符-判定是否是小写字母-如果是-则将它转换成大写字母-如果是其他字符则原样输出.doc_第2页
第2页 / 共11页
点击查看更多>>
资源描述
从键盘输入一个字符,判定它是否是小写字母,如果是,则将它转换成大写字母,如果是其他字符则原样输出。 如何判断一个字符是小写字母?查上一章提供的ASCII码表.在表里,小写字母(a~z)对应的ASCII值为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) 要求判别键盘输入字符的类别.可以根据输入字符的ASCII码来判别类型.由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_name) sizeof 运算符的用法 #include<stdio.h> void main(){ printf("\n char 类型的大小是%d字节\n",sizeof(char)); printf("short int 类型的大小是%d 字节\n",sizeof(short int)); printf("unsigned short int 类型的大小是%d 字节\n",sizeof(unsigned short int)); printf("int 类型的大小是%d 字节\n",sizeof(int)); printf("unsigned int 类型的大小是%d字节\n",sizeof(unsigned int)); printf("long 类型的大小是%d 字节\n",sizeof(long)); printf("unsigned long 类型的大小是%d 字节\n",sizeof(unsigned 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)使用getchar作为输入函数; (3)先编写好程序,然后再上机运行。 提示:若判断字符变量c是否是大写字母,可以通过比较c>='A'和c<='Z'是否成立来得出结果。 这个判断根本就是多余的,既然不管大小写最后都是以小写输出,直接转换就行了。 #include <ctype.h> main() { char ch; ch=getchar(); putchar(tolower(ch)); return 0; } P.S.判断大小写最好用islower()和isupper()判断,而不要直接用ASCII码,这样兼容性会好一点。 两段程序编译后的运行效果完全是一样的,具体内部怎样有什么关系呢?只要效率高就行了。 Java编程求助 计算出大写字母E出现几次,小写字母e 出现几次。 1.要求输入句子运用JOptionPane.showInputDialog(). 2.程序将扫描整段文章看看计算出大写字母E出现几次,小写字母e 出现几次。 3.重复这一过程直到用户输入“Stop”。 输入方式已经规定了 不需要说明了 主要工作是判断字符的出现次数 定义一个类,比如:CountChar,构造方法有两个参数:要处理的输入的字符串和需要判断的字符所组成的字符串 含有以下几个属性: (1)要处理的输入的字符串(source),构造获得 (2)需要判断的字符所组成的字符串(dest),构造获得(比如“Ee"); (3)一个Map<Charactor,Integer>属性,保存每一个字符出现的次数 定义一个方法:count,计算需要判断的字符所组成的字符串中各个字符出现出现的次数,过程如下: (1)对所有的source中的字符, (2)判断是不是在dest中(indexOf方法就可以完成) (3)如果在,加入到Map<Charactor,Integer>属性中{ 如果map中已经有了,就将integer +1; 如果没有,加入,设置integer==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; import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class QSum { private static List store = new ArrayList<Character>(); public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Please enter the String,the length <= 80"); String in = sc.next(); if(in.length()>80){ System.out.println("input error"); return; } int sum = 0; int mak = 0; int num = 0; String out=""; for(int i=0;i<in.length();i++){ String get = in.substring(i, i+1); try{ num=Integer.parseInt(get); sum+=num; out+=num+"+"; mak++; }catch(NumberFormatException e){ continue; } } if(mak>1){ System.out.println(out.substring(0,out.length()-1)+"="+sum); }else{ System.out.println("not enough number"); } Java中大写转小写: char c='D'; String s=new String(); c=s.valueOf(c).toLowerCase().charAt(0); System.out.println("c="+c); java用String类的toUpperCase()和toLowerCase()方法转字符串的大小写 就像是ABCdef换成abcDEF 让大写的换小写,小写的换大写 求具体的代码 如果是对这个特定的字串,那么好办。 先 String str="ABCdef"; String str1=str.subString(3); String str2=str.subString(3,6); str=str1.toLowerCase()+str2.toUpperCase(); 如果是任意的字符串,那么需要转成字符数组,用string.tochararray()。然后根据ascII的值进行比较。 然后根据规则转换!
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服