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

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

时间:2023-10-30 21:23:11浏览次数:38  
标签:10 return 函数 int 编程 long C语言 func include

实验任务1

 1 #include<stdio.h>
 2 #include<math.h>
 3 #include <stdlib.h>
 4 #include <time.h>
 5 #include <windows.h>
 6 #define N 80
 7 void print_text(int line, int col, char text[]); 
 8 void print_spaces(int n); 
 9 void print_blank_lines(int n); 
10 int main(){
11     int line, col, i;
12     char text[N] = "hi, November~";
13     srand(time(0)); 
14     for(i = 1; i <= 10; ++i) {
15         line = rand() % 25;
16         col = rand() % 80;
17         print_text(line, col, text);
18         Sleep(1000); 
19     }
20     return 0;
21 } 
22 void print_spaces(int n) {
23     int i;
24     for(i = 1; i <= n; ++i)
25         printf(" ");
26     } 
27 void print_blank_lines(int n) {
28     int i;
29     for(i = 1; i <= n; ++i)
30         printf("\n");
31     }
32 
33 void print_text(int line, int col, char text[]) {
34     print_blank_lines(line-1); 
35     print_spaces(col-1); 
36     printf("%s", text); 
37 }

结果演示

程序功能:在屏幕上左右随机位置生成“hi,November”

实验任务2(1)

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

结果演示(1)

 

实验任务2(2)

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

结果演示(2)

static特性:定义一次后就不会再定义,可以保存上一次的值继续用下去

实验任务3

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

结果演示

实验任务4

(1)迭代:

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

结果演示

递归:

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

结果演示

实验任务5

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

结果演示

实验任务6

 1 #include <stdio.h>
 2 #include <math.h>
 3 long func(long s){
 4     long x=0,t;
 5     long m=1;
 6     while(s!=0){
 7         t=s%10;
 8         if(t%2!=0){
 9             x=x+t*m;
10             m*=10;
11         }
12         s=s/10;
13     }
14     return x;
15 }
16 int main() {
17     long s, t;
18     printf("Enter a number: ");
19     while (scanf("%ld", &s) != EOF) {
20         t = func(s); 
21         printf("new number is: %ld\n\n", t);
22         printf("Enter a number: ");
23     } 
24     return 0;
25 }

结果演示

 实验任务7

 1 #include<stdio.h>
 2 #include<math.h>
 3 static int a[11];
 4 static int n=0;
 5 int cun(int x){
 6     if(n==0){
 7         n++;
 8         a[n]=x;
 9     }else{
10         int pd=0;
11         for(int i=1;i<=n;i++){
12             if(a[i]==x){
13                 pd++;
14                 break;
15             }
16         }
17         if(pd==0){
18             n++;
19             a[n]=x;
20         }
21     }
22 }
23 int chai(long long s){
24     int x;
25     while(s!=0){
26         x=s%10;
27         cun(x);
28         s=s/10;
29     }
30 }
31 int main(){
32     long long x2,x3;
33     for(int i=1;;i++){
34         x2=i*i;
35         x3=i*i*i;
36         chai(x2);
37         chai(x3);
38         if(n==10){
39             printf("%d",i);
40             break;
41         }else{
42             n=0;
43             a[11]={0};
44         }
45     }
46 return 0;
47 }

结果演示

 

标签:10,return,函数,int,编程,long,C语言,func,include
From: https://www.cnblogs.com/Tsuneo/p/17798404.html

相关文章

  • 重要的函数及方法
    (个人解题方法,可能有更高效的)输入方法input():都是以字符串的形式输入1、单行单个数据输入a=eval(input())#一般我习惯使用input()搭配eval()使用,也可直接将eval换成已经知道要转化类型的类型名#eg:a=int(input())补:eval()用法:将以字符串输入的格式转化为原本数据......
  • 无涯教程-C语言 - 结构(Struct)
    数组允许定义变量的类型,这些变量可以容纳相同种类的多个数据项。同样,结构是C中可用的另一种用户定义的数据类型,它允许组合不同种类的数据项。结构Struct用于表示记录,假设您想定义图书馆中的书籍,您可能需要定义跟踪有关每本书的以下属性-标题title作者author主题subject图......
  • 【Azure Function App】如何修改Azure函数应用的默认页面呢?
    问题描述当在Azure中创建了一个函数应用(FunctionApp)后,访问默认URL会得到一个默认的页面。是否有办法修改这个默认页面呢?  问题解答在之前的博文中,介绍了修改AppService的默认页面。1:【Azure应用服务】AppService默认页面暴露Tomcat版本信息,存在安全风险 :https://www.cnbl......
  • C语言的system("pause")是什么
    ......
  • 实验3 C语言函数应用编程
    一、实验目的能正确使用c语法规则定义、声明、调用函数能正确编写递归函数针对具体问题场景,能合理抽象出独立的功能模块,正确定义函数并使用,使得代码更具可读性、可维护性针对具体问题场景,能正确、合理使用全局变量和局部static变量,解决实际问题二、实验准备函数定义、声......
  • 使用Raspberry Pi和OpenPLC项目进行PLC编程1简介
    0前言0.1书籍介绍本书旨在向读者介绍如何将RaspberryPi计算机作为PLC(可编程逻辑控制)用于他们的项目。该项目要感谢程序员EdouardTisserant和MariodeSousa。他们在2003年IEC61131-3标准出台后启动了"Matiec项目"。这使得将标准中引入的编程语言翻译成C语言程序成为......
  • 无涯教程-C语言 - 字符串(String)
    字符串实际上是由null字符'\0'终止的一维字符数组,因此,以零结尾的字符串包含由字符串组成的字符,后跟null。以下声明和初始化创建一个由单词"Hello"组成的字符串。chargreeting[6]={'H','e','l','l','o','\0'};如果您遵循数组初始化的规则,那么您可以编写以下语句,如下......
  • 实验3_C语言函数应用编程
    1.task_11#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)......
  • 加餐-TensorFlow编程最佳实践
    0.参考文档TensorFlow官方文档eat_tensorflow2_in_30_days机器学习实战:基于Scikit-Learn和TensorFlow1.TensorFlow的几个核心概念张量和计算图TensorFlow->张量流动程序=数据结构+算法->TensorFlow程序=张量数据结构+计算图算法语言三种计算图静......
  • 无涯教程-C语言 - 数组(Array)
    数组是一种数据结构,可以存储相同类型的元素的固定大小的顺序集合。所有数组均包含连续的内存位置,最低地址对应于第一个元素,最高地址对应于最后一个元素。声明数组要在C中声明数组,程序员可以指定元素的类型和数组所需的元素数量,如下所示-typearrayName[arraySize];这称为......