#include <stdio.h>
//输入三个整数x,y,z,请把这三个数由小到大输出。
//利用冒泡排序
int main(int argc, char *argv[]) {
int x,y,z;
int arr[3];
int i,j;
int t=0;
printf("\n请输入三个数字:\n");
scanf("%d%d%d",&x,&y,&z);
arr[0] = x;
arr[1] = y;
arr[2] = z;
//获取数组长度 这里完全没必要这样做,只是好奇怎么获取c的数组长度
int len = sizeof(arr)/sizeof(arr[0]);
for(i=0;i<len;i++){
for(j=i+1;j<len;j++){
if(arr[i] > arr[j]){
t = arr[i];
arr[i] = arr[j];
arr[j] = t;
}
}
}
printf("从小到大排序: \n");
for(i=0;i<len;i++){
printf("%d\n",arr[i]);
}
}
1653c-exercise-example4
参考方法:
#include<stdio.h>
//某月的天数
int getMonthDay(int month)
{
int day = 0;
switch(month){
case 2:
day = 28;
break;
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
day = 31;
break;
case 4:
case 6:
case 9:
case 11:
day = 30;
break;
}
return day;
}
//是否闰年
int isleap(int year)
{
if ( (year%4==0 && year%100!=0) || (year%400==0) ){
return 1;
}
return 0;
}
int main()
{
int year, month, day;
printf("请输入年月日(2019-5-1):\n");
scanf("%d-%d-%d", &year, &month, &day);
int days = day, m;
for(m=1; m<month; m++){
days += getMonthDay(m);
}
if (isleap(year)==1){
days += 1;
}
printf("%d-%d-%d是这一年的第%d天", year, month, day, days);
return 0;
}
1652c-exercise-example4
参考方法:
#include<stdio.h>
int IsLeap(int year)
{
if((year%4==0&&year%100!=0)||(year%400==0))
return 1;
else
return 0;
}
int main(void)
{
int monthday[2][13] = {{0,31,28,31,30,31,30,31,31,30,31,30,31},
{0,31,29,31,30,31,30,31,31,30,31,30,31}};
int year,month,day;
int sum = 0;
printf("请输入年、月、日,格式为:年,月,日(2015,12,10)\n");
scanf("%d,%d,%d",&year,&month,&day);
if(IsLeap(year))
{
for(int i = 0; i < month; i++)
{
sum += monthday[1][i];
}
}
else
{
for(int i = 0; i < month; i++)
{
sum += monthday[0][i];
}
}
sum += day;
printf("这是这一年的第 %d 天。",sum);
return 0;
}
1651c-exercise-example4
参考方法:
#include <stdio.h>
int main(){
int year,month,day;
// 一、 二、 三、 四、 五、六 、七、八、九、十、十一、十二
int monthOfDayNumber[] = {31, 28, 31, 30, 31, 30,31,31,30,31,30,31};
printf("\n请输入年、月、日,格式为:年,月,日(2015,12,10)\n");
scanf("%d,%d,%d",&year,&month,&day); // 格式为:2015,12,10
int sum=0,leap=0;
if(year%400==0||(year%4==0&&year%100!=0)){
leap = 1;
}
if(month>=3){
printf("闰年: %d\n",leap);
sum = sum + leap;
}
for(;month-2>=0;month--){
sum += monthOfDayNumber[month-2];
}
sum += day;
printf("此日期是%d年的第%d天\n",year,sum);
return 0;
}
1655c-exercise-example5
参考实例:
#include <stdio.h> int main(void) { int x,y,z; printf("输入三个数字(例如:1,2,3)\n"); scanf("%d,%d,%d",&x,&y,&z); if(x>y&&y>z) printf("%d,%d,%d",z,y,x); if(x>z&&z>y) printf("%d,%d,%d",y,z,x); if(y>x&&x>z) printf("%d,%d,%d",z,x,y); if(y>z&&z>x) printf("%d,%d,%d",x,z,y); if(z>x&&x>y) printf("%d,%d,%d",y,x,z); if(z>y&&y>x) printf("%d,%d,%d",x,y,z); return 0; }1654c-exercise-example5
参考方法:
#include <stdio.h> //输入三个整数x,y,z,请把这三个数由小到大输出。 //利用冒泡排序 int main(int argc, char *argv[]) { int x,y,z; int arr[3]; int i,j; int t=0; printf("\n请输入三个数字:\n"); scanf("%d%d%d",&x,&y,&z); arr[0] = x; arr[1] = y; arr[2] = z; //获取数组长度 这里完全没必要这样做,只是好奇怎么获取c的数组长度 int len = sizeof(arr)/sizeof(arr[0]); for(i=0;i<len;i++){ for(j=i+1;j<len;j++){ if(arr[i] > arr[j]){ t = arr[i]; arr[i] = arr[j]; arr[j] = t; } } } printf("从小到大排序: \n"); for(i=0;i<len;i++){ printf("%d\n",arr[i]); } }1653c-exercise-example4
参考方法:
#include<stdio.h> //某月的天数 int getMonthDay(int month) { int day = 0; switch(month){ case 2: day = 28; break; case 1: case 3: case 5: case 7: case 8: case 10: case 12: day = 31; break; case 4: case 6: case 9: case 11: day = 30; break; } return day; } //是否闰年 int isleap(int year) { if ( (year%4==0 && year%100!=0) || (year%400==0) ){ return 1; } return 0; } int main() { int year, month, day; printf("请输入年月日(2019-5-1):\n"); scanf("%d-%d-%d", &year, &month, &day); int days = day, m; for(m=1; m<month; m++){ days += getMonthDay(m); } if (isleap(year)==1){ days += 1; } printf("%d-%d-%d是这一年的第%d天", year, month, day, days); return 0; }1652c-exercise-example4
参考方法:
#include<stdio.h> int IsLeap(int year) { if((year%4==0&&year%100!=0)||(year%400==0)) return 1; else return 0; } int main(void) { int monthday[2][13] = {{0,31,28,31,30,31,30,31,31,30,31,30,31}, {0,31,29,31,30,31,30,31,31,30,31,30,31}}; int year,month,day; int sum = 0; printf("请输入年、月、日,格式为:年,月,日(2015,12,10)\n"); scanf("%d,%d,%d",&year,&month,&day); if(IsLeap(year)) { for(int i = 0; i < month; i++) { sum += monthday[1][i]; } } else { for(int i = 0; i < month; i++) { sum += monthday[0][i]; } } sum += day; printf("这是这一年的第 %d 天。",sum); return 0; }1651c-exercise-example4
参考方法:
#include <stdio.h> int main(){ int year,month,day; // 一、 二、 三、 四、 五、六 、七、八、九、十、十一、十二 int monthOfDayNumber[] = {31, 28, 31, 30, 31, 30,31,31,30,31,30,31}; printf("\n请输入年、月、日,格式为:年,月,日(2015,12,10)\n"); scanf("%d,%d,%d",&year,&month,&day); // 格式为:2015,12,10 int sum=0,leap=0; if(year%400==0||(year%4==0&&year%100!=0)){ leap = 1; } if(month>=3){ printf("闰年: %d\n",leap); sum = sum + leap; } for(;month-2>=0;month--){ sum += monthOfDayNumber[month-2]; } sum += day; printf("此日期是%d年的第%d天\n",year,sum); return 0; }