实验3

实验任务1

  • 代码块
点击查看代码
#include <stdio.h>
char score_to_grade(int score);

int main(){
	int score;
	char grade;
	while(scanf("%d",&score)!=EOF){
		grade = score_to_grade(score);
		printf("分数: %d,等级: %c\n\n",score,grade);
	}
	return 0;
}

char score_to_grade(int score){
	char ans;
	switch(score/10){
		case 10:
		case 9: ans='A';break;
		case 8: ans='B';break;
		case 7: ans='D';break;
		default:ans='E';
	}
		return ans;
}
  • 运行截图

exe1

  • 问题回答
    问题一:函数功能为根据输入分数来判断等级。
    形参类型为int,返回值类型为字符型char
    问题二:switch执行判断符合要求的case后,会穿透继续执行后面的case语句

实验任务2

  • 代码块
点击查看代码
#include <stdio.h>
int sum_digits(int n);
int main(){
	int n;
	int ans;
	while(printf("Enter n: "),scanf("%d",&n)!=EOF){
		ans=sum_digits(n);
		printf("n = %d,ans = %d\n\n",n,ans);
	}
	return 0;
}

int sum_digits(int n){
	int ans = 0;
	while(n!=0){
		ans+=n%10;
		n/=10;
	}
	return ans;
}
  • 运行截图

exe2

  • 问题回答
    问题一:函数功能为计算输入数的各位数字之和
    问题二:可以实现。第一种用循环结构,第二种用直接递归

实验任务3

posted @ 2026-11-13 15:15  Catorange  阅读(3)  评论(0)    收藏  举报