首页 > 其他分享 >实验3 函数应用编辑

实验3 函数应用编辑

时间:2022-11-05 11:12:30浏览次数:36  
标签:return 函数 int long char 编辑 实验 func include

task1.c

#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~10次

task2_1.c
#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! = %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.c

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

 

只赋予一次值,后续改变值保留

 task2_2.c
#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=%lld", n, f);
	}
}
long long func(n) {
	if (n == 1){return 1;
	}
	else { return 2 * func(n - 1) + 1; }
}

  

 

 task4.c

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

 

 task5.c

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

  

 

 task6.c

#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);
long long func(int n);
int main()
{
	unsigned int n;
	while (scanf_s("%u", &n) != EOF) {
		hanoi(n, 'A', 'B', 'C');
		printf("一共移动了%lld次。", func(n)); }
		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);
}
long long func(n) {
	if (n == 1) {
		return 1;
	}
	else { return 2 * func(n - 1) + 1; }
}

  

 

 task7.c

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int is_prime(int n);
int main()
{
	int i,a,b=0;
	for (i = 4; i <= 20; i++) {
		for (a = 2; a < i; a++) {
			if (is_prime(a) == 1)
			{
				b = i - a; 
			}
			if (is_prime(b) == 1) { printf("%d=%d+%d\n", i, a, b); break; }
		}
		i++;
	}
	return 0;
}
int is_prime(n) {
	int i;
	for(i=2;i<=n-1;i++)
	{
		int z = n % i;
		if (z == 0) { break; }
	}if (i < n - 1)return 0;
	else return 1;
}

  

 

 task8.c

#include <stdio.h>
#include<math.h>
#include <stdio.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: %ld\n\n", t);
		printf("Enter a number: ");
	}
	return 0;
}
long fun(s) {
	int a,c=1,g = 0;
	for (; s > 0; s /= 10) {
		a = s % 10;
		if (a % 2 != 0) { a *= c; g += a; c *= 10; }
	}return g;
}

  

 

标签:return,函数,int,long,char,编辑,实验,func,include
From: https://www.cnblogs.com/ak47ss/p/16856278.html

相关文章

  • Java swing 连连看小游戏 开发小系统 项目源代码 实训实验毕设
    Javaswing连连看小游戏开发小系统项目源代码实训实验能满足学习和二次开发可以作为初学者熟悉Java的学习,作为老师阶段性学习的一个成功检验不再是单调的理解老师空泛......
  • HAL库常用函数使用介绍--HAL_GPIO
    HAL_GPIO_Init//初始化我们需要用到的引脚的工作模式,包括具体引脚的工作速度、是否复用模式、上下拉等等参数。voidHAL_GPIO_Init(GPIO_TypeDef*GPIOx,GPIO_InitTypeDe......
  • 模板匹配(createTrackbar函数这样用)
    一、模板匹配模板匹配(TemplateMatching)就是在一幅图像中寻找和模板图像(template)最相似的区域,该方法原理简单计算速度快,能够应用于目标识别,目标跟踪等多个领域。二、原理......
  • 实验四 类与数组、指针
    实验任务5#pragmaonce#include<iostream>#include<cassert>usingnamespacestd;classvectorInt{public:vectorInt(intn):size{n}{p=newint......
  • 001.Vim文本编辑器
    1.关于Vim的介绍  2.关于Vim的三种模式  3.Vim常用快捷键    4.例子4.1  将80端口调整为8900端口(不是文本中的8080端口) ......
  • 实验二:实验逻辑回归算法
    【实验目的】理解逻辑回归算法原理,掌握逻辑回归算法框架;理解逻辑回归的sigmoid函数;理解逻辑回归的损失函数;针对特定应用场景及数据,能应用逻辑回归算法解决实际分类问题......
  • 【mysql】 窗口函数
    背景MySQL从8.0开始支持开窗函数,这个功能在大多商业数据库中早已支持,也叫分析函数。窗口函数分为静态窗口和滑动窗口,静态窗口的大小是固定的,滑动窗口的大小可以根据设置......
  • uniCloud云函数结合nodemailer发送邮件的方法
    使用uniCloud云函数结合nodemailer发送邮件的时候,在本地调试可以发送成功,但是当我把云函数上传后,就不能发送到邮件了,但是云函数依旧执行了。开始我以为是node.js版本的原因......
  • 数字n代表生成括号的对数,设计一个函数,用于能够生成所有可能的并且有效的括号组合 回溯
    题目描述:数字n代表生成括号的对数,设计一个函数,用于能够生成所有可能的并且有效的括号组合如  n=2 则输出//['(())','()()']  n=3则输出//['((()))','(()()......
  • MySQL时间函数总结
    1.1获取日期、时间函数用法CURDATE(),CURRENT_DATE()返回当前日期,只包含年、月、日CURTIME(),CURRENT_TIME()返回当前时间,只包含时、分、秒NOW()/SYSDA......