C语言练习作业(四)

原创 2015年11月17日 23:28:08

题目:输入两个整数,用函数算出两个整数的最大公约数和最小公倍数。


最大公约数的求法用辗转相除法最方便。最小公倍数的求法直接用两数的积除以它们的最大公约数。


上代码:


</pre><p></p><pre class="plain" name="code">#include<stdio.h>

int gcd(int a, int b);//最大公约数
int lcm(int a, int b);//最小公倍数
void change(int d[3][3]);

int main()
{
	int a = 0, b = 0;
	int d[3][3] = { 1,2,3,4,5,6,7,8,9 };
	int gcd_g, lcm_l;
	printf_s("请输入两个整数:\n");
	scanf_s("%d,%d", &a, &b);
	gcd_g = gcd(a, b);
	lcm_l = lcm(a, b);
	printf_s("最大公约数是%d,最小公倍数是%d。", gcd_g, lcm_l);
	change(d);
	return 0;
}

int gcd(int a, int b)
{
	int t = 0;
	int gdc_g = 0;
	while (b != 0)
	{
		t = a%b;
		a = b;
		b = t;
	}
	gdc_g = a;
	return gdc_g;
}

int lcm(int a, int b)
{
	int gdc_g = 0;
	int lcm_l = 0;
	gdc_g = gcd(a, b);
	lcm_l = (a*b) / gdc_g;
	return lcm_l;
}


题目二:用函数使3×3的二维数组行列互换。


不知道是不是因为困了,居然犯了许多低级错误,使得程序总是无法执行,主要还是死循环的问题,以后真的要多注意了。上面的代码包含了本题的一部分,下面就只贴函数部分了。


void change(int a[3][3])
{
	//int a[3][3] = { {1,2,3},{4,5,6},{7,8,9} };
	int t = 0;
	for (int i = 0; i < 2; i++)
	{
		for (int j = 3; j > 1; j--)
		{
			t = a[j - 1][i];
			a[j - 1][i] = a[i][j - 1];
			a[i][j - 1] = t;
		}
	}
	for (int i = 0; i < 3; i++)
	{
		for (int j = 0; j < 3; j++)
		{
			printf_s("%d ", a[i][j]);
		}
		printf_s("\n");
	}
}

大四重写大一的C语言大作业是一种怎样的体验

大四重写大一的C语言大作业是一种怎样的体验 在整理文件时偶然发现大一时的C语言大作业,故突然心血来潮想看看曾经花费一个星期的成果。它虽然只有一个文件,却足足有829行,可见当时我下了多大功夫。回忆起当...
  • qq535033459
  • qq535033459
  • 2015年05月05日 15:40
  • 7836

一些C语言期末作业 题目以及自己做的答案。

第一题: #include int main(int argc,char* argv[]) { int number; printf("请输入一个正整数:(按下回车键结束)\n"); scanf...
  • u012997311
  • u012997311
  • 2016年06月22日 15:41
  • 587

黑马程序员——C语言大作业--学生管理系统

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ---------------------- 前言:之所以收录此C语言综合例子是因...
  • crossblack
  • crossblack
  • 2014年10月19日 21:30
  • 1415

一些可以使你感兴趣的c语言简单练习

在学习的过程中最重要的就是自己对所学的东西感不感兴趣,兴趣在我们学习的过程中会给我们一些动力,从而激发我们潜在的力量,今天就给大家介绍几种有意思的C语言练习题,从而使大家可以对C语言又不一样的学习态度...
  • Cell_KEY
  • Cell_KEY
  • 2016年03月29日 22:51
  • 2180

C语言--------------字符串小程序练习(一)

1、判断输入的字符串是否为“回文”(顺读和倒读都一样)字符串 #include #include #define N 100 int palindrome(char *s, int n)...
  • zyx6a
  • zyx6a
  • 2013年04月06日 22:55
  • 2692

C语言练习 文件操作

在C程序中使用文件,需要完成以下操作。 (1)声明一个FILE*类型的指针变量,程序通过改变量对所指向的文件进行操作。 (2)通过调用fopen函数将此变量和某个实际文件相联系,这一操作称为打开文...
  • hehe5229
  • hehe5229
  • 2017年03月08日 19:45
  • 221

作业优先调度算法 先来先服务、短作业调度算法(c语言描述)

/*先来先服务调度算法*/ #include #define N 10 int Arival[N]={0}; int Go[N]={0}; int Start[N]={0}; int En...
  • m0_37848958
  • m0_37848958
  • 2017年04月28日 21:22
  • 1384

c语言作业(四)

给定非负整数a,b,m,利用基本的算术运算符号(+ - / * %)以及位运算符,计算a^b mod m 输入要求:一行三个非负整数,空格相间,分为a,b,m的值,其中m不为0。 输出要求:结果 例如...
  • linzetao233
  • linzetao233
  • 2017年12月20日 21:43
  • 25

c语言练习题——字符串训练

《c语言练习题——字符串训练》   1.题目: 请编写一个C函数,该函数将一个字符串逆序 2.题目: 请编写一个C函数,该函数可以实现将一个整数转为任意进制的字符串输出 3.题目: 输入一个字符串,计...
  • Ivan804638781
  • Ivan804638781
  • 2016年08月31日 20:00
  • 593

初学的c语言一些简单的练习题(自我练习)

1.打印99乘法表#include int main(){ int i, j; for (i = 1; i
  • Cell_KEY
  • Cell_KEY
  • 2016年03月28日 22:31
  • 8527
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C语言练习作业(四)
举报原因:
原因补充:

(最多只允许输入30个字)