首页 > 编程语言 >实验3 C语言函数应用编程

实验3 C语言函数应用编程

时间:2023-11-05 20:11:21浏览次数:44  
标签:10 函数 int 编程 long C语言 char func include

实验任务1

源代码:

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <time.h>
 4 #include <windows.h>
 5 #define N 80
 6 
 7 void print_text(int line,int col,char text[]);//函数声明
 8 void print_spaces(int n);//函数声明
 9 void print_blank_lines(int n);//函数声明
10 
11 int main()
12 {
13     int line,col,i;
14     char text[N]="hi,November~";
15     
16     srand(time(0));//以当前系统时间作为随机种子
17     
18     for(i=1;i<=10;++i){
19         line=rand()%25;
20         col=rand()%80;
21         print_text(line,col,text);
22         Sleep(1000);//暂停1000s 
23     } 
24     
25     return 0;
26  } 
27  
28  //打印n个空格
29  void print_spaces(int n){
30      int i;
31      
32      for(i=1;i<=n;++i)
33         printf(" ");
34  } 
35  
36  //打印n行空白行
37  void print_blank_lines(int n){
38      int i;
39      
40      for(i=1;i<=n;++i)
41         printf("\n");
42  } 
43  
44  //在第line行第col列打印一段文本
45  void print_text(int line,int col,char text[]){
46      print_blank_lines(line-1);//打印(line-1)行空行 
47      print_spaces(col-1);//打印(col-1)列空格 
48      printf("%s",text);//在第line行、col列输出text中字符串 
49  } 

运行截图:

实验任务2

task2-1.c

源代码:

 1 //利用局部static变量的特性,计算阶乘
 2 
 3 #include <stdio.h>
 4 long long fac(int n);//函数声明
 5 
 6 int main()
 7 {
 8     int i,n;
 9     
10     printf("Enter n:");
11     scanf("%d",&n);
12     
13     for(i=1;i<=n;++i){
14         printf("%d!=%lld\n",i,fac(i));
15     }
16     
17     return 0;
18  } 
19  
20  //函数定义
21  long long fac(int n){
22      static long long p=1;
23      
24      p=p*n;
25      
26      return p;
27  } 

运行截图:

task2-2.c

源代码:

 1 //练习:局部static变量特性
 2 
 3 #include <stdio.h>
 4 int func(int,int);//函数声明
 5 
 6 int main()
 7 {
 8     int k=4,m=1,p1,p2;
 9     
10     p1=func(k,m);   //函数调用 
11     p2=func(k,m);   //函数调用
12     printf("%d,%d\n",p1,p2);
13     
14     return 0; 
15  } 
16  
17  //函数定义
18 int func(int a,int b)
19 {
20     static int m=0,i=2;
21     
22     i+=m+1;
23     m=i+a+b;
24     
25     return m;
26  } 

运行截图:

实验任务3

源代码:

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

运行截图:

实验任务4

task 4-1

源代码:

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

运行截图:

 task 4-2

源代码:

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

运行截图:

实验任务5

源代码:

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

运行截图:

实验任务6

源代码:

 1 #include <stdio.h>
 2 #include <math.h>
 3 long func(long s);
 4 
 5 int main()
 6 {
 7     long s,t;
 8     
 9     printf("Enter a number:");
10     while(scanf("%ld",&s)!=EOF){
11         t=func(s);
12         printf("new number is:%ld\n\n",t);
13         printf("Enter a number:");
14     }
15     
16     return 0;
17 }
18 
19 long func(long s)
20 {
21     int n,m;
22     long long k=0,d=0;
23     
24     while(s>0){
25         m=s%10;
26         if(m%2==0)
27            printf(" ");
28         else
29            k=k*10+m;
30            s=s/10;
31     }
32     
33     while(k>0){
34         n=k%10;
35         d=d*10+n;
36         k=k/10;
37     }
38     
39     return d;
40  } 

运行截图:

 

标签:10,函数,int,编程,long,C语言,char,func,include
From: https://www.cnblogs.com/st5114-/p/17798965.html

相关文章

  • 分治算法(C语言)
    一、棋盘覆盖问题1、问题2、分析(1)当k>0时,将2k×2k棋盘分割为4个(2k-1)×(2k-1)子棋盘,如图(a)所示。每一次分解,都将原本大小的棋盘,划分为四份,即行号和列号各自缩减一半。(2)特殊方格必位于4个较小子棋盘之一中,其余3个子棋盘中无特殊方格。(3)为将无特殊方格子棋盘转化为特......
  • 无涯教程-批处理 - 函数声明
    函数是一起组织以执行特定任务的一组语句。在批处理脚本中,采用类似的方法将逻辑语句组合在一起以形成一个函数。像任何其他语言一样,批处理脚本中的函数遵循相同的过程-FunctionDeclaration  - 它告诉编译器函数的名称,返回类型和参数。FunctionDefinition    -......
  • 【Go 编程实践】从零到一:创建、测试并发布自己的 Go 库
    为什么需要开发自己的Go库在编程语言中,包(Package)和库(Library)是代码组织和复用的重要工具。在Go中,包是代码的基本组织单位,每个Go程序都由包构成。包的作用是帮助组织代码,提供封装和代码复用的机制。Go包可以包含函数、类型、变量和常量等,这些元素可以被其他包引用和使用。......
  • 【Go 编程实践】从零到一:创建、测试并发布自己的 Go 库
    为什么需要开发自己的Go库在编程语言中,包(Package)和库(Library)是代码组织和复用的重要工具。在Go中,包是代码的基本组织单位,每个Go程序都由包构成。包的作用是帮助组织代码,提供封装和代码复用的机制。Go包可以包含函数、类型、变量和常量等,这些元素可以被其他包引用和使用。......
  • SATA基础+更改终端颜色+PCI.ids位置+Linux和Windows的scanf+C语言C++的局部变量与全局
    SATA基础https://zhuanlan.zhihu.com/p/554251608物理信号物理层功能时钟恢复:对于高频传输,一般是采用差分信号传输,并且没有单独的时钟,时钟存在于编码内部串并转换:对于高频传输,串联信号可以做到更高的频率。字节对其:8/10编码转换的10bit对其链路层、传输层链路层和传输......
  • MySQL日期时间操作函数(全的)-九五小庞
    一、MySQL常用日期函数1.1、获取时间#获取当前日期时间selectNOW();#2021-04-0209:25:29#获取当前日期SELECTCURDATE();#2021-04-02#获取当前时间SELECTCURTIME();#09:26:10#对于时间2021-04-0209:25:29,分别获取其年、月、日、时、分、秒SELECTEXTRAC......
  • 时间函数
    二、时间函数1.使用NOW()、CURDATE()、CURTIME()获取当前时间NOW()可以用来返回当前日期和时间格式:YYYY-MM-DDhh:mm:ssCURDATE()可以用来返回当前日期格式:YYYY-MM-DDCURTIME()可以用来返回当前时间格式:hh:mm:ss请编写SQL语句,向记录表records中插入当前的日......
  • 算数函数
    一、算数函数1.使用AVG()函数求数值列的平均值请编写SQL语句,查询教师表teachers中教师邮箱为'@qq.com'结尾的年龄的平均值,最后返回结果列名显示为'average_teacher_age'。SELECTavg(age)ASaverage_teacher_ageFROMteachersWHEREemaillike'%@qq.com';2.......
  • 漫谈 C++:良好的编程习惯与编程要点
    以良好的方式编写C++class假设现在我们要实现一个复数类complex,在类的实现过程中探索良好的编程习惯。①Header(头文件)中的防卫式声明complex.h:#ifndef__COMPLEX__#define__COMPLEX__classcomplex{}#endif防止头文件的内容被多次包含。②把数据放在priva......
  • 试验3 c语言函数应用编程
    实验任务1源代码1#include<stdio.h>2#include<stdlib.h>3#include<time.h>4#include<windows.h>5#defineN8067voidprint_text(intline,intcol,chartext[]);8voidprint_spaces(intn);9voidprint_blank_lines(intn)......