首页 > 其他分享 >实验三

实验三

时间:2022-11-05 21:14:38浏览次数:31  
标签:return int long char 实验 printf include

实验任务1:

#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);
}

实现随机输出"hi,November"

实验任务2:

//*计算从1到n的阶乘*//
#include<stdio.h>
long long fac(int n);//*函数的声明*//
int main() {
    int i, n;
    printf("Enter n:");
    scanf_s("%d", &n);
    for (i = 1; i <= n; i++)
        printf("%d!=%11d\n", i, fac(i));
    return 0;
}
long long fac(int n) {   //*函数的定义*//
    static long long p = 1;//*定义p为一个静态变量*//
    p = p * n;
    return p;
}

局部变量static是为了让p保存上一次运算的值

实验任务3:

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

实验任务4:

#include <stdio.h>
int func(int n, int m);//*函数声明*//
int main() {
    int n, m;
    while (scanf_s("%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 f;
    if (n < m)
        return 0;
    if (n == m || m == 0)
        return 1;
    else
        f = func(n - 1, m) + func(n - 1, m - 1);
    return f;
}

实验任务5:

#include<stdio.h>
int mul(int n, int m);//*函数声明*//
int main() {
    int n, m;
    while (scanf_s("%d%d", &n, &m) != EOF)
        printf("%d*%d=%d\n", n, m, mul(n, m));
    return 0;
}
int mul(int n, int m) //*函数定义*//
{
    int M;
    if(m==0||n==0)
        M = 0;
    else
        M = n + mul(n, m - 1);
    return M;
}

实验任务6:

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
void hanoi(unsigned int n, char from, char temp, char to);
void moveplate(unsigned int n, char from, char to);
int main() {
    unsigned int n,m;
    while (scanf_s("%u", &n) != EOF) {
        hanoi(n, 'A', 'B', 'C');
        m = pow(2, n) - 1;
        printf("一共移动了%d次\n", m);
    }
    system("pause");
    return 0;
}
void hanoi(unsigned int n, char from, char temp, char to) {
    if (n == 1)
        moveplate(n, from, to);
    else {
        hanoi(n - 1, from, to, temp);
        moveplate(n, from, to);
        hanoi(n - 1, temp, from, to);
    }
}
void moveplate(unsigned int n, char from, char to) {
    printf("%u:%c-->%c\n", n, from, to);
}

实验任务7:

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int isprime(int n);
int main() {
    int a, b, c;
    printf("请输入一个20以内的偶数:\n");
    while (scanf_s("%d", &a)<=20) {
        for (b = 2; b <= a; b++) {
            c = a - b;
            if (isprime(b) && isprime(c) && (b + c) == a)
                printf("%d=%d+%d\n", a, b, c);
        }
    }
    return 0;
}
int isprime(int n) {
    if (n == 1)
        return 0;
    int k;
    for (k = 2; k <= sqrt(1.0 * n); k++)
        if (n % k == 0)
            return 0;
    return 1;
}

实验任务8:

#include<stdio.h>
#include<math.h>
long fun(long s);
int main() {
    long s, t;
    printf("Enter a number:");
    while (scanf_s("%ld", &s) != EOF) {
        t = fun(s);
        printf("new number is:%d\n\n", t);
        printf("Enter a number:");
    }
    return 0;
}
long fun(long s) {
    int a = 0, b = 0;
    while (s > 0) {
        if (s % 2 == 0)
            s = s / 10;
        else {
            a = a + pow(10, b) * (s % 10);
            s = s / 10;
            b++;
        }
    }
    return a;
}

 

标签:return,int,long,char,实验,printf,include
From: https://www.cnblogs.com/xfj04/p/16860337.html

相关文章

  • 实验4
    //vectorInt.hpp#include<iostream>usingnamespacestd;classvectorInt{private:intsize;int*data;public:vectorInt(......
  • 实验二:逻辑回归算法实验
    【实验目的】1.理解逻辑回归算法原理,掌握逻辑回归算法框架;2.理解逻辑回归的sigmoid函数;3.理解逻辑回归的损失函数;4.针对特定应用场景及数据,能应用逻辑回归算法解决实际分......
  • 实验二:逻辑回归算法实验
    |20大数据三班|实验二:逻辑回归算法实验-作业-20级大数据3班机器学习-班级博客-博客园(cnblogs.com)||学号|201613328|实验二:逻辑回归算法实验-胡辛原-博客......
  • 实验四
    #include<iostream>usingnamespacestd;classvectorint{public:vectorint(intl=0){size=l;cout<<"constructor1called\n"<<endl;......
  • 实验6:开源控制器实践——RYU
    一、实验目的能够独立部署RYU控制器;能够理解RYU控制器实现软件定义的集线器原理;能够理解RYU控制器实现软件定义的交换机原理。二、实验环境Ubuntu20.04Desktopam......
  • 实验3 C语言控制语句应用编程
    #include<stdio.h>#include<stdlib.h>#include<time.h>#include<windows.h>#defineN80voidprint_text(intline,intcol,chartext[]);voidprint_spaces......
  • 实验3
    #include<stdio.h>#include<stdlib.h>#include<time.h>#include<windows.h>#define N 80void print_text(int line, int col, char text[]);void print_spaces(in......
  • 实验4 类与数组、指针
    实验任务5:vectorInt.hpp:#include<iostream>#include<cassert>usingnamespacestd;classvectorInt{public:vectorInt(intn);vectorI......
  • 实验二:逻辑回归算法实验
    1导包和读取数据#导包importnumpyasnpimportpandasaspdimportmatplotlib.pyplotasplt#读取数据data=pd.read_csv("D:/1/ex2data1.txt",delimiter=',',header=Non......
  • 实验4
    实验4.5:vectorInt.hpp1#include<iostream>2usingnamespacestd;3classvectorInt{4public:5vectorInt(intn);6vectorInt(intn,intv......