实验任务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