首页 > 其他分享 >实验三

实验三

时间:2023-03-30 18:11:49浏览次数:23  
标签:return int long 实验 func 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, April~";
    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);
}

实验结论

回答问题

1:每隔一秒在输出窗口的随机位置生成一个“hi, April~”,共生成十个

实验任务2

task2.1实验代码

#include <stdio.h>
long long fac(int n);

int main()
{
	int i,n;
	printf("Enyer 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.1实验结论

task2.2实验代码

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变量在函数第一次被调用时第一次遇到该变量时进行初始化,这也是唯一的一次初始化,此后该变量的初始化语句不会再被执行。下一次调用时使用上次的保存值。

实验任务3

实验代码

#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)
{	
	if(n==1)
	return 1;
	if(n==2)
	return 3;
	
	return 2*func(n-1)+1;
}

实验结论

回答问题

实验任务4

实验代码

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

实验结论

实验任务5

task5.1实验代码

#include <stdio.h>
double mypow(int x, int y);

int main() {
	int x, y;
	double ans;

	while(scanf("%d%d", &x, &y) != EOF) {
		ans = mypow(x, y);
		printf("%d的%d次方: %g\n\n", x, y, ans);
	}
	return 0;
}
double mypow(int x, int y) {
    double result = 1.0;
    int i;
    if(y >= 0) {
        for(i = 0; i < y; i++) {
            result *= (double)x;
        }
    } 
	else {
        for(i = 0; i < -y; i++) {
            result /= (double)x;
        }
    }
    return result;
}

实验结论

task5.2实验代码

#include <stdio.h>
double mypow(int x, int y);

int main() {
	int x, y;
	double ans;

	while(scanf("%d%d", &x, &y) != EOF) {
		ans = mypow(x, y);
		printf("%d的%d次方: %g\n\n", x, y, ans);
	}
	return 0;
}

double mypow(int x, int y){
	if(y>=0){
		if(y==0)
			return 1;
		return mypow(x,y-1) * x;
	}	
	if(y<0){
		double z = 1.0/x;
		return mypow(x,y+1) * z;
		
	}
}

实验结论

实验任务6

实验代码

#include <stdio.h>
#include <stdlib.h>

void hanoi(unsigned int n, char from, char temp, char to);
void moveplate(unsigned int n, char from, char to);
int total=0; 
int main() {
	unsigned int n;
	
	while (scanf("%u", &n) != EOF){
	
	hanoi(n, 'A', 'B', 'C');
	printf("一共移动了%d次",total);
	total = 0;
	}
	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);
	total++;
}

实验结论

实验任务7

实验代码

#include <stdio.h>
int is_prime(int n);

int main() {
    int num = 4; 
    while (num <= 20) {
        printf("%d = ", num);
        int num1 = 2; 
        int num2 = num - num1; 
        while (num1 <= num2) {
            if (is_prime(num1) && is_prime(num2)) {
                printf("%d + %d", num1, num2);
                break;
            }
            num1++;
            num2--;
        }
        num += 2;
        printf("\n");
    }
    return 0;
}

int is_prime(int n) {
    if (n <= 1) {
        return 0;
    }
    for (int i = 2; i * i <= n; i++) {
        if (n % i == 0) {
            return 0;
        }
    }
    return 1;
}

实验结论

实验任务8

实验代码

#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) {
    long newone= 0;
    long weishu = 1;
    while (s > 0) {
        int oldone = s % 10;  
        if (oldone % 2 != 0) {
            newone += oldone * weishu;  
            weishu *= 10; 
        }
        s /= 10; 
    }
    return newone;
}

实验结论

标签:return,int,long,实验,func,include
From: https://www.cnblogs.com/yggybb/p/17273554.html

相关文章

  • 博客首发Cisco实验
    第一步(划分VLAN):  主机方:     1.根据划分好的子网表格填写主机IP、子网掩码、默认网关。  2.添加给每个部门划分的VLAN,给VLAN配置IP、子网掩码:    interfacevlan70      ipaddress192.168.2.226255.255.255.240      n......
  • Python计算机视觉基础实验3-显著性检测(HC&FC)
    一、实验基础图像显著性检测图像的显著性是指对于给定一副真实世界中的场景图像,人们会自动地识别出感兴趣区域,忽略掉不感兴趣的区域,即将注意力集中在图像中某些显著的部分区域。图像的注意预测,也称视觉显著性检测,指通过智能算法模拟人的视觉系统特点,预测人类的视觉凝视点(就是全神贯......
  • 202031607232-张玉国 实验一 软件工程准备 - 软件工程
    项目与内容项目内容班级博客链接班级博客本次作业要求链接作业要求我的课程学习目标学会在程序设计前进行合理的需求分析、可行性研究本次作业在哪些方面帮我实现学习目标带我了解软件工程任务任务一已完成问卷调查的填写。任务二已在博客园平......
  • 易基因: m6A RNA甲基化研究的前期探索性实验思路|干货系列
    大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。近年来,m6ARNA甲基化作为国家自然科学基金表观遗传学研究的热门领域,相关研究成果层出不穷,高分文章不断......
  • 网络对抗实验三 免杀原理与实践
    目录《网络对抗技术》——Exp3免杀原理与实践1.1实践目标1.2基础知识任务一:正确使用免杀工具或技巧1.正确使用msf编码器2.msfvenom生成如jar之类的其他文件3.使用veil-e......
  • Python自然语言处理基础实验2_基于HMM的中文分词
    实验目的了解并掌握基于隐马尔可夫模型(HMM)的分词方法,重点掌握Viterbi算法。实验要求1、对给定的语料库(或自行准备)进行统计分析,确定HMM模型的三个参数;2、根据上一步求得的......
  • 实验2 字符串和列表
    task1.pyx='nbaFIFA'print(x.upper())print(x.lower())print(x.swapcase())print()x='abc'print(x.center(10,'*'))print(x.ljust(10,'*'))print(x.rjust......
  • 实验2
    task1:1x='nbaFIFA'2print(x.upper())3print(x.lower())4print(x.swapcase())5print()67x='abc'8print(x.center(10,'*'))9print(x.ljust......
  • 实验二
    任务一1x='nbaFIFA'2print(x.upper())3print(x.lower())4print(x.swapcase())5x='abc'6print(x.center(10,'*'))7print(x.ljust(10,'*'))8print......
  • Stanford CS 144, Lab 0: networking warmup 实验
    StanfordCS144,Lab0:networkingwarmupFinishStanfordCS144lab0andpassthetest.2023/03/29-01:45目录StanfordCS144,Lab0:networkingwarmup2Ne......