C:2.12-2.13 printf、getchar练习题

  1. ex1.c:使键盘输入一个大写字母,输出小写字母(用到ASCII码)
    #include <stdio.h>
    /*
      例1:使键盘输入一个大写字母,输出小写字母(用到ASCII码)
    */
    
    int main()
    
    {
    	char a='a';
    	char b='b';
    	char A='A';
    	char B='B';
    	
    	printf("%c,%c,%c,%c\n",a,b,A,B);  //输出字符
    	printf("a=%d,b=%d,A=%d,B=%d\n",a,b,A,B);  //输出ASCII码
    	
    	printf("请输入一个大写字母\n"); //可以用puts
    	scanf("%c",&a);
    	b=a+32;
    	//以下三种方式均可
    	printf("你输入字母对应的小写字母为:%c\n",b);
    	printf("你输入字母对应的小写字母为:%c\n",a+32);
    	//1.这里不能用puts,因为puts不能进行赋值输出
    	//2.大小写字母ASCII码差32
    	//3.printf("%c+32\n",a);为错,输出结果为大写字母+32
    	
    	printf("测试该输入方法是否可以\n");
    	getchar(); //吸收18行scanf的回车符,因为多次使用scanf时使用到回车符
    	putchar(getchar()+32);
    	
    	return 0;
    }
    D:\C语言\code\第二章>gcc ex1.c
    
    D:\C语言\code\第二章>a.exe
    a,b,A,B
    a=97,b=98,A=65,B=66
    请输入一个大写字母
    G
    你输入字母对应的小写字母为:g
    你输入字母对应的小写字母为:g
    测试该输入方法是否可以
    T
    t
    D:\C语言\code\第二章>

  2. ex2.c:输入两个数,获得两个数加减乘除值
    #include <stdio.h>
    
    int main()
    {
    	float data1;
    	float data2; //若存在一项或两项均为int型
    	
    	printf("任意输入两个数\n");
    	scanf("%f%f",&data1,&data2);  //当为float型但输入为整数时,输出结果不会错误
    	printf("这两个数相加为%f\n",data1+data2);
    	printf("这两个数相减为%f\n",data1-data2);
    	printf("这两个数相乘为%f\n",data1*data2);
    	printf("这两个数相除为%f\n",data1/data2);
    	//除法需要强制转换:printf("这两个数相除为%f\n",(float)data1/data2);  
    	//对于小数点后位数要求表达方式为%.nf
    	
    /*
    	当输入第一个数后需要按回车才可以输入第二个数的情况
    	printf("请输入第一个数并按回车\n");
    	scanf("%f",&data1);
    	printf("请输入第二个数并按回车\n");
    	scanf("%f",&data2);
    	printf("这两个数相加为%f\n",data1+data2);
    */
    	
    	return 0;
    }	
    D:\C语言\code\第二章>gcc ex2.c
    
    D:\C语言\code\第二章>a.exe
    任意输入两个数
    3
    4.2
    这两个数相加为7.200000
    这两个数相减为-1.200000
    这两个数相乘为12.599999
    这两个数相除为0.714286
    
    D:\C语言\code\第二章>a.exe
    任意输入两个数
    6
    10
    这两个数相加为16.000000
    这两个数相减为-4.000000
    这两个数相乘为60.000000
    这两个数相除为0.600000
    
    D:\C语言\code\第二章>

  3. ex3.c:用程序将“China”译成密码,密码规律为:用原来字母的后面第4个字母代替原来字母。例:“A”后面第四个为“E”,用"E"代替"A"。因此,"China"译为"Glmre"。请编一程序,用赋初始值的方法使c1,c2,c3,c4,c5这5个变量的值分别为'C','h','i','n','a',经过运算,使c1,c2,c3,c4,c5分别变为'G','l','m','r','e'。分别用putchar函数和printf函数输出这5个字符。
    #include <stdio.h>
    /*
      ASCII码输出方式:printf("c1=%d,c2=%d,c3=%d,c4=%d,c5=%d\n",c1,c2,c3,c4,c5);
    */
    int main()
    {
    	char c1='C';
    	char c2='h';
    	char c3='i';
    	char c4='n';
    	char c5='a'; 
    	
    	//printf函数	
    	printf("请输入所要加密的内容\n");
    	scanf("%c%c%c%c%c",&c1,&c2,&c3,&c4,&c5);
    	printf("用printf加密后的密码为:%c%c%c%c%c\n",c1+4,c2+4,c3+4,c4+4,c5+4);
    	
    	//putchar函数
    	printf("测试putchar函数方法\n");	
    	getchar();	
    	putchar(getchar()+4);  //putchar只能是单个字符输出,因此这里要一个字符对应一个putchar
    	putchar(getchar()+4);
    	putchar(getchar()+4);
    	putchar(getchar()+4);
    	putchar(getchar()+4);
    		
    	return 0;
    }
    D:\C语言\code\第二章>gcc ex3.c
    
    D:\C语言\code\第二章>a.exe
    请输入所要加密的内容
    China
    用printf加密后的密码为:Glmre
    测试putchar函数方法
    China
    Glmre
    D:\C语言\code\第二章>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值