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

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

时间:2023-11-05 14:47:34浏览次数:26  
标签:函数 int 编程 long C语言 char 实验 func printf

1、实验1

实验1 运行结果

 

 

实现了每隔一秒随机弹出“hi,November~”。

2、实验2

实验2-1 源代码

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

 

 

实验2-1 运行结果

 

 

实验2-2 源代码

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

 

实验2-2 运行结果

3、实验3

实验3 源代码

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

 

实验3 运行结果

4、实验4

实验4 源代码(迭代)

 

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

 

实验4 运行结果

 

实验4 源代码(递归)

 1 #include<stdio.h>
 2 int func(int n,int m);
 3 
 4 int main()
 5 {
 6     int n,m;
 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 int func(int n,int m)
13 {
14     int c;
15     if(n<m){
16         return 0;
17     }
18     else if(m==0||n==1&&m==1){
19         return 1;
20     }
21     else{
22         c = func(n-1,m)+func(n-1,m-1);
23         return c;
24     }
25 }

 

 

实验4 运行结果

5、实验5

实验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 static int time=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",time);
12         time = 0;//将每次的time重置为0,所以必不可少 
13     }
14     
15     return 0;
16 }
17 void hanoi(unsigned int n,char from,char temp,char to)
18 {
19     if(n==1)
20     moveplate(n,from,to);
21     else
22     {
23         hanoi(n-1,from,to,temp);
24         moveplate(n,from,to);
25         hanoi(n-1,temp,from,to);
26             
27     }
28 }
29 void moveplate(unsigned int n,char from,char to)
30 {
31     printf("%u:%c-->%c\n",n,from,to);
32     time++;
33 } 
34  

实验5 运行结果

 

6、实验6

实验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     return 0;
16  } 
17  
18 long func(long s){
19     long a=0,b,i=0;
20     while(s != 0){
21         b = s%10;
22         s = s/10;
23         if(b%2 != 0){
24             a += b*pow(10,i);
25             ++i;
26         }
27     }
28     return a;
29 }

 

实验6 运行结果

 

标签:函数,int,编程,long,C语言,char,实验,func,printf
From: https://www.cnblogs.com/liyushi0818/p/17798415.html

相关文章

  • 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是否是函数式组件?
    要判断一个函数是否是函数式组件,您可以考虑以下几个标准:纯函数性质:函数式组件应该是一个纯函数,即对于相同的输入,始终返回相同的输出,而且没有副作用。它不应该修改任何外部状态或改变传入的参数。如果函数修改了全局变量、文件、数据库或其他外部资源,那它就不是纯函数。不可变性:函数......
  • C语言程序练习4
    1.使用函数判断是否为素数:#include<stdio.h>intis_prime(intnum){inti;if(num<2){return0;}for(i=2;i<num;i++){if(num%i==0){return0;}}return1;}intmain(){intnum;printf("Entera......
  • 19.网络编程之网络基础概念
    19.网络编程之网络基础概念学习目标了解OSI七层、TCP/IP四层模型结构了解常见网络协议格式掌握网络字节序和主机字节序之间的转换(大端法和小端法)说出TCP服务器端通信流程说出TCP客户端通信流程独立写出TCP服务器端代码独立写出TCP客户端代码1.网络基础概......
  • 【教3妹学编程-算法题】使数组变美的最小增量运算数
    2哥 :3妹,脸上的豆豆好了没呢。3妹:好啦,现在已经没啦2哥 :跟你说很快就会消下去的,还不信~既然你的容颜和心情都如此美丽,那我们就再做一道关于美丽的题吧。3妹:切,2哥就会取笑我,伤心时让我做题,开心时也让我做题! 1题目: 给你一个下标从0开始、长度为n的整数数组nums,和一个整......
  • 有趣的Java之网络多线程——UDP编程
    UDP编程通信基本介绍类DatagramSocket和DatagramPacket【数据包/数据报】实现了基于UDP协议网络程序。UDP数据报通过数据报套接字DatagramSocket发送和接收,系统不保证UDP数据报一定能安全送到目的地,也不确信什么时候可以抵达。DatagramPacket对象封装了UDP数据报,在数据报中包含了发......
  • 一文读懂ReentrantLock在多线程编程中的作用和优点
    引言在当今这个数字化时代,软件开发已经离不开多线程编程。但是,多线程编程也带来了一系列复杂性和挑战,其中最关键的一个问题就是线程同步和互斥。为了应对这个问题,Java语言提供了一些工具,其中最强大的工具之一就是ReentrantLock。本文将对ReentrantLock进行深入探讨,介绍它在多线程编......
  • C语言小案例
    1.编写一函数intcount(),使得第一次调用时返回1,第二次调用时返回2,即返回当前的调用次数。#include<stdio.h>intcount(){staticintcounter=0;counter++;returncounter;}intmain(){printf("%d\n",count());//第一次调用,返回1printf("%d\n......