C语言小练习5

C语言小练习5,第1张

目录

一、成绩转化

二、产品信息格式化

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

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

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

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

七、总结


一、成绩转化

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

代码如下:

#include
	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
	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 
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 
#include 
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.

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

七、总结

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/736503.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-28
下一篇 2022-04-28

发表评论

登录后才能评论

评论列表(0条)

保存