首页 > 编程语言 >c语音编程题(二)

c语音编程题(二)

时间:2024-10-17 19:20:51浏览次数:3  
标签:tmp return int 编程 ++ 语音 printf test

c语言编程题(二)

6.求一个数的阶乘和

#include <stdio.h>

int main()
{
	int n;
	int i;
	int sum = 1;
	printf("请输入一个数:");
	scanf("%d", &n);
	for (i = n; i >= 1; i--)
	{
		sum *= i;
	}
	printf("%d的阶乘和sum=%d", n, sum);
	return 0;
}

7.杨辉三角

在这里插入图片描述

#include <stdio.h>
 
int main()
{	int arr[10][10] = { 0 };

	int i = 0;
	int j = 0;
	for (i = 0; i < 10; i++)
	{
		for (j = 0; j < 10; j++)
		{
			if (j == 0 || j == i)
				arr[i][j] = 1;
		}
	}
	for (i = 2; i < 10; i++)
	{
		for (j = 1; j < i; j++)
		{
			arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1];
		}

	}
	for (i = 0; i < 10; i++)
	{
		for (j = 0; j <= i; j++)
		{

			printf("%d ", arr[i][j]);
		}
		printf("\n");
	}


	return 0;
}

8.打印菱形

在这里插入图片描述

   #include <stdio.h>
    
int main()
{
	int i = 0;
	int j = 0;
	int n = 0;

	scanf("%d", &n);
	//打印上半部分
	for (i = 0; i < n; i++)
	{
		//打印空格
		for (j = 0; j < n-1-i; j++)
		{
			printf(" ");
		}
		//打印*号
		for (j = 0; j <2*i+1 ; j++)
		{
			printf("*");
		}
		printf("\n");
	 }
	//打印下半部分
	for (i = 0; i < n-1; i++)
	{
		//打印空格
		for (j = 0; j < i+1; j++)
		{
			printf(" ");
		}
		
		//打印*
		for (j = 0; j < 2*(n-i-1)-1; j++)
		{
			printf("*");
		}
		printf("\n");
	}
	return 0;
}

9.求斐波斐波那契数

// 输入一个数,求出对应的斐波斐波那契数
// 0,1,1,2,3,5,8,13,21,34,55,89,144,233,
//它的规律是:这个数列从第 3 项开始,每一项都等于前两项之和
方法一:for循环

#include <stdio.h>

int test(int n)
{
	int i = 0;
	int a = 1;
	int b = 1;
	int c = 0;

	if (n == 0)
		return 0;
	if (n == 1 || n == 2)
		return 1;
	for (i = 3; i <= n; i++)
	{
		c = a + b;
		a = b;
		b = c;
	}
	return c;
}


int main()
{
	int ret = 0;
	int n = 0;
	scanf("%d", &n);

	ret=test(n);
	printf("%d", ret);
	return 0;
}

方法二:递归法

#include <stdio.h>

int test(int n)
{
	if (n == 0)
		return 0;
	if (n == 1 || n == 2)
		return 1;
	return test(n - 1) + test(n - 2);
}
int main()
{
	int n = 0;
	scanf("%d", &n);
	printf("%d", test(n));
	return 0;
}

10.求这两个数的最小公约数和最小公倍数


#include <stdio.h>

void test(int a, int b)
{
	int tmp = 0;
	if (a >= b)
		tmp = b;
	else
		tmp = a;
	while (1)
	{
		if (a % tmp == 0 && b % tmp == 0)
		{
			printf("%d和%d的最大公约数为%d\n", a, b, tmp);
			printf("%d和%d的最小公倍数为%d\n", a, b, (a*b / tmp));
			break;
		}
		else
			tmp--;
	}
}
int main()
{
	int a, b = 0;
	scanf("%d%d", &a, &b);
	test(a, b);
	return 0;
}

标签:tmp,return,int,编程,++,语音,printf,test
From: https://blog.csdn.net/2301_76799128/article/details/143026280

相关文章

  • 学习编程是自学好,还是报班好?看完这篇你就明白了!
    编程已经成为现代社会一项重要的技能,无论是为了提升职业竞争力还是为了满足个人兴趣,越来越多的人想要学习编程。然而,面对学习编程的不同选择,很多人会问:“学习编程是自学好,还是报班好?”这其实是因人而异的,因为每种方式都有各自的优点和不足。本文将详细分析自学和报班两种方式......
  • 初学编程应该看书还是看视频?找到最适合你的学习方式
    对于编程初学者来说,选择合适的学习资源是非常重要的。当面临“看书还是看视频”的问题时,很多人都会感到困惑,因为这两种学习方式各有优缺点。无论你是选择书籍还是视频,关键是找到适合自己的学习方式。本文将对这两种学习方法进行详细比较,帮助你做出最适合自己的选择。1.通过......
  • C++核心编程、面向对象
    目录一、内存分区模型1、运行程序前代码区全局区总结:2、运行程序后栈区堆区 3、new关键字基本使用开辟数组二、引用1、基本使用2、引用的注意事项3、引用做函数参数4、引用做函数返回值5、引用的本质6、常量引用三、函数提高1、函数的默认参数2、函数......
  • 并发编程中锁Synchronized和ReentrantLock,CAS,AQS理解
    SynchronizedJAVA关键字,独占式的悲观锁,可重入锁。主要解决多个线程之间的访问资源的同步性,可以保证被他修饰的方法或者代码块在任意时刻只能有一个线程执行早期是重量级锁,JAVA6后引入大量优化,自旋锁,适应性自旋锁,偏向锁,轻量级锁,锁消除,锁粗化减少锁的开销使用方式修饰......
  • Java多线程编程:深入理解与实践
    java笔记,点击下载在现代软件开发中,多线程编程已成为提高程序性能和响应能力的关键技术之一。Java作为一门高级编程语言,提供了丰富的多线程支持,使得开发者能够轻松地编写并发程序。本文将深入探讨Java多线程的基本概念、实现方式以及最佳实践。多线程的基本概念多线程是指......
  • 四种基本的编程命名规范(匈牙利命名法、驼峰式命名法、帕斯卡命名法、下划线命名法)
    匈牙利命名法匈牙利命名法是一种编程时的命名规范。基本原则是:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。要基于容易记忆容易理解的原则。保证名字的连贯性是非常重要的。据说这种命名法是一位叫CharlesSimonyi的匈牙......
  • 产品开发01-socket编程
    实验目的:根据提供的TCP协议代码完成具有相关功能的UDP代码的编写,并成功实现功能客户端要求:(1) 客户端可以多次向服务器发送数据;(2) 客户端能够接收服务器端发送数据,并回显正确;服务器端要求:(1) 运行端口可配置(2) 将客户端发送来的消息正确显示,并将该消息发送给客户端;(3) 支持多个客......
  • Java的Stream流编程的排序sorted方法里参数o1,o2分别代表什么?
    先说结论:在sorted方法中,o1是最后面的元素,o2是倒数第二个元素,以此类推,流是处理元素是从后面开始取值。  packagecom.br.itwzhangzx02.learn;     importorg.junit.Test;   importjava.util.ArrayList; importjava.util.List;......
  • K线走势预测编程
    K线图的走势预测可以通过技术分析和机器学习相结合来实现。我们可以使用Python编程语言中的数据分析库和机器学习模型来预测K线走势。以下是一个基于历史数据的K线图预测示例,它使用长短期记忆(LSTM)神经网络来预测未来的价格走势。###K线走势预测编程步骤:####1.数据准备:我......
  • java并发编程——AQS
    Java的AbstractQueuedSynchronizer(AQS)是Java并发包(java.util.concurrent)中的一个非常重要的底层同步框架,它用于构建锁、信号量等同步器的基础组件。AQS提供了一个通用的机制来管理线程之间的同步。通过AQS,Java中的各种同步器如ReentrantLock、Semaphore、CountDownLatch等......