// KCSJcpp : Defines the entry point for the console application
//
#include "stdafxh"
#include <iostreamh>
#include <stdioh>
void ProcessDate();
void ProcessFactor();
void SortMp();
void SortCr();
int getYearWeekDay(int y);
int getYearDays(int y);
int isLeap(int y);
int getMonthWeekDay(int y,int m);
int getMonthDays(int y,int m);
int count=0;
int main(int argc, char argv[])
{
while (true)
{
int ch;
cout<<"12012年元旦是星期日,输入一个日期,输出该日期对应的星期X。"<<endl<<"2输入一个整数,找出该整数的全部因子。"<<endl<<"3输入10个整数,用冒泡法对数组元素进行排序。"<<endl<<"4输入10个整数,用直接插入法对数组元素进行排序。"<<endl;
cin>>ch;
switch (ch)
{
case 1:
ProcessDate();
break;
case 2:
ProcessFactor();
break;
case 3:
SortMp();
break;
case 4:
SortCr();
break;
default:
cout<<"未知命令参数,请重新输入"<<endl;
}
}
return 0;
}
void ProcessDate()
{
int year,month,day;
printf("input year:");
scanf("%d",&year);
printf("input month:");
scanf("%d",&month);
printf("input day:");
scanf("%d",&day);
int n=getMonthWeekDay(year,month);
printf("%d:%d:%d ",year,month,day);
int i=(day+n-1)%7;
switch(i)
{
case 0:
printf("星期日\n");
break;
case 1:
printf("星期一\n");
break;
case 2:
printf("星期二\n");
break;
case 3:
printf("星期三\n");
break;
case 4:
printf("星期四\n");
break;
case 5:
printf("星期五\n");
break;
case 6:
printf("星期六\n");
break;
}
}
void ProcessFactor()
{
int n;
cout<<"请输入一个整数:";
cin>>n;
cout<<n<<"的因数如下:"<<endl;
for (int i=1;i<=n;i++)
{
if (n%i==0)
{
cout<<i<<" "<<endl;
}
}
}
void SortMp()
{
int a[11];
int i,j,t,k;
printf("请输入10个数\n");
for(k=1;k<11;k++)
scanf("%d",&a[k]);
for(j=1;j<=9;j++)
for(i=1;i<=10-j;i++)
{
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
}
printf("\n冒泡排序结果:");
for(int n=1;n<11;n++)
printf("%d",a[n]);
printf("\n");
}
void SortCr()
{
int arr[11];
int i,j,temp;
printf("请输入10个数\n");
for(int k=1;k<11;k++)
scanf("%d",&arr[k]);
for(i=1;i<11;i++)//数组分两个部分,从第二个数组元素开始
{
temp=arr[i];//操作当前元素,先保存在其它变量中
for(j=i-1;j>-1&&arr[j]>temp;j--)//从当前元素的上一个元素开始查找合适的位置,一直查找到首元素
{
arr[i]=arr[j];
arr[j]=temp;
}
}
printf("\n插入排序结果:");
for(int n=1;n<11;n++)
printf("%d",arr[n]);
printf("\n");
}
//计算Y年的第一天 以1900年作为参考,其第一天是星期1
//参数y表示年份
//返回y年第一天的星期
int getYearWeekDay(int y){
int sum=0;
int i;
if(y>=1900){
for(i=1900;i<y;i++){
sum+=getYearDays(i);
}
return (sum+1)%7;
}
else{
for(i=y;i<1900;i++){
sum+=getYearDays(i);
}
return (-sum%7+1)%7;
}
}
//计算y年的天数
//参数y:给定的年
//返回y年的天数
int getYearDays(int y){
return isLeap(y)366:365;
}
//计算y年是否为闰年
//参数y:给定的年
//返回1:闰年;返回0:平年
int isLeap(int y){
return y%4==0&&y%100!=0||y%400==0 ;
}
//计算y年m月的第一天的星期
//参数y:给定的年 参数m给定的月
//返回y年m月的第一天的星期
int getMonthWeekDay(int y,int m){
int sum=0;
int i;
for(i=1;i<m;i++){
sum+=getMonthDays(y,i);
}
return (getYearWeekDay(y)+sum)%7;
}
//计算y年m月的天数
//参数y:给定的年;参数m:给定的月
//返回y年m月的天数
int getMonthDays(int y,int m){
switch(m){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return 31;
case 4:
case 6:
case 9:
case 11:
return 30;
case 2:
return isLeap(y)29:28;
default :
return 0;
}
}
浪漫表白效果:
开发环境:Visual Studio 2019 + EasyX图形库插件即可
源码展示:
以上就是我们表白程序的源码了!最后祝大家都能和喜欢的人在一起哦~
我的C/C++编程学习基地,点击正在跳转「链接」即可加入,欢迎有问题的小伙伴一起进来学习交流嗷~
#include <stdioh>
int main(void)
{
float a,x,y;
for(y=15f; y>-15f; y-=01f)
{
for(x=-15f; x<15f; x+=005f)
{
a = xx+yy-1;
char ch = aaa-xxyyy<=00f'':' ';
putchar(ch);
}
printf("\n");
}
return 0;
}
扩展资料:
书写规则
1、一个说明或一个语句占一行。
2、用{} 括起来的部分,通常表示了程序的某一层次结构。{}一般与该结构语句的第一个字母对齐,并单独占一行。
3、低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。在编程时应力求遵循这些规则,以养成良好的编程风格。
参考资料:
-c语言
欢迎分享,转载请注明来源:表白网
评论列表(0条)