首页 > 其他分享 >实验三

实验三

时间:2023-11-04 20:55:05浏览次数:30  
标签:return int long 实验 func printf include

#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); // 暂停1000ms
}
return 0;

} // 打印n个空格

void print_spaces(int n) {
int i;

for(i = 1; i <= n; ++i)
printf(" ");
}

 // 打印n行空白行
void print_blank_lines(int n) {
int i;
for(i = 1; i <= n; ++i)
printf("\n");
}

// 在第line行第col列打印一段文本
void print_text(int line, int col, char text[]) {
print_blank_lines(line-1); // 打印(line-1)行空行
print_spaces(col-1); // 打印(col-1)列空格
printf("%s", text); // 在第line行、col列输出text中字符串
}

功能:每隔一秒在下面随机行,随机列打印字符串

task2-1

// 利用局部static变量的特性,计算阶乘

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

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

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 f;
    if(n==1)
    f=1;
    else
    f=(func(n-1)+1)*2-1;
    return f;


}

task4-1

#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 i,j,a=1,b=1;
    if(n<m)
    return 0;
    if(n==m||m==0)
    return 1;
    for(i=1;i<=m;i++)
        a*=i;
    for(j=n;j>=n-m+1;j--)
        b*=j;
    return b/a;
}

task5

#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 s;
    if(n<m)
    s=0;
    else if(n==m||m==0)
    s=1;
    else
    s= func(n-1, m)+ func(n-1, m-1);
    return s;
}

task6

#include <stdio.h>
#include <math.h>
long func(long s); // 函数声明

int main()
{
    long s, t;
    printf("Enter a number: ");
    while (scanf("%ld", &s) != EOF)
    {
        t = func(s); // 函数调用
        printf("new number is: %ld\n\n", t);
        printf("Enter a number: ");
    }
    return 0;
}

long func(long s)
{
    int i,k,d=1,sum=0;
    int a[10];
    int b[10];
    for(i = 0,k = 0;i<10;i++)
    {
        a[i] = s%10;
        if(a[i]%2 != 0)
        {
            b[k]=a[i];
            k++;
        }
        s /= 10;
    }
    for(i=0;i<k;i++)
    {
        sum+=b[i]*d;
        d *= 10;
    }
    return sum;
}

 

标签:return,int,long,实验,func,printf,include
From: https://www.cnblogs.com/20050109dfe/p/17809776.html

相关文章

  • 第三次实验
    任务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(){ ......
  • 实验3
    实验任务1#include<stdio.h>#include<stdlib.h>#include<time.h>#include<windows.h>#defineN80voidprint_text(intline,intco1,chartext[]);voidprint_spaces(intn);voidprint_blank_lines(intn);intmain(){intline,co1,i;......
  • 数据采集与融合技术实验四
    作业①:要求:使用Selenium框架+MySQL数据库存储技术路线爬取“沪深A股”、“上证A股”、“深证A股”3个板块的股票数据信息。主要代码url_list=['http://quote.eastmoney.com/center/gridlist.html#hs_a_board','http://quote.eastmoney.com/center/gridlist......
  • 实验3 C语言函数应用编程
    任务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......
  • 实验3 类与数组、指针
    实验任务1Point.hpp1#pragmaonce23#include<iostream>4usingstd::cout;5usingstd::endl;67classPoint{8public:9Point(intx0=0,inty0=0);10~Point()=default;1112intget_x()const;13intget_y()co......
  • 实验三
    test1#include<stdio.h>#include<time.h>#include<stdlib.h>#include<windows.h>#defineN80voidtest_(intline,intcol,chartest[]);voidspace(intn);voidblank(intn);intmain(){intline,col,i;chartest[N]=&......
  • 实验三
     ......
  • 软件设计实验7:单例模式
    实验7:单例模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解单例模式的动机,掌握该模式的结构;2、能够利用单列模式解决实际问题。 [实验任务一]:学号的单一仿照课堂的身份证的例子,实现每个同学仅有一个学号这一问题。实验要求:1. 画出对应的类图;  2......
  • 软件设计实验6:原型模式
     实验6:原型模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解原型模式的动机,掌握该模式的结构;2、能够利用原型模式解决实际问题。 [实验任务一]:向量的原型用C++完成数学中向量的封装,其中,用指针和动态申请支持向量长度的改变,使用浅克隆和深克隆复制向量......
  • 实验三
    #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()......