c语言 取整数部分输入3个整数X,Y,Z,请把这三个整数由小到大输出。

C语言 题目及解答_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
文档贡献者
评价文档:
喜欢此文档的还喜欢
C语言 题目及解答
A​C​M​ ​吉​首​大​学​ ​题​集​ ​答​案​参​考
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
大小:23.53KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
输入三个整数x,y,z,请把这三个数由小到大输出
下载积分:30
内容提示:
文档格式:PDF|
浏览次数:521|
上传日期: 15:08:24|
文档星级:
该用户还上传了这些文档
输入三个整数x,y,z,请把这三个数由小到大输出.PDF
官方公共微信求c语言编程求两个正整数的最大公约数和最小公倍数?
求c语言编程求两个正整数的最大公约数和最小公倍数?
09-12-28 & 发布
在后面一列中,输入=if(b1&0,b1,0),然后拖动该单元格右下角的小黑十字,这样就可以根据输入的数据判断,如果&=0,则显示0,否则显示数值
请登录后再发表评论!
最大公约数:Int maxcommondivisor(int n, int m)           // 12,20 {    while (m)                                        //  while(20)      {
        int temp =                              //  temp = 20         m = n %             //  m = 12%20 = 8 :m 还不是0,继续下次循环。直到m = n%m =0,则n 即为最大公约数。参见“辗转相除法&         n  =       }  }
请登录后再发表评论!
【程序1】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。 2.程序源代码: main() { int i,j,k; printf(&\n&); for(i=1;i&5;i++) /*以下为三重循环*/ for(j=1;j&5;j++) for (k=1;k&5;k++) { if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/ printf(&%d,%d,%d\n&,i,j,k); } } ============================================================== 【程序2】 题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高 于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提 成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于 40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于 100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? 1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。 2.程序源代码: main() { int bonus1,bonus2,bonus4,bonus6,bonus10, scanf(&%ld&,&i); bonus1=.1;bonus2=bonus1+.75; bonus4=bonus2+.5; bonus6=bonus4+.3; bonus10=bonus6+.15; if(i&=100000) bonus=i*0.1; else if(i&=200000) bonus=bonus1+(i-.075; else if(i&=400000) bonus=bonus2+(i-.05; else if(i&=600000) bonus=bonus4+(i-.03; else if(i&=1000000) bonus=bonus6+(i-.015; else bonus=bonus10+(i-.01; printf(&bonus=%d&,bonus); } ============================================================== 【程序3】 题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后 的结果满足如下条件,即是结果。请看具体分析: 2.程序源代码: #include &math.h& main() { long int i,x,y,z; for (i=1;i&100000;i++) { x=sqrt(i+100); /*x为加上100后开方后的结果*/ y=sqrt(i+268); /*y为再加上168后开方后的结果*/ if(x*x==i+100&&y*y==i+268)/*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/ printf(&\n%ld\n&,i); } } ============================================================== 【程序4】 题目:输入某年某月某日,判断这一天是这一年的第几天? 1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊 情况,闰年且输入月份大于3时需考虑多加一天。 2.程序源代码: main() { int day,month,year,sum, printf(&\nplease input year,month,day\n&); scanf(&%d,%d,%d&,&year,&month,&day); switch(month)/*先计算某月以前月份的总天数*/ { case 1:sum=0; case 2:sum=31; case 3:sum=59; case 4:sum=90; case 5:sum=120; case 6:sum=151; case 7:sum=181; case 8:sum=212; case 9:sum=243; case 10:sum=273; case 11:sum=304; case 12:sum=334; default:printf(&data error&); } sum=sum+ /*再加上某天的天数*/ if(year%400==0||(year%4==0&&year%100!=0))/*判断是不是闰年*/ leap=1; else leap=0; if(leap==1&&month&2)/*如果是闰年且月份大于2,总天数应该加一天*/ sum++; printf(&It is the %dth day.&,sum);} ============================================================== 【程序5】 题目:输入三个整数x,y,z,请把这三个数由小到大输出。 1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x&y则将x与y的值进行交换, 然后再用x与z进行比较,如果x&z则将x与z的值进行交换,这样能使x最小。 2.程序源代码: main() { int x,y,z,t; scanf(&%d%d%d&,&x,&y,&z); if (x&y) {t=x;x=y;y=t;} /*交换x,y的值*/ if(x&z) {t=z;z=x;x=t;}/*交换x,z的值*/ if(y&z) {t=y;y=z;z=t;}/*交换z,y的值*/ printf(&small to big: %d %d %d\n&,x,y,z); } ============================================================== 【程序6】 题目:用*号输出字母C的图案。 1.程序分析:可先用'*'号在纸上写出字母C,再分行输出。 2.程序源代码: #include &stdio.h& main() { printf(&Hello C-world!\n&); printf(& ****\n&); printf(& *\n&); printf(& * \n&); printf(& ****\n&); } ============================================================== 【程序7】 题目:输出特殊图案,请在c环境中运行,看一看,Very Beautiful! 1.程序分析:字符共有256个。不同字符,图形不一样。 2.程序源代码: #include &stdio.h& main() { char a=176,b=219; printf(&%c%c%c%c%c\n&,b,a,a,a,b); printf(&%c%c%c%c%c\n&,a,b,a,b,a); printf(&%c%c%c%c%c\n&,a,a,b,a,a); printf(&%c%c%c%c%c\n&,a,b,a,b,a); printf(&%c%c%c%c%c\n&,b,a,a,a,b);} ============================================================== 【程序8】 题目:输出9*9口诀。 1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。 2.程序源代码: #include &stdio.h& main() { int i,j, printf(&\n&); for (i=1;i&10;i++) { for(j=1;j&10;j++) { result=i*j; printf(&%d*%d=%-3d&,i,j,result);/*-3d表示左对齐,占3位*/ } printf(&\n&);/*每一行后换行*/ } } ============================================================== 【程序9】 题目:要求输出国际象棋棋盘。 1.程序分析:用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格。 2.程序源代码: #include &stdio.h& main() { int i,j; for(i=0;i&8;i++) { for(j=0;j&8;j++) if((i+j)%2==0) printf(&%c%c&,219,219); else printf(& &); printf(&\n&); } } ============================================================== 【程序10】 题目:打印楼梯,同时在楼梯上方打印两个笑脸。 1.程序分析:用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数。 2.程序源代码: #include &stdio.h& main() { int i,j; printf(&\1\1\n&);/*输出两个笑脸*/ for(i=1;i&11;i++) { for(j=1;j&=i;j++) printf(&%c%c&,219,219); printf(&\n&); } } 【程序11】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月 后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... 2.程序源代码: main() { long f1,f2; f1=f2=1; for(i=1;i&=20;i++) { printf(&%12ld %12ld&,f1,f2); if(i%2==0) printf(&\n&);/*控制输出,每行四个*/ f1=f1+f2; /*前两个月加起来赋值给第三个月*/ f2=f1+f2; /*前两个月加起来赋值给第三个月*/ } } ============================================================== 【程序12】 题目:判断101-200之间有多少个素数,并输出所有素数。 1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 2.程序源代码: #include &math.h& main() { int m,i,k,h=0,leap=1; printf(&\n&); for(m=101;m&=200;m++) { k=sqrt(m+1); for(i=2;i&=k;i++) if(m%i==0) {leap=0;} if(leap) {printf(&%-4d&,m);h++; if(h%10==0) printf(&\n&); } leap=1; } printf(&\nThe total is %d&,h); } ============================================================== 【程序13】 题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数 本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。 1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。 2.程序源代码: main() { int i,j,k,n; printf(&'water flower'number is:&); for(n=100;n&1000;n++) { i=n/100;/*分解出百位*/ j=n/10%10;/*分解出十位*/ k=n%10;/*分解出个位*/ if(i*100+j*10+k==i*i*i+j*j*j+k*k*k) { printf(&%-5d&,n); } } printf(&\n&); } ============================================================== 【程序14】 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。 (2)如果n&&k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n, 重复执行第一步。 (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。 2.程序源代码: /* zheng int is divided yinshu*/ main() { int n,i; printf(&\nplease input a number:\n&); scanf(&%d&,&n); printf(&%d=&,n); for(i=2;i&=n;i++) { while(n!=i) { if(n%i==0) { printf(&%d*&,i); n=n/i; } } } printf(&%d&,n);} ============================================================== 【程序15】 题目:利用条件运算符的嵌套来完成此题:学习成绩&=90分的同学用A表示,60-89分之间的用B表示, 60分以下的用C表示。 1.程序分析:(a&b)?a:b这是条件运算符的基本例子。 2.程序源代码: main() { printf(&please input a score\n&); scanf(&%d&,&score); grade=score&=90?'A':(score&=60?'B':'C'); printf(&%d belongs to %c&,score,grade); } ============================================================== 【程序16】 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 1.程序分析:利用辗除法。 2.程序源代码: main() { int a,b,num1,num2, printf(&please input two numbers:\n&); scanf(&%d,%d&,&num1,&num2); if(num1 { temp=num1; num1=num2; num2= } a=num1;b=num2; while(b!=0)/*利用辗除法,直到b为0为止*/ { temp=a%b; a=b; b= } printf(&gongyueshu:%d\n&,a); printf(&gongbeishu:%d\n&,num1*num2/a); } ============================================================== 【程序17】 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 1.程序分析:利用while语句,条件为输入的字符不为'\n'. 2.程序源代码: #include &stdio.h& main() { int letters=0,space=0,digit=0,others=0; printf(&please input some characters\n&); while((c=getchar())!='\n') { if(c&='a'&&c&='z'||c&='A'&&c&='Z') letters++; else if(c==' ') space++; else if(c&='0'&&c&='9') digit++; else others++; } printf(&all in all:char=%d space=%d digit=%d others=%d\n&,letters, space,digit,others); } ============================================================== 【程序18】 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+(此时 共有5个数相加),几个数相加有键盘控制。 1.程序分析:关键是计算出每一项的值。 2.程序源代码: main() { int a,n,count=1; long int sn=0,tn=0; printf(&please input a and n\n&); scanf(&%d,%d&,&a,&n); printf(&a=%d,n=%d\n&,a,n); while(count&=n) { tn=tn+a; sn=sn+ a=a*10; ++ } printf(&a+aa+...=%ld\n&,sn); } ============================================================== 【程序19】 题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程 找出1000以内的所有完数。 1. 程序分析:请参照程序&--上页程序14. 2.程序源代码: main() { static int k[10]; int i,j,n,s; for(j=2;j&1000;j++) { n=-1; s=j; for(i=1;i { if((j%i)==0) { n++; s=s-i; k[n]=i; } } if(s==0) { printf(&%d is a wanshu&,j); for(i=0;i printf(&%d,&,k[i]); printf(&%d\n&,k[n]); } } } ============================================================== 【程序20】 题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高? 1.程序分析:见下面注释 2.程序源代码: main() { float sn=100.0,hn=sn/2; for(n=2;n&=10;n++) { sn=sn+2*/*第n次落地时共经过的米数*/ hn=hn/2; /*第n次反跳高度*/ } printf(&the total of road is %f\n&,sn); printf(&the tenth is %f meter\n&,hn); } 我不知道你邮箱,我发给你
请登录后再发表评论!
main() { int p,r,n,m, printf(&please enter 2 numbers n,m:&); scanf(&%d,%d&,&n,&m);//输入两个正整数. if(n&m)//把大数放在n中,把小数放在m中. {temp=n; n=m; m= } p=n*m;//p是原来两个数n,m的乘积. while(m!=0)//求两个数n,m的最大公约数. { r=n%m; n=m; m=r; } printf(&its maxgongyueshu:%d\n&,n);//打印最大公约数. printf(&its mingongbeishu:%d\n&,p/n);打印最小公倍数.基本原理如下:用欧几里德算法(辗转相除法)求两个数的最大公约数的步骤如下:先用小的一个数除大的一个数,得第一个余数;再用第一个余数除小的一个数,得第二个余数;又用第二个余数除第一个余数,得第三个余数;这样逐次用后一个数去除前一个余数,直到余数是0为止。那么,最后一个除数就是所求的最大公约数(如果最后的除数是1,那么原来的两个数是互质数)。例如求的最大公约数,第一次:用600除1515,商2余315;第二次:用315除600,商1余285;第三次:用285除315,商1余30;第四次:用30除285,商9余15;第五次:用15除30,商2余0。的最大公约数是15。两个正整数的最小公倍数=两个数的乘积÷两个数的最大公约数由于两个数的乘积等于这两个数的最大公约数与最小公倍数的积。这就是说,求两个数的最小公倍数,可以先求出两个数的最大公约数,再用这两个数的最大公约数去除这两个数的积,所得的商就是两个数的最小公倍数。例 求105和42的最小公倍数。因为105和42的最大公约数是21,105和42的积是÷21=210,所以,105和42的最小公倍数是210。
请登录后再发表评论!
int a=10, b=20;int min = a & b? a:int max = a & b? a:int i = min-1;for(; i& i--){  if(min % i== 0 && max % i == 0){    //最大公约数      }}if(i == 1){ //没有}i = max+1;for(; ; i++){  if(i % min == 0 && i % max == 0){    //最小公倍数  }}
请登录后再发表评论!输入三个整数x,y,z,请把这三个数由小到大输出。 - Java面试题 - 职友集(发现中国好公司)
<meta name="description" content="public class num4
public static void main(String[] args)
输入三个整数x,y,z,请把这三个数由小到大输出。
阅读( 74 )
public class num4
public static void main(String[] args)
int a[]=new int[3];
for (int i = 0; i & a. i++) &#123;
Scanner sc=new Scanner(System.in);
a=sc.nextInt();
java.util.Arrays.sort(a);
for (int i = 0; i & a. i++) &#123;
System.out.println(&#8220;&#8221;+a);
分享给朋友:
亲~ 如果您有更好的答案 可在评论区发表您独到的见解。
您想查看更多的信息:
Java面试题目推荐
微信公众号
手机适配版

我要回帖

更多关于 c语言 取整数部分 的文章

 

随机推荐