C语言学习第4天

文章包含多个C语言编程练习,涉及if、elseif和switchcase语句的使用。第一个练习是根据用户输入判断乐观或悲观态度并询问影响因素。第二个练习是转换小写字母。第三部分是消费折扣计算,分别用elseif和switchcase实现不同消费额的折扣策略。最后,根据输入分数用if和switchcase进行等级划分。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.if语句的练习:

#include <stdio.h>
int main()
{
//逻辑运算符的练习
int pessimisticYorN_data;
int  factor_data;

printf("2023年一切都会好起来的对吗?悲观输入0,乐观输入1。\n");
scanf("%d",&pessimisticYorN_data);
   
   if(pessimisticYorN_data==1){
   
   printf("你认为这取决于什么呢?外贸1、科技2还是其他3。\n");
      scanf("%d",&factor_data);
      
      if(factor_data==1||factor_data==2){
	  printf ("我也那么认为\n");
	  }
      if(factor_data==3){
	  printf("或许吧!");
	  }
   
   }
    

   if(pessimisticYorN_data!=1){
   
   printf("放心吧,稳中向好。");
   
   
   
   }

2.else if 语句的练习:




#include <stdio.h>
int main(){
	
	char letter;
	
	puts("这是一个小写字母输出程序,请输入一个字母");//puts双引号格式可以直接输出汉字
	scanf("%c",&letter);
	if(letter>=97&&letter<=122){       //
		printf("%c",letter);
		
		
	}
	else if(64<letter&&letter<91){
		
		printf("%c",letter+32);
		
		
		
	}
		
	
	
	else
	{
		
		puts("输入有误");
		
		
	}
	
	
	
	
	
	
	
	
	
	return 0;
}

3.课堂作业,分别使用else if和switch case语句编写程序。

要求:
消费金额<500 无折扣;
消费500-1000 折扣2%;
消费1000-2000 折扣5%;
消费2000-3000 折扣8%;
消费>3000 折扣15%;

(1)使用else if语句编写程序:

#include <stdio.h>
//使用else if语句计算商品实付金额。
int main(){
	float spend;
	puts("请输入您的商品总金额\n");
	scanf("%f",&spend);
	if(spend<250){
	
		printf("无折扣,此次购物支付的金额为:%f\n",spend);
		
		
	}
	else if (250<=spend&&500>=spend){
		
		//spend=(float)spend*0.98;
		printf("98折,此次购物支付的金额为:%f\n",spend*0.98);
		
	}
	else if(500<spend&&1000>=spend){
		printf("此次购物支付的金额为:%f\n",spend*0.95);
		
			}
	
	else if(1000<spend&&2000>=spend){
		printf("此次购物支付的金额为:%f\n",spend*0.92);
		
			}
	else if(2000<spend&&3000>=spend){
		printf("此次购物支付的金额为:%f\n",spend*0.9);
		
			}
	else {
		printf("此次购物支付的金额为:%f\n",spend*0.85);
		
			}
	return 0;
}

(2)使用switch case语句编写程序:

#include <stdio.h>
int main(){
	float discount;
	int count;
	
	printf("请输入商品总金额\n");
	scanf("%f",&discount);
	
	
	//在使用switch case语句之前把各区间转化为对应为数字。
	if(discount <250){
		count=0;
	}
	else if(discount>=250&&500>discount){
		count=1;
	}
	else if(500<=discount&&discount<1000){
		count=2;
		
	}	
	else if (1000<=discount&&discount<2000){
		count=3;
	}
	else if(2000<=discount&&discount<3000){
		count=4;
	}
	
	else{
	    count=5;
	}
	
	
	
	switch(count){
	case 0:
    printf("未满足折扣活动,本次购物需要支付:%f",discount);
	break;
	case 1:
	printf("享受98折优惠,本次购物需要支付:%f",discount*0.98);    //%f中显示的值是逗号','后的总计算值。
	break;
	case 2:
	printf("享受95折优惠,本次购物需要支付:%f",discount*0.95);
	break;
	case 3:
	printf("享受92折优惠,本次购物需要支付:%f",discount*0.92);
	break;
	case 4:
	printf("享受9.0折优惠,本次购物需要支付:%f",discount*0.9);
	break;
	default://default 之后别忘了‘:’符号。
	printf("享受85折优惠,本次购物需要支付:%f",discount*0.85);
	
	}
	return 0;
}

以上switch case 练习中,又用到了else if语句,写的多此一举,可以简练到不需要else if语句。

4.对不同的分数区间进行评级划分

#include <stdio.h>
int main(){
	//60分以下为E,60-69为D,70-79为C,80-89为B,90分以上为A。
	//分别使用else if 和switch case进行编写。
	float grades;
	printf("请输入您的分数\n");
	scanf("%f",&grades);
	/*
	if(grades>=90&&100>=grades){
		printf("您的评分为A");
	}
	else if(grades<90&&80<=grades){
		puts("您的评分为B");
	}
	else if(grades<80&&70<=grades){
		puts("您的评分为C");
	}
	else if(grades<70&&60<=grades){
		puts("您的评分为D");
	}
	else if(0<=grades&&60>grades){
		puts("您的评分为E");
	}
	else{puts("输入的分数不合理");}
	*/
	int integerdata=grades/10;
	switch(integerdata)
	{
	case 0:
	case 1:
	case 2:
	case 3:
	case 4:
	case 5:
	puts("评分为E,需要端正学习态度!!!");
	break;
	case 6:
	puts("评分为D,在危机边缘徘徊!!!");
	break;
	case 7:
	puts("评分为C,还须努力些!");
	break;
	case 8:
	puts("评分为B,继续加油!");
	break;
	case 9:
	printf("评分为A,辛苦了,但请不要骄傲。");
	break;
	
	}
	
	
	return 0;
}

1.容易犯错的点:
1,忘记break;
2,case后面加: 。
3,有报错, switch quantity not an integer switch(grades/10)switch(): 括号内要求为整数变量,解决方法,定义一个整数变量填入。
4,报错:error: stray ‘\243’ in program,可能符号不是英文模式输入。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值