首页 > 其他分享 >实验3

实验3

时间:2024-10-28 14:09:19浏览次数:3  
标签:10 return int ans char 实验 printf

任务1

 1 # include<stdio.h>
 2 
 3 char score_to_grade(int score);
 4 
 5 int main(){
 6     int score;
 7     char grade;
 8     
 9     while(scanf("%d",&score)!=EOF){
10         grade=score_to_grade(score);
11         printf("分数:%d,等级:%c\n\n",score,grade);
12     }
13     
14     return 0;
15 }
16 
17 char score_to_grade(int score){
18     char ans;
19     
20     switch(score/10){
21     case 10:
22     case 9:  ans='A';break;
23     case 8:  ans='B';break;
24     case 7:  ans='C';break;
25     case 6:  ans='D';break;
26     default: ans='E';
27     }
28     return ans;
29 }

问题1

根据输入的分数输出等级 整型 字符型

问题2

有,无论输入的成绩是多少都输出同一等级E

任务2

 1 #include<stdio.h>
 2 
 3 int sum_digits(int n);
 4 
 5 int main(){
 6     int n;
 7     int ans;
 8     
 9     while(printf("Enter n:"),scanf("%d",&n)!=EOF){
10         ans=sum_digits(n);
11         printf("n=%d,ans=%d\n\n",n,ans);
12     }
13     
14     return 0;
15 }
16 
17 
18 int sum_digits(int n){
19     int ans=0;
20     while(n!=0){
21         ans+=n%10;
22         n/=10;
23     }
24     return ans;
25 }

问题1

计算输入值各个位数上的数的和

问题2

能 原代码是循环思维,改后的代码是递归思维

任务3

 1 #include<stdio.h>
 2 
 3 int power(int x,int n);
 4 
 5 int main(){
 6     int x,n;
 7     int ans;
 8     
 9     while(printf("Entet x and n:"),scanf("%d%d",&x,&n)!=EOF){
10         ans=power(x,n);
11         printf("n=%d,ans=%d\n\n",n,ans);
12     }
13     return 0;
14 }
15 
16 
17 
18 int power(int x,int n){
19     int t;
20     
21     if(n==0)
22     return 1;
23     else if(n%2)
24     return x*power(x,n-1);
25     else{
26         t=power(x,n/2);
27         return t*t;
28     }
29 }

问题1

计算输入值x的n次方

问题2

任务4

 1 #include <stdio.h>
 2 int is_prime(int a){
 3     int i;
 4     for(i=2;i<=a/2;i++)
 5     {
 6         if(a%i==0)
 7             break;
 8     }
 9     if(i<=a/2)
10         return 0;
11     else
12         return 1;
13         
14 }
15 int main(){
16     int a,count=0;
17     printf("100以内的孪生素数:\n"); 
18     for(a=2;a<=100;a++){
19         if(is_prime(a)&&is_prime(a+2)){
20             count++;
21             printf("%d %d\n",a,a+2);
22             
23         }
24         
25     }
26     printf("100以内的孪生素数有%d个",count);
27     return 0;
28 }

任务5

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 void hanoi(unsigned int n,char from,char temp,char to);
 4 void moveplate(unsigned int n,char from,char to);
 5 int a=0;
 6 int main()
 7 {
 8     unsigned int n;
 9     while(scanf("%u",&n)!=EOF){
10         hanoi(n,'A','B','C');
11         printf("一共移动了%d次\n",a);
12         a=0;
13     }
14     return 0;
15 }
16 void hanoi(unsigned int n,char from,char temp,char to)
17 {
18     if(n==1)
19     moveplate(n,from,to);
20     else
21     {
22         hanoi(n-1,from,to,temp);
23         moveplate(n,from,to);
24         hanoi(n-1,temp,from,to);
25     }
26 }
27 void moveplate(unsigned int n,char from,char to)
28 {
29     printf("%u:%c-->%c\n",n,from,to);
30     ++a;
31 }

任务6

1

 1 #include <stdio.h>
 2 int func(int n, int m);   // 函数声明
 3 
 4 int main() {
 5     int n, m;
 6     int ans;
 7 
 8     while(scanf("%d%d", &n, &m) != EOF) {
 9         ans = func(n, m);   // 函数调用
10         printf("n = %d, m = %d, ans = %d\n\n", n, m, ans);
11     }
12         
13     return 0;
14 }
15 
16 int func(int n,int m){
17     int ans=0,a=1,b=1,c=1;
18     int i;
19     for(i=1;i<=n;++i)
20     a=a*i;
21     for(i=1;i<=m;++i)
22     b=b*i;
23     for(i=1;i<=(n-m);++i)
24     c=c*i;
25     ans=a/(b*c);
26 }

2

 1 #include <stdio.h>
 2 int func(int n, int m);   // 函数声明
 3 
 4 int main() {
 5     int n, m;
 6     int ans;
 7 
 8     while(scanf("%d%d", &n, &m) != EOF) {
 9         ans = func(n, m);   // 函数调用
10         printf("n = %d, m = %d, ans = %d\n\n", n, m, ans);
11     }
12         
13     return 0;
14 }
15 
16 int func(int n,int m){
17     int ans=0;
18     if(m==0)
19     return 1;
20     else if(n==0)
21     return 0;
22     else
23     ans=func(n-1,m)+func(n-1,m-1); 
24     
25 }

任务7

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 
 4 void print_charman(int n);
 5 
 6 int main() {
 7     int n;
 8 
 9     printf("Enter n: ");
10     scanf("%d", &n);
11     print_charman(n); // 函数调用
12        
13     return 0;
14 }
15 
16 void print_charman(int n){
17     int i,m,j,a;
18     for(j=0;j<n;++j){
19     m=n*2-1-j*2;
20     for(a=0;a<j;++a)
21     printf("\t");
22     for(i=0;i<m;++i)
23         printf(" O \t");
24     printf("\n");
25     for(a=0;a<j;++a)
26     printf("\t");
27     for(i=0;i<m;++i)
28         printf("<H>\t");
29     printf("\n");
30     for(a=0;a<j;++a)
31     printf("\t");
32     for(i=0;i<m;++i)
33         printf("I I\t");
34     printf("\n");
35     }
36 
37 }

 

标签:10,return,int,ans,char,实验,printf
From: https://www.cnblogs.com/ljhlll/p/18510453

相关文章

  • 实验3
    #include<stdio.h>charscore_to_grade(intscore);//函数声明intmain(){intscore;chargrade;while(scanf("%d",&score)!=EOF){grade=score_to_grade(score);//函数调用printf("分数:%d,等级:%c\n\......
  • 实验三
    任务一源代码#include<stdio.h>charscore_to_grade(intscore);intmain(){intscore;chargrade;while(scanf("%d",&score)!=EOF){grade=score_to_grade(score);printf("分数:%d,等级:%c\n\n"......
  • 实验3
    实验1:1#include<stdio.h>2#include<stdlib.h>3charscore_to_grade(intscore);4intmain(){5intscore;6chargrade;7while(scanf("%d",&score)!=EOF){8grade=score_to_grade(score);9pri......
  • 实验3
    任务1:1#include<stdio.h>23charscore_to_grade(intscore);45intmain(){6intscore;7chargrade;89while(scanf("%d",&score)!=EOF){10grade=score_to_grade(score);11printf(&q......
  • 实验3
    任务1源代码  #include<stdio.h>charscore_to_grade(intscore);intmain(){intscore;chargrade;while(scanf("%d",&score)!=EOF){grade=score_to_grade(score);printf("分数:%d,等级:%c\n\n&quo......
  • [已解决·实验日志] AutoDL系统盘异常爆满,原因是debug 途中退出(ctrl+c),导致缓存文件
    今天照常debug中途退出,准备服务器GPU关机,突然看到系统盘爆满,顿时血压升高,咱来一探究竟参考文档:AutoDL帮助文档 (系统盘空间不足)Linux常用命令-CSDN博客cd/去到根目录看看,究竟是哪个文件夹占空间,使用du-sh命令来递归显示文件夹所占空间du-sh发现是tmp异常大,进......
  • 实验4:抽象工厂模式
    本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解抽象工厂模式的动机,掌握该模式的结构;2、能够利用抽象工厂模式解决实际问题。 [实验任务一]:人与肤色使用抽象工厂模式,完成下述产品等级结构: 实验要求:1.画出对应的类图;2.提交源代码;3.注意编程规范。1、......
  • 实验2 类和对象_基础编程1
    1.实验任务1t.h1#pragmaonce23#include<string>45//类T:声明6classT{7//对象属性、方法8public:9T(intx=0,inty=0);//普通构造函数10T(constT&t);//复制构造函数11T(T&&t);//移动构造函数12~......
  • 20222304 2024-2025-1 《网络与系统攻防技术》实验三实验报告
    实验内容1.1实践内容正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧使用msfvenom生成jar、apk等其他文件使用veil加壳工具使用C+shellcode进行编程通过组合应用各种技术实现恶意代码免杀用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电......
  • 中国计量大学《C语言程序设计》课程实验报告
    中国计量大学《C语言程序设计》课程实验报告实验课程:   C语言程序设计        实验名称:实验一 熟悉上机环境、程序设计-顺序结构                                      实验......