练习——课本第四章的三道习题

1.编程,有一个数学函数,当-5<x<0时y=5x,当x=0时y=-1,当0<x<10时y=2x+1。编写一个程序,当输入x值时,计算并输出相应的y值。

#include <stdio.h>

main()

{
	int x=0,y=0;

	printf ("输入X\n");

	scanf_s("%d",&x);

	if (x>-5 && x<0) y=5*x;
	else if (x==0) y=-1;
	else if (x>0 && x<10) y=2*x+1;

	printf("%d\n",y);
	
}

问题

这个程序是成功了,不过我想当输入的x值小于等于-5或大于等于10时输出“error”此字符,所以我经过查询写了以下程序

#include <stdio.h>

main()

{
	int x=0,y=0;

    char z[]="error";

	printf ("输入X\n");

	scanf_s("%d",&x);

	if (x>-5 && x<0) y=5*x;
	else if (x==0) y=-1;
	else if (x>0 && x<10) y=2*x+1;
	else if (x<=-5 && x>=10) z;

	    printf("%d\n",y);
		printf("%s\n",z);
}

此时我输入x,它生成的会同时有y和z两个数据,而我想要的效果是只输出满足条件的数据,比如我输入5,我希望它输出的就是11,而不是11(换行)error,我感觉这是一个很简单的问题,但我尝试了很多次都未成功。

2.编程,输入一个百分制的成绩score后,按如下规则输出它的等级:90~100为A,80~89为B,70~79为C,60~69为D,59~0为E。

#include <stdio.h>
 
main()

{
	int score;

	char grade;

	printf("输入分数\n");

	scanf_s("%d",&score);

	if(score>=90) grade='A';
	else if(score>=80 && score<90) grade='B';
	else if(score>=70 && score<80) grade='C';
	else if(score>=60 && score<70) grade='D';
	else if(score<=59) grade='E';


  printf("%c",grade);
}

3.编程,从键盘上输入某个月的编号(1~12),显示该月编号所对应月份的英文名。

#include <stdio.h>
main()
{
	int a;
	printf("请输入数字:\n");
	scanf("%d",&a);
	switch(a)
	{
	case 1:printf("Jan\n");  break;
	case 2:printf("Feb\n");  break;
	case 3:printf("Mar\n");  break;
	case 4:printf("Apr\n");  break;
	case 5:printf("May\n");  break;
	case 6:printf("Jun\n");  break;
	case 7:printf("Jul\n");  break;
	case 8:printf("Aug\n");  break;
	case 9:printf("Sep\n");  break;
	case 10:printf("Oct\n");  break;
	case 11:printf("Nov\n");  break;
	case 12:printf("Dec\n");  break;
	default:printf("error\n");  break;
	}
}

总结

除了那个暂时还没被解决的问题,书本后面的习题都挺简单的,后面等学的东西多一些了会在一些平台和网站上搜寻一些题目来练习,还有就是编程和写博客速度过慢,还是得增加训练量。加油,努力。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

可以

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值