首页 > 编程语言 >试验3 c语言函数应用编程

试验3 c语言函数应用编程

时间:2023-11-05 15:55:06浏览次数:42  
标签:10 return 函数 int 编程 long 试验 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     int line,col,i;
13     char text[N] = "hi,November~";
14     
15     srand(time(0));
16     
17     for(i = 1;i <= 10; ++i){
18         line = rand() % 25;
19         col = rand() % 80;
20         print_text(line,col,text);
21         Sleep(1000);
22     }
23     return 0;
24 } 
25 
26 
27 void print_spaces(int n){
28     int i;
29     
30     for(i = 1;i <= n; ++i)
31         printf(" ");
32 }
33 
34 
35 void print_blank_lines(int n){
36     int i;
37     
38     for(i = 1;i <= n; ++i)
39         printf("\n");
40 }
41 
42 
43 void print_text(int line,int col,char text[]){
44     print_blank_lines(line-1);
45     print_spaces(col-1);
46     printf("%s", text);
47     
48 }
View Code

截图

功能:随机打印hi,November

实验任务2

task2.1源代码

 1 #include<stdio.h>
 2 long long fac(int n);
 3 
 4 int main(){
 5     int i,n;
 6     
 7     printf("Eter n: ");
 8     scanf("%d",&n);
 9     for(i = 1;i <= n; ++i)
10        printf("%d! = lld\n" ,i,fac(i));
11        
12     return 0;
13 }
14 
15 
16 long long fac(int n){
17     static long long p = 1;
18     
19     p = p * n;
20     
21     return p;
22 }
View Code

截屏

增加一行后源代码

 1 #include<stdio.h>
 2 long long fac(int n);
 3 
 4 int main(){
 5     int i,n;
 6     
 7     printf("Eter n: ");
 8     scanf("%d",&n);
 9     for(i = 1;i <= n; ++i)
10        printf("%d! = lld\n" ,i,fac(i));
11        
12     return 0;
13 }
14 
15 
16 long long fac(int n){
17     static long long p = 1;
18     printf("p=%lld\n",p);
19     p = p * n;
20     
21     return p;
22 }
View Code

截屏

task2.2

源代码

 1 #include<stdio.h>
 2 int func(int,int);
 3 
 4 int main(){
 5     int k = 4, m = 1, p1, p2;
 6     
 7     p1=func(k, m);
 8     p2=func(k, m);
 9     printf("%d, %d\n", p1, p2);
10     
11     return 0;
12 }
13 
14 
15 int func(int a, int b){
16     static int m = 0, i = 2;
17     
18     i += m + 1;
19     m = i + a + b;
20     
21     return m; 
22 }
View Code

截屏

实验任务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) - 1;
11         printf("n = %d, f = %lld\n", n, f);
12     }
13     
14     return 0;
15  } 
16  
17  
18  long long func(int n){
19      if(n==0){
20          return 1;
21      }
22     else if(n==1){
23          return 2;
24      }
25     else{
26         return 2 * func(n - 1);
27     }
28  
29  }
View Code

截屏

实验任务4

源代码

迭代

 1 #include<stdio.h>
 2 int main(){
 3     int n, m;
 4     int sum1 = 1;
 5     int sum2 = 1;
 6     int sum3 = 1;
 7     int ans;
 8     while(scanf("%d%d", &n, &m)!=EOF){
 9     if(m==0){
10         ans = 1;
11     }
12     else{
13         int i = 1;
14     for (i = 1; i <= n; i++){
15         sum1 *= i;
16         }
17     int j = 1;
18     for (j = 1; j <= m; j++){
19         sum2 *= j;
20         }
21     int x = 1;
22     for (x = 1; x<= n - m; x++){
23         sum3 *= x;
24     }    
25        ans = sum1 / sum2 / sum3; 
26     } 
27         printf("n = %d, m = %d, ans = %d\n", n, m, ans);
28         sum1 = 1;
29         sum2 = 1;
30         sum3 = 1;    
31   } 
32     
33     return 0;
34 }
View Code

递归

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

截屏

实验任务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 
 6 int main()
 7 {
 8     unsigned int n;
 9     int count = 0;
10     while(scanf ("%u", &n)!=EOF){
11         hanoi(n, 'A', 'B', 'C');
12         printf("\n");
13     int i=1;
14     for(i = 1; i <= n; i++){
15         count = 2 * count + 1;
16     }    
17         printf("一共移动了%d次\n",count);
18         printf("\n");
19         count = 0;
20     }
21     system("pause");
22     
23     return 0;
24 }
25 
26 void hanoi(unsigned int n, char from, char temp, char to){
27     if (n == 1){
28         moveplate (n, from, to);
29     }
30     else{
31         hanoi(n - 1, from, to, temp);
32         moveplate(n, from, to);
33         hanoi(n - 1, temp, from, to);
34     }
35 }
36 
37 void moveplate(unsigned int n, char from, char to){
38     printf("%u : %c-- > %c\n", n, from, to);
39     
40 }
View Code

截屏

实验任务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     int n = 0;
21     int m = 0;
22     int i = 0;
23     int j;
24     while(s > 0){
25     n = s % 10;
26     if(n % 2 != 0){
27         m = 10 * m + n; 
28       }
29     s /= 10;
30     }
31     while(m > 0){
32           j = m % 10;
33         i = i * 10 + j;
34        m /= 10;
35     }
36     return i;
37 }
38 
39 
40  
View Code

截屏

 

标签:10,return,函数,int,编程,long,试验,func,include
From: https://www.cnblogs.com/Eternity91/p/17798407.html

相关文章

  • 渐进式流程图开发支架提高大学生计算思维和编程自我效能感
    (Progressiveflowchartdevelopmentscaffolding toimprove universitystudents’computational thinkingandprogramming self-efficacy)https://doi.org/10.1080/10494820.2021.1943687一、摘要研究目的:本研究在脚手架教学理论的基础上,提出了一种递进式思维训练方法......
  • 实验3 C语言函数应用编程
    一、实验目的二、实验准备三、实验内容1.实验任务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(in......
  • 实验3 C语言函数应用编程
    实验任务1:#include<stdio.h>#include<stdlib.h>#include<time.h>#include<windows.h>#defineN80voidprint_text(intline,intcol,chartext[]);voidprint_spaces(intn);voidprint_blank_lines(intn);intmain(){intline,col,......
  • 实验3 C语言函数应用编程
    1、实验1实验1运行结果  实现了每隔一秒随机弹出“hi,November~”。2、实验2实验2-1源代码1#include<stdio.h>2longlongfac(intn);34intmain()5{6inti,n;78printf("Entern:");9scanf("%d",&n);1011for......
  • JUC并发编程学习(十一)四大函数式接口(必备)
    四大函数式接口(必备)程序员:泛型、反射、注解、枚举新时代程序员:lambda表达式、链式编程、函数式接口、Stream流式计算函数式接口:只有一个方法的接口@FunctionalInterfacepublicinterfaceRunnable{publicabstractvoidrun();}//@FunctionalInterface函数式接口,超......
  • 实验2 类和对象_基础编程2
    实验任务1demo1.dev方法一#ifndefT_H#defineT_H#include<iostream>#include<string>usingnamespacestd;//类T的声明classT{public:T(intx=0,inty=0);//带有默认形值的构造函数T(constT&t);//复制构造函数T(T&&......
  • EasyUI Messager 消息框点击右上角x无法执行回掉函数解决
    版本:1.30和1.3.2的可参考以下网址;当前版本1.7.0参考上面的思路在js文件里面查找messager-iconmessager字符串。如下图所示只找到了3处。此时还没有看到用的是那个一个。有回头看一下官网。如下图所示。实用$.messager.alert共有四个参数。根据此处的想法选择如下图所示......
  • 如何判断一个function是否是函数式组件?
    要判断一个函数是否是函数式组件,您可以考虑以下几个标准:纯函数性质:函数式组件应该是一个纯函数,即对于相同的输入,始终返回相同的输出,而且没有副作用。它不应该修改任何外部状态或改变传入的参数。如果函数修改了全局变量、文件、数据库或其他外部资源,那它就不是纯函数。不可变性:函数......
  • 19.网络编程之网络基础概念
    19.网络编程之网络基础概念学习目标了解OSI七层、TCP/IP四层模型结构了解常见网络协议格式掌握网络字节序和主机字节序之间的转换(大端法和小端法)说出TCP服务器端通信流程说出TCP客户端通信流程独立写出TCP服务器端代码独立写出TCP客户端代码1.网络基础概......
  • 【教3妹学编程-算法题】使数组变美的最小增量运算数
    2哥 :3妹,脸上的豆豆好了没呢。3妹:好啦,现在已经没啦2哥 :跟你说很快就会消下去的,还不信~既然你的容颜和心情都如此美丽,那我们就再做一道关于美丽的题吧。3妹:切,2哥就会取笑我,伤心时让我做题,开心时也让我做题! 1题目: 给你一个下标从0开始、长度为n的整数数组nums,和一个整......