资源描述:
《大学java经典程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、【程序1】由计算机产生一个正整数n,按以下要求输出结果。⑴能被3、5、7整除,输出n的值和“是”,否则输出n的值和“不能”。⑵能被3、5、7中的任意两个数整除,输出n的值和这两个数。⑶能被3、5、7中的任意一个数整除,输出n的值和这个数。1.程序分析:intn=(int)(Math.random()*100); 2.程序源代码:importjava.lang.math.*;publicclassxt1{publicstaticvoidmain(String[]args){intn,a=3,b=5,c=7;l:printf("请输入n的值:");scanf("%d",&n
2、);if(n!=0){if(n%105==0)/*if(n%3==0&&n%5==0&&n%7==0);*/printf("%d能被3、5、7整除",n);elseif(n%15==0)printf("%d能被3、5整除",n);elseif(n%21==0)printf("%d能被3、7整除",n);elseif(n%35==0)printf("%d能被5、7整除",n);elseif(n%3==0)printf("%d能被3整除",n);elseif(n%5==0)printf("%d能被5整除",n);elseif(n%7==0)printf("%d
3、能被7整除",n);elseprintf("%d不能被3、5、7整除",n);gotol;}}==============================================================【程序2】题目:输入某年某月某日,判断这一天是这一年的第几天?1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊 情况,闰年且输入月份大于3时需考虑多加一天。2.程序源代码:#include"stdio.h"#include"conio.h"main(){ intday,month,year,sum,leap;
4、printf("pleaseinputyear,month,day"); scanf("%d,%d,%d",&year,&month,&day); switch(month)/*先计算某月以前月份的总天数*/ { case1:sum=0;break; case2:sum=31;break; case3:sum=59;break; case4:sum=90;break; case5:sum=120;break; case6:sum=151;break; case7:sum=181;break; case8:sum=212;break;
5、 case9:sum=243;break; case10:sum=273;break; case11:sum=304;break; case12:sum=334;break; default:printf("dataerror");break; } sum=sum+day;/*再加上某天的天数*/ if(year%400==0
6、
7、(year%4==0&&year%100!=0))/*判断是不是闰年*/ leap=1; else leap=0; if(leap==1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/ sum++;
8、 printf("Itisthe%dthday.",sum); getch();}==============================================================【程序3】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。2.程序源代码:#include"stdio.h"#include"conio.h"main(){ inti,j,k; printf(""); for(i=1;i<5
9、;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",i,j,k); } getch();}==============================================================【程序3】题目