试验任务一
#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 = 'C'; break;case 6: ans = 'D'; break;default: ans = 'E';}return ans; }

1.score_to_grade作用是作为一个判断函数来判断成绩等级
整形 字符型
2.会使输出结果不止一个字符,不符合实际
实验任务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; }

1.把各个位置上的数求出来并相加
2.可以,原来是循环,后来是递归
试验任务3
#include <stdio.h>int power(int x, int n); // 函数声明int main() {int x, n;int ans;while(printf("Enter x and n: "), scanf("%d%d", &x, &n) != EOF) {ans = power(x, n); // 函数调用printf("n = %d, ans = %d\n\n", n, ans);}return 0; }// 函数定义 int power(int x, int n) {int t;if(n == 0)return 1;else if(n % 2)return x * power(x, n-1);else {t = power(x, n/2);return t*t;} }

1.起递归作用来求X的n次方幂
2.是,
实验任务4
#include<stdio.h> int is_prime(int n ); int main(){int count=0;printf("100以内的孪生素数:\n");for(int n=2;n+2<=100;n++){if(is_prime(n)&&is_prime(n+2)){printf("%d %d\n",n,n+2);count++;}}printf("100以内的孪生素数有%d个\n",count);return 0;} int is_prime(int n){if (n<=1){return 0;}for(int i=2;i*i<=n;i++){if(n%i==0){return 0;}}return 1; }

实验任务五
迭代
#include <stdio.h> int func(int n, int m); // 函数声明int main() {int n, m;int ans;while (scanf("%d%d", &n, &m) != EOF) {ans = func(n, m); // 函数调用printf("n = %d, m = %d, ans = %d\n\n", n, m, ans);}return 0; } int func(int n,int m) {if (m<0 || m>n)return 0;if (m == 0 || m == n)return 1;int result = 1;for (int i = 1; i <= m; i++) {result = result * (n - m+ i) / i;}return result;}// 函数定义 // 待补足。。。(分别用迭代和递归实现)

#include <stdio.h> int func(int n, int m); // 函数声明int main() {int n, m;int ans;while (scanf("%d%d", &n, &m) != EOF) {ans = func(n, m); // 函数调用printf("n = %d, m = %d, ans = %d\n\n", n, m, ans);}return 0; } int func(int n,int m) {if (m<0 || m>n)return 0;if (m == 0 || m == n)return 1;return(func(n-1,m)+func(n-1,m-1));}// 函数定义 // 待补足。。。(分别用迭代和递归实现)

实验任务六
#include <stdio.h>// 函数声明 // 待补足.... int gcd(int a,int b, int c){int min;if(a>b){min=b;}else{min=a;}if(c<min){min=c;}for(int ans=min;ans>=1;ans--){if((a%ans==0)&&(b%ans==0)&&(c%ans==0))return ans;} } int main() {int a, b, c;int ans;while(scanf("%d%d%d", &a, &b, &c) != EOF) {ans = gcd(a, b, c); // 函数调用printf("最大公约数: %d\n\n", ans);}return 0; }// 函数定义 // 待补足...

试验任务七
#include <stdio.h> #include <stdlib.h>// 函数声明 // 待补足 // xxx int print_charman(int n); int main() {int n;printf("Enter n: ");scanf("%d", &n);print_charman(n); // 函数调用return 0; } int print_charman(int n){for(int i=0;i<n;i++){int count =2*(n - i)-1 ;int space=i*3;for(int s=0;s<space;s++){printf(" ");} for(int j=0;j<count;j++) {printf(" 0 ");}printf("\n");for(int s=0;s<space;s++){printf(" ");}for(int j=0;j<count;j++) {printf(" <H> ");}printf("\n");for(int s=0;s<space;s++){printf(" ");}for(int j=0;j<count;j++) {printf(" I I ");}printf("\n");} }// 函数print_charman定义 // 待补足 // xxx

