首页 > 其他分享 >实验3

实验3

时间:2022-11-03 15:33:12浏览次数:57  
标签:int long char 实验 result func include

 task1


#include<stdio.h> #include<stdlib.h> #include<time.h> #include<Windows.h> #define N 80 void print_text(int line, int col, char text[]); void print_spaces(int n); void print_blank_lines(int n); int main() { int line, col, i; char text[N] = "hi,November~"; srand(time(0)); for (i = 1;i <= 10;i++) { line = rand() % 25; col = rand() % 80; print_text(line, col, text); Sleep(1000); } return 0; } void print_spaces(int n) { int i; for (i = 1;i <= n;++i) printf(" "); } void print_blank_lines(int n) { int i; for (i = 1;i <= n;++i) printf("\n"); } void print_text(int line, int col, char text[]) { print_blank_lines(line - 1); print_spaces(col - 1); printf("%s", text); }

task2.1

#include <stdio.h>
long long fac(int n); // 函数声明
int main() {
  int i, n;
  printf("Enter n: ");
  scanf("%d", &n);
  for (i = 1; i <= n; ++i)
    printf("%d! = %lld\n", i, fac(i));
  return 0;
}

long long fac(int n) {
  static long long p = 1;
  printf("p = %lld\n", p);
  p = p * n;
  return p;
}

task2.2


#include <stdio.h> int func(int, int); int main() { int k = 4, m = 1, p1, p2; p1 = func(k, m); p2 = func(k, m); printf("%d,%d\n", p1, p2); return 0; } int func(int a, int b) { static int m = 0, i = 2; i += m + 1; m = i + a + b; return m; }

static保持变量的内容持久,在函数调用过程中,变量不变。

task3


#include <stdio.h> long long func(int n); // 函数声明 int main() { int n; long long f; while (scanf("%d", &n) != EOF) { f = func(n); // 函数调用 printf("n = %d, f = %lld\n", n, f); } return 0; } long long func(int n) { long long result; if(n==0) result=0; else result=2*func(n-1)+1; return result; }

  

task4

#include <stdio.h>
int func(int n, int m);
int main() {
  int n, m;
  while(scanf("%d%d", &n, &m) != EOF)
    printf("n = %d, m = %d, ans = %d\n", n, m, func(n, m));
 
  return 0;
}

int func(int n, int m)
{
    int result;
    if(m>n)
    result=0;
    else if(m==0)
    result=1;
    else
    result=func(n-1,m-1)+func(n-1,m);
    return result;
}

task5

#include <stdio.h>
int mul(int n, int m);
int main() {
  int n, m;
  while(scanf("%d%d", &n, &m) != EOF)
     printf("%d * %d = %d\n", n, m, mul(n, m));

  return 0;
}

int mul(int n, int m)
{
    int result;
    if(m==0)
        result=0;
    else
        result=mul(m,n-1)+m;
    return result;
}

task6

#include<stdio.h>
#include<stdlib.h>
void hanoi(unsigned int n,char from,char temp,char to);
void move(unsigned int n,char from,char to);
int count=0;
int main()
{
    unsigned int n;
    while(scanf("%u",&n) != EOF)
    {
    hanoi(n,'A','B','C');
    printf("一共移动了%d次\n", count);
    count=0;
    }
    return 0;
}

void hanoi(unsigned int n,char from,char temp,char to)
{
    if(n==1)
     move(n,from,to);
    else
    {
        hanoi(n-1,from,to,temp);
        move(n,from,to);
        hanoi(n-1,temp,from,to);
    }
}

void move(unsigned int n,char from,char to)
{
    printf("%u:%c-->%c\n",n,from,to);
    count++;
}

 

task8

#include <stdio.h>
long fun(long s);  // 函数声明
int main() {
  long s, t;
  printf("Enter a number: ");
  while (scanf("%ld", &s) != EOF) {
    t = fun(s); // 函数调用
    printf("new number is: %ld\n\n", t);
    printf("Enter a number: ");
 }
  return 0;
}

long fun(long s)
{
    int r=0,d;
    int m,n=0;
    while(s>0)
    {
        d=s%10;
        s/=10;
        if(d%2==1)
        r=r*10+d;
    }
    while(r>0)
    {
        m=r%10;
        n=n*10+m;
        r/=10;
    }
    return n;
}

 

标签:int,long,char,实验,result,func,include
From: https://www.cnblogs.com/yxrdbk/p/16854325.html

相关文章

  • P4 tutorials实验 - basic-tunnel
    P4tutorials实验-basic-tunnel基础知识隧道(tunnel):可以将IP隧道视为一对节点之间的虚拟点对点链路虚拟链路是在隧道入口处的路由器内创建的,当隧道入口处的路由器想通......
  • Openwrt 跨网实现二层实验
    由于公司项目需要跨网实现二层通信,在咨询大量的大神后他们推荐的方案是vxlan方案。于是就有了下面的实验。网络拓扑:网络环境:内网IP公网IP系统软件路由R1192.168.220.254/241......
  • Python实验报告——第10章 文件及目录操作
    实验报告【实验目的】 1.掌握Python自带的函数进行基本文件操作。2.掌握Python内置的os模块及其子模块os.path进行目录相关的操作。【实验条件】1.PC机或者远程编......
  • 实验三
      #include<stdio.h>#include<stdlib.h>#include<time.h>#include<windows.h>#defineN80voidprint_text(intline,intcol,chartext[]);//函......
  • 实验七:基于REST API的SDN北向应用实践
    一、实验目的1.能够编写程序调用OpenDaylightRESTAPI实现特定网络功能;2.能够编写程序调用RyuRESTAPI实现特定网络功能。二、实验环境1.下载虚拟机软件OracleVisua......
  • 实验四:开源控制器实践——opendaylight
    基础要求......
  • 实验七
    实验7:基于RESTAPI的SDN北向应用实践(一)基本要求编写Python程序,调用OpenDaylight的北向接口实现以下功能(1)利用Mininet平台搭建下图所示网络拓扑,并连接OpenDaylight; ......
  • 实验7:基于REST API的SDN北向应用实践
    实验7:基于RESTAPI的SDN北向应用实践一、实验目的能够编写程序调用OpenDaylightRESTAPI实现特定网络功能;能够编写程序调用RyuRESTAPI实现特定网络功能。二、实验环......
  • 实验7:基于REST API的SDN北向应用实践
    实验7:基于RESTAPI的SDN北向应用实践一、实验目的能够编写程序调用OpenDaylightRESTAPI实现特定网络功能;能够编写程序调用RyuRESTAPI实现特定网络功能。二、实验......
  • 《STM32MP1 M4裸机HAL库开发指南》第十二章 C语言LED灯实验
    第十二章C语言LED灯实验为了加深理解汇编语言以及汇编初始化过程,第十一章我们使用汇编来控制LED0。本章节我们来学习使用C语言来控制LED0,实际的开发中我们接触最多的就是C......