C语言判断成绩

一个非计科专业的朋友来请教我作业怎么写,除去其他的,题目如下:

1. Write an if else statement that follows the pseudocode:
编写if else语句实现以下伪代码:

prompt the user to enter a mark (0-100) ask for the mark if the user enters 80-100 print Excellent else if the user enters 65-79 print Very Good else if the user enters 50-64 print Average else if the user enters 40-49 print Poor else print Fail the user can repeat the above steps until a -1 is entered Finally print out the total and average marks entered
提示用户输入一个标记(0-100)如果用户输入80-100请输入标记打印优秀否则如果用户输入65-79打印非常好否则如果用户输入50-64打印平均值否则如果用户输入40-49打印差否则打印失败用户可以重复上述步骤直到输入-1最后打印出总的和平均的标记进入

Sample output:

Enter a grade(0-100)[-1 to end]
10
Fail
Enter a grade(0-100)[-1 to end]
60
Average
Enter a grade(0-100)[-1 to end]
89
Excellent
Enter a grade(0-100)[-1 to end]
-2
Marks out of range
Enter a grade(0-100)[-1 to end]
200
Marks out of range
Enter a grade(0-100)[-1 to end]
38
Fail
Enter a grade(0-100)[-1 to end]
-1
You have entered 4 marks
The total marks is 197, and the average is 49.25

[50 marks]

2. Write a switch statement that follows this pseudocode: prompt the user to enter a grade (A to E) ask for the grade if the user enters A print Excellent else if the user enters B print Very Good else if the user enters C print Average else if the user enters D print Poor else print Fail
编写switch语句实现以下伪代码:提示用户输入一个等级(A到E)如果用户输入了A,打印优秀,如果用户输入了B,打印非常好,如果用户输入了C,打印一般,如果用户输入了D,打印差,输入其他打印失败。

[50 marks]

题目不难,代码欢迎指正:
task1:

#include <stdio.h>
int main()
{
	int mark,sum=0,n=0;float average=0;
	while(1)
	{
		printf("Enter a grade(0-100)[-1 to end]\n");
		scanf("%d",&mark);
		if(mark > 100||mark<-1)
		{
			printf("Marks out of range\n");
		}else if(mark==-1)
		{
			if(n)
				average = sum/n;
			printf("You have entered %d marks\n",n);
			printf("The total marks is %d,and the average is %.2f\n",sum,average);
			break;
		}else if(mark>79&&mark<101)
		{
			sum+=mark;
			n++;
			printf("Excellent\n");
		}else if(mark>64&&mark<80)
		{
			sum+=mark;
			n++;
			printf("Very Good\n");
		}else if(mark>49&&mark<65)
		{
			sum+=mark;
			n++;
			printf("Average\n");
		}else if(mark>39&&mark<50)
		{
			sum+=mark;
			n++;
			printf("Poor\n");
		}else {
			sum+=mark;
			n++;
			printf("fail\n");
		}
	}
}

task2:

#include <stdio.h>
int main()
{
	printf("please enter your grade\n");
	char grade;
	scanf("%c",&grade);
	switch(grade){
		case 'A':printf("Exellent\n");
				 break;
		case 'B':printf("Very Good\n");
				 break;
		case 'C':printf("Average\n");
				 break;
		case 'D':printf("Poor\n");
				 break;
		default: printf("fail\n");
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值