C语言初学习(4)

题目:求a和b的最大公约数

分析:首先我们要知道最大公约数是什么,就是指两个或多个整数共有约数中最大的一个。好了,知道了最大公约数是什么,就可以求解它了,那么就相当于比较俩个数的约数,取其相等的最大的一个就对了,是吧?约数是啥???约数就是能把a或者b整除的数呗~

好了~一起来看看代码吧~

代码:

 1 #include<stdio.h>
 2 void gcd(long int a,long int b)       //子函数求gcd
 3 {
 4     long int i,t=0,j=0,k=0,max,q=0;
 5     long int x[256],y[256];          //x[]存放第一个数的除数,y[]存放第二个数被第一个除数整除的数
 6     for(i=a;i>0;i--)                //x[]
 7     {
 8         if(a%i==0)
 9         x[j++]=i;
10         t++;
11     }
12     for(i=0;i<t;i++)                   //y[]
13     {
14         if(b%x[i]==0)
15         y[k++]=x[i];
16         q++;
17     }
18     max=y[0];                           //选择最大的一个
19     for(i=0;i<q;i++)
20     {
21         if(max<y[i])
22         {
23             max=y[i];
24         }
25     }
26     printf("gcd=%ld\n",max);          //输出
27 }
28 void main()
29 {
30     long int a,b;
31     long int x[100],y[100];
32     while(1)
33     {
34     printf("please enter two number between 0 to 255 \n");    //输入俩个数
35     scanf("%ld%ld",&a,&b);
36     gcd(a,b);
37     }
38 }

简单的看几个答案吧:

是不是很容易呢?

欢迎联系我的qq:2516985331

一起学习~

时间: 2024-10-11 23:52:52

C语言初学习(4)的相关文章

C语言初学习(3)

题目:计算字符串中的单词数.单词:由空格分开的连续字母数字串. 分析:这个就一目了然了,题目提示已经很清楚了,那就判断空格呗~简单是简单,所以我们不妨用指针来完成它! 不多说,一起来看代码~ 代码: 1 #include<stdio.h> 2 void str_n(char *s) 3 { 4 int i,j=0; 5 for(i=0;i<100;i++) 6 { 7 if(*s++==32) //数空格 8 { 9 j++; 10 } 11 } 12 printf("单词数为

C语言初学习(1)

题目:对于任意正整数都可以找出至少一串连续奇数,它们的和等于该整数的立方.以下程序验证[2,20]之间的数满足这一性质. 分析:首先得出该整数num的立方n.对于这一连串的奇数,我们不能确定它的个数,但我们可以分析出它的个数不会超过这个整数num(这个应该可以理解~).那么我们就可以得到一个范围那就是1到num之间的奇数,但至于到底有几个呢?好像不好得到.没关系,用for()循环来帮忙.让它遍历从1到num的所以的奇数,用变量sum来存放它们的和,并依次与立方n进行比较,如果相等了,那这就对了,

初探swift语言的学习笔记(可选类型?和隐式可选类型!)

可选类型.隐式可选类型 其次swift还引入一个较有趣的初始值设置语法使用"?"操作符及"!"号操作符 如:"var optionalString: String? = "Hello" optionalString == nil var optionalName: String? = "John Appleseed" var greeting = "Hello!" if let name = op

C语言课程学习的总结

本学期c语言的学习接近尾声,对此颇有感触,感受良多,随着考试的结束,c语言学习也告了一段落. c语言是一门计算机语言,用最原始的方法输入计算机,向我们展示它的神奇.它可以让我们更好的了解计算机,与计算机交流. 同时也是我们往后学习的基础,是重中之重.所以,c语言的学习对我们是很重要的. 在本学期的c语言学习中,遇到了不少的困难,但有些还是可以解决的.对于c语言的学习,虽然不是很会,但是也有自己的看法. 首先,在c语言的学习中,上课前自己要懂得去预习,尤其是一些知识点的概念和用法,还有教材的经典例

SQL Server 之T-SQL语言的学习

SQL Server 之T-SQL语言的学习 举例: 表1:学生表student 学号 姓名 性别 班级 2007001 李晓明 男 土木0701 2007002 王莉 女 信计0701 表2:成绩表score 学号 课程编号 课程名称 成绩 2007001 1949 高等数学 85 2007001 1823 C语言 98 2007002 1950 数据结构 60 1.数据定义语言 数据库语言属于第四类语言,与其他语言不同之处是: 不区分大小写 字符串全部用单引号 不区分字符和字符串 语句之间不

UNIX/Linux下C语言的学习路线

一.工具篇 “公欲善其事,必先利其器”.编程是一门实践性很强的工作,在你以后的学习或工作中,你将常常会与以下工具打交道, 下面列出学习C语言编程常常用到的软件和工具. 1.操作系统    在UNIX或Linux系统中学习C很方便,所以在开始您的学习旅程前请先选择一个UNIX或Linux操作系统,目前可供个人免费使用的UNIX或Linux系统有FreeBSD.RedHat Linux.SUSE Linux等,而且在安装包中还提供很多实用的工具,如:gcc, make等. 如果您一直使用Window

初探swift语言的学习笔记十一(performSelector)

作者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/35842441 转载请注明出处 如果觉得文章对你有所帮助,请通过留言或关注微信公众帐号fengsh998来支持我,谢谢! 在OC中使用好好的performSelector,但不知为什么在swift有意的被拿掉了.更有甚者连IMP, objc_msgSend也不能用了.虽然想不通为什么,但应该有他的道理.就不纠结了. 大家可能在OC中使用得更多的就是延时处理,及后台处

初探swift语言的学习笔记十(block)

作者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/35783341 转载请注明出处 如果觉得文章对你有所帮助,请通过留言或关注微信公众帐号fengsh998来支持我,谢谢! 在前面一些学习中,原本把闭包给理解成了block尽管有很多相似之处,但block还是有他自己的独特之外.近日,在写oc/swift混合编码时,有时候需要swift回调oc,oc回调swift . 因此我把swift中的 block 常见的声明和写

c语言指针学习

前言 近期俄罗斯的陨石.四月的血月.五月北京的飞雪以及天朝各种血腥和混乱,给人一种不详的预感.佛祖说的末法时期,五浊恶世 ,十恶之世,人再无心法约束,道德沦丧,和现在正好吻合.尤其是在天朝,空气,水,食品,你能告诉还有没有问题的吗?不知大难至,世人依旧忙.祸福相依,危中有机.那些高级生命,出于慈悲,会救渡我们,但是你要去思考,去发现机缘. 最近较闲,没事就学点基础知识,整天在上层晃,感觉晕的厉害,接地气.关于指针我上学的时候学过一点,我的老师说"指针很难呢",当时以为这老师挺谦虚的.后