当前位置:首页 » 编程语言 » c语言编程编程序实现如下功能
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言编程编程序实现如下功能

发布时间: 2023-08-01 19:12:25

c语言编程序实现如下功能:输入任意一个日期的年、月、日的值,求出是星期几并输出。

用蔡勒公式即可:

#include<stdio.h>

intmain()

{

inty,m,d,c,w;

printf("输入年月日(空格间隔):");

scanf("%d%d%d",&y,&m,&d);

if(m==1||m==2)

{//判断月份是否为1或2y--;m+=12;}

c=y/100;

y=y-c*100;

w=(c/4)-2*c+(y+y/4)+(13*(m+1)/5)+d-1;

while(w<0)w+=7;

w%=7;

if(w==0)printf("星期日");

elseprintf("星期%d",w);

return0;

}

方法二:

#include

void main ()

{

int y,m,d,c,s,w;

printf("请输入8位年月日,以空格隔开:");

scanf("%d%d%d",&y,&m,&d);

if (m==1) c=d;

else if (m==2) c=31 d;

else if (m==3) c=31 28 d;

else if (m==4) c=31 28 31 d;

else if (m==5) c=31 28 31 30 d;

else if (m==6) c=31 28 31 30 31 d;

else if (m==7) c=31 28 31 30 31 30 d;

else if (m==8) c=31 28 31 30 31 30 31 d;

else if (m==9) c=31 28 31 30 31 30 31 31 d;

else if (m==10) c=31 28 31 30 31 30 31 31 30 d;

else if (m==11) c=31 28 31 30 31 30 31 31 30 31 d;

else if (m==12) c=31 28 31 30 31 30 31 31 30 31 30 d;

if (m>2)

{if (y0==0) {if (y@0==0) c=c 1;}

else if (y%4==0) c=c 1;}

s=(y-1)*365 (y-1)/4-(y-1)/100 (y-1)/400 c;

w=s%7;

switch (w)

{

case 0: printf("星期日");break;

case 1: printf("星期一");break;

case 2: printf("星期二");break;

case 3: printf("星期三");break;

case 4: printf("星期四");break;

case 5: printf("星期五");break;

case 6: printf("星期六");break;

printf("
");

}

}

(1)c语言编程编程序实现如下功能扩展阅读:

C语言日期函数,日期处理函数:

定义一个表示日期的结构体类型,再分别定义函数完成下列功能:计算某一天是对应年的第几天,这一年一共多少天;计算两个日期之间相隔的天数。两个日期由键盘输入。

算法思想:

设定结构体类型表示日期类型名为 Date,利用 typedef 将其定义为日期型类型名,有三个整型类型的成员分别表示年、月、日。

设定函数计算输入的日期是这一年的第几天。函数的形参为日期型变量,函数体中设定整型数组存放每个月的天数,二月份的天数为 28 天。

设定函数判断年份是否为闰年以决定二月份的天数。根据输入的日期月份,在数组中将相应的月份天数求和,假日曰期即为天数。

设定函数完成两个日期的比较,比较形参 d 和 s 两个日期的大小。首先比较年,同年的比较月,同月的比较日。变量 start 保存输入的小的日期年份,end 保存输入日期大的年份,然后计算两个日期之间的天数。

程序由 6 个函数构成,yearday() 函数计算某年的天数,monthday() 函数计算某年二月份的天数,dayofyeaK() 函数计算某日期是某年的第几天。

cmpdate() 函数比较两个日期的大小,interday() 函数计算两个日期之间的天数。

dayofyear() 函数调用 monthday() 函数,interday() 函数调用 cmpdate() 函数。

yearday() 函数、dayofyear() 函数;主函数调用 yearday() 函数、dayofyear() 函数、interday() 函数。

⑵ 编写C语言程序实现下述功能

根据你的要求,只要将以下代码写入程序即可实现你说的功能,具体如下:

#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>

#define LIST_INIT_SIZE 20
#define LISTINCREMENT 10

struct myList
{
int elem;
int length;
int listsize;
};
int InitList(myList&L)
{
L.elem=(int*)malloc(LIST_INIT_SIZE*sizeof(int));
if(!L.elem)
{
exit(0);
}
L.length=0;
L.listsize=LIST_INIT_SIZE;
return 1;
}
int ListInsert(myList &L,int i,int x)
{
int *newbase,*p,*q;
if(i<1||i>L.length-1)
{
return -1;
}
if(L.length>=L.listsize)
{
if(!(newbase=(int*)realloc(L.elem,(LIST_INIT_SIZE+LISTINCREMENT)*sizeof(int))))
exit(0);
L.elem=newbase;
L.listsize+=LISTINCREMENT;
}
p=L.elem+i;
for(q=L.elem+L.length-1;q<=p;--q)
{
*(q+1)=*q;
}
*p=x;
++L.length;
return 1;
}
int ListDelete(myList &L,int i)
{
int *newbase,*p,*q;
if(i<1||i>L.length-1)
{
return -1;
}
if(L.length<1)
{
return -1;
}
p=L.elem+i;
for(q=p;q<=L.elem+L.length-1;++q)
{
*q=*(q+1);
}
--L.length;
return 1;
}
int main(void)
{
int n,i,x;
SqList L;
InitList(L);
printf("请输入线性表L的长度:\n");
scanf("%d",&n);
printf("请输入数据:\n");
for(i=0;i<n;i++)
{
scanf("%d",&L.elem[i]);
}
printf("顺序表的元素有:\n");
for(i=0;i<n;i++)
{
printf("%d ",L.elem[i]);
}
printf("\n");
printf("请输入插入位置i:\n");
scanf("%d",&i);
ListInsert(L,i,4);
printf("插入后的线形表:\n");
for(i=0;i<=n;i++)
{
printf("%d ",L.elem[i]);
}
printf("请输入删除位置i:\n");
scanf("%d",&i);
ListInsert(L,i);
printf("删除后的线形表:\n");
for(i=0;i<=n;i++)
{
printf("%d ",L.elem[i]);
}
return 0;
}

⑶ C语言编写一个程序,实现如下功能:从键盘输入一个三位数,求各位数字之和.简单点!!!

#include"stdio.h"

voidmain()

{

intn,sum=0;

printf("请输入一个三位数:");

scanf("%d",&n);

sum=n/100+n%100/10+n%10;//百位数+十位数+个位数

printf("这个三位数各位数字之和是%d ",sum);

}

结果: