c语言简单编程大虾们帮忙啊 !
发布网友
发布时间:2022-04-21 00:09
我来回答
共2个回答
热心网友
时间:2023-10-26 23:51
#include<stdio.h>
void main(){
int year,month,day,sum,leap;
printf("prease imput year month day");
scanf("%d%d%d",&year,&month,&day);
switch(month){
case 1 :sum=0+day;break;
case 2 :sum=31+day;break;
case 3 :sum=59+day;break;
case 4 :sum=90+day;break;
case 5 :sum=120+day;break;
case 6 :sum=151+day;break;
case 7 :sum=181+day;break;
case 8 :sum=212+day;break;
case 9 :sum=243+day;break;
case 10 :sum=273+day;break;
case 11 :sum=304+day;break;
case 12 :sum=334+day;break;
default:printf("输入错误\n");break;
}
if((year%4==0&&year%100!=0)||(year%400==0))
leap=1;
else leap=0;
if(leap==1&&month>2) sum++;
printf("该天为第%d天\n",sum);}
其实这个问题我知道的还有一种写法 更简单一下 那就是把每一个月的天数设置为一个数组的值 相应的下标加一就是月数 一并附上
#include<iostream>
using namespace std;
void main()
{
int a[12] = {0,31,59,90,120,151,181,212,243,273,304,334};
int i,b[12] = {0,31,60,91,121,152,182,213,244,274,305,335},year,month,day,allday;
cout<<"please input year,month,day : ";
cin>>year>>month>>day;
if(year%400==0||(year%4==0&&year%100!=0))
{
for(i = 0;i<12;i++)
{
if(month == i+1) allday = b[i] + day;
}
cout<<year<<"年"<<"第"<<allday<<"天"<<endl;
}
else
{
for(i = 0;i<12;i++)
{
if(month == i+1) allday = a[i] + day;
break;
}
cout<<year<<"年"<<"第"<<allday<<"天"<<endl;
}
}
热心网友
时间:2023-10-26 23:51
#include"stdio.h"
#include"string.h"
typedef struct
{
int year;
int month;
int day;
}MyDate;
int GetAbsDays(MyDate x)
{
int i;
int month_day[] = {31,28,31,30,31,30,31,31,30,31,30,31};
int year = x.year-1; // 因为欲求距离1年1月1日的距离
int days = year * 365 + year/4 - year/100 + year/400;
if(x.year%4==0 && x.year%100!=0 || x.year%400==0) month_day[1]++;
for(i=0; i<x.month-1; i++)
days += month_day[i];
days += x.day-1;
return days;
}
int GetDiffDays(MyDate a, MyDate b)
{
return GetAbsDays(b) - GetAbsDays(a);
}
int main(int argc, char* argv[])
{
MyDate a = {1,1,1};
MyDate b ;
char Data[8][15]={"星期一","星期二","星期三","星期四","星期五","星期六","星期日",};
scanf("%d%d%d",&b.year,&b.month,&b.day);
int n = GetDiffDays(a,b);
puts(Data[n%7]);
printf("与元年一月一日 相差%d天\n", n);
}
大虾们帮小弟看看这个简单的C程序哪里不对
首先要给你指出两点编程的建议:第一,最好使用宏定义#define,这样改起来很方便。比如设计的是20人,突然需要弄30人或50人了,你要没有宏定义的话,改起来会很麻烦。第二,代码不要太抽搐,不要太紧凑。要控制换行和缩进,这样自己检查代码的时候也容易发现错误。你的最小值(y)的初值应该设成一个...
C语言的大虾们,帮我看看这段程序到底出现了什么错误?为什么总是编译时ex...
include<stdio.h> int main(){ int x,sign;printf("请输入一个整数:");scanf("%d",&x);if(x<0)sign=1 printf("x为%d时,符号为%d",x,sign);else if(x>0){ //这里有{ sign=1; //这里必须要;printf("x为%d时,符号为%d",x,sign);} //这里有} else sign=0;printf...
本人c语言初学者麻烦大虾们帮忙解释一下下面C语言中f=%.2f\n是什么意...
n表示小数点后面的有效数字,是用来控制输出小数点后面的第几位数字的
帮忙解决这个程序,谢谢大虾们!!! 关键词:指针 C语言
define M 20 void main(){ int i,x[M],n,m,*p,*k,*j;printf("\nEnter n:");scanf("%d",&n); //scanf("%d",&n);printf("\nEnter array x[i](i=0~n):");for(i=0;i<n;i++)scanf("%d",(x+i));printf("\n");m=n/2;k=x;j=x+n-1; //j=x+n-1 p=x...
c语言的大虾们,看看这段程序出现了什么错误?为什么编译时出现expected...
sign 赋值的时候没有加 ;结尾 第二,你的if后面是一个复合语句,所以要加大括号
老师布置编程的作业,大虾们帮帮忙吧
首先说这里是C#的专区,楼主提C++的。。。再说做法,网上有很多类似示波器的组件,楼主可以download一个安装上,然后调整X(较小,假设为0.001)的值,改变后计算出Y值,传给示波器组件XY的坐标值,显示出来就好了。后面那个同理
高分!!问一个C语言的编程问题~ 判断一个数n能否同时被3和5整除~谢谢...
include <stdio.h> void main(){ int n;printf("please input the data:\n");scanf("%d",&n);if(n%3==0&&n%5==0)printf("the %d can be divided by 3 and 5",n);else printf("the %d cannot be divided by 3 and 5",n);return 0;} ...
...然后把这个数除以再除以一个数,该怎样设计程序,请C语言大虾们...
举个例子吧,也许有点帮助。被除数 int d[5] = {1,2,3,4,5}; // 表示 d = 12345 除数 int x[2] = {6,7}; // 同样 x = 67 商 int q[5] = {0}; // 初始化 余数 int r[2] = {0}; // 初始化 当前值 int c[3] = {0}; //初始化 (1) 更新 c[3] ...
大虾们帮忙啊~~求一C++小程序,急急!!
include<iostream> include<string> using namespace std;void encrypt(string &s)//加密 { int i=s.length();for(int j=0;j<i;++j){ if('A'<=s[j]&&s[j]<='Z'){ if('A'<=s[j]&&s[j]<='W')s[j]+=3;else s[j]-=23;//cout<<s[j];s[j]+=32;//cout<<s[j...
我是一个小白 想要学习电脑编程 大虾们介绍几本关于编程和软件开发的书...
都说编程要从C语言来学,是什么基础之类的...我学了这么长时间,感觉C语言你完全可以不必管它,C++的确强大,特别是对硬件的控制,你想编驱动程序或芯片的话就学这个吧;但是你若是只想编应用程序,网络程序什么的,可以直接学C#,容易学,而且很方便快捷,或者你也可以学JAVA,强大和方便兼顾,不过...