C语言小练习5

目录

一、成绩转化

二、产品信息格式化

三、输入一个字符,判断该字符是否为小写英文字母,如果是输出其小写英文字母循环排序后的第6个小写字母。

四、用switch语句实现输入一个百分制的成绩转换

五、给一个不多余5位的正整数,要求如下:①求出它是几位数②分别输出每一位数字③按逆序输出各位数字。

六、用switch语句编写一个简单的实数四则运算程序

七、总结


一、成绩转化

为啥要写这个呢?关于我实验卡这个的问题,给自己一个提醒,else后面没有括号。

代码如下:

#include<stdio.h>
	int main(void)
	{  
	  /*********Begin*********/
	  float x;
	  scanf("%f",&x);
	  if((x>=90.0)&&(x<=100.0)){
		  printf("A");
	  }
	  else if((x>=80.0)&&(x<=89.0)){
		  printf("B");
	  }
	  else if((x>=70.0)&&(x<=79.0)){
		  printf("C");
	  }
	  else if((x>=60.0)&&(x<=69.0)){
		  printf("D");
	  }
	  else if((x<=60.0)&&(x>=0.0)){
		  printf("E");
	  }
	 else
	{
		printf("Score is error!");
	}

	  /*********End**********/ 
       return 0;
}

二、产品信息格式化

这个题其实学习到了输出方式,其实老师讲过,但是只有自己实践过了,才会真的会用。所以小小记录一下吧!

代码如下:

#include<stdio.h>
	int main(void)
	{  
	  /*********Begin*********/
	  int n;
	float p;
	int m,d,y;
	scanf("%d",&n);
	scanf("%f",&p);
	scanf("%d/%d/%d",&m,&d,&y);
	printf("Enter item number:\n");
	printf("Enter unit price:\n");
	printf("Enter purchase date (mm/dd/yy):\n");
	printf("Item Unit Purchase\n");
	printf("%-9d$ %-9.2f%02d%02d%02d\n",n,p,m,d,y);






	  
	  /*********End**********/ 
       return 0;
	}

三、输入一个字符,判断该字符是否为小写英文字母,如果是输出其小写英文字母循环排序后的第6个小写字母。

这个有俩方法,怕我记不了,在这浅记录一下吧。

所谓循环排序,是指a,b,c,……,x,y,z排成一个圆圈,即z后面是a

方法一:
如果是小写英文字母,将 26 个英文字母分成两部分,前面的字母变换ch+t,最后t个字母变换ch+t-26

方法二:
如果是小写英文字母,统一用公式 (ch-'a'+6)%26+'a'处理。

代码就不展示了。相信算法是程序的灵魂,有了方法,代码很容易哒!

四、用switch语句实现输入一个百分制的成绩转换

主要想试一下switch语句,关键用的少,只是我用的少,老师讲之前我都没听过这个,我鄙薄的见识,哈哈哈哈。

代码如下:

#include <stdio.h>
int main()
{	
	int score; 
	scanf("%d",&score);
	/********** Begin **********/
	switch(score/10)
	{
		case 9:printf("A\n");break;
		case 8:switch(score%10){
			case 9: ;
			case 8: ;
			case 7: ;
			case 6: ;
			case 5:printf("A");break;
			default:printf("B");
		}break;
		case 7:printf("C\n");break;
		case 6:printf("D\n");break;
		default:printf("E\n");
	}
	/********** End **********/
	return 0;
}

五、给一个不多余5位的正整数,要求如下:①求出它是几位数②分别输出每一位数字③按逆序输出各位数字。

这个题比较有意思,其实就是先判断位数,再逆序输出每一位,我感觉涉及到了两个东西,所以写了一下。

代码如下:

#include <stdio.h>
#include <math.h>
int main()
{
	int num,y,x1,x2,x3,x4,x5,place;
	scanf("%d",&num);
	place=log10((double)num)+1;//
	/********** Begin **********/
	y=num;
	x1=y%10;
	y=y/10;
	x2=y%10;
	y=y/10;
	x3=y%10;
	y=y/10;
	x4=y%10;
	y=y/10;
	x5=y%10;
	printf("%d为%d位数\n",num,place);
	switch(place){
	case 1:printf("顺序输出为:%d\n",x1);printf("逆序输出为:%d\n",x1);break;
	case 2:printf("顺序输出为:%d,%d\n",x2,x1);printf("逆序输出为:%d,%d\n",x1,x2);break;
	case 3:printf("顺序输出为:%d,%d,%d\n",x3,x2,x1);printf("逆序输出为:%d,%d,%d\n",x1,x2,x3);break;
	case 4:printf("顺序输出为:%d,%d,%d,%d\n",x4,x3,x2,x1);printf("逆序输出为:%d,%d,%d,%d\n",x1,x2,x3,x4);break;
	case 5:printf("顺序输出为:%d,%d,%d,%d,%d\n",x5,x4,x3,x2,x1);printf("逆序输出为:%d,%d,%d,%d,%d\n",x1,x2,x3,x4,x5);break;}

	/********** End **********/
	return 0;
}

六、用switch语句编写一个简单的实数四则运算程序

这个题算是彻底让我长记性了,永远分不清单引号和双引号的我,终于会用了。还有就是除法运算要考虑分母不为0.

代码不写了,我承认,不小心删除了之前的代码。

七、总结

这次主要练的选择结构,感觉有点收获。希望下次进步吧,好了,开始享受我愉快的周末啦!要不然,大学和高中又有什么区别呢!

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值