1.
B13
2.从终端输入一个日期
scanf ("% d -% d -% d "; year , mon , day ),判断这是这一年的第几天
提示:判断闰年还是平年,闰年且闰年二月份以上比平年多一天。
#include<stdio.h>
int main(){
int y,m,d,sum=0;
scanf("%d-%d-%d",&y,&m,&d);
switch (m)
{
case 12:
sum+=31;
break;
case 11:
sum+=30;
break;
case 10:
sum+=31;
break;
case 9:
sum+=30;
break;
case 8:
sum+=31;
break;
case 7:
sum+=31;
break;
case 6:
sum+=30;
break;
case 5:
sum+=31;
break;
case 4:
sum+=31;
break;
case 3:
sum+=28;
break;
case 2:
sum+=31;
break;
case 1:
sum+=0;
break;
default:
break;
}
sum+=d;
if(y%4==0&&m>2)
sum++;
printf("%d\n",sum);
return 0;
}
/* crtl shitf a 双斜线注释 */
#include <stdio.h>
int main() {
int year, month,day;
int date=0;
int days[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
printf("请输入日期:");
scanf("%d -%d -%d", &year, &month, &day);
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
days[2]=29;
}
for(int i=1;i<month;i++){
date+=days[i];
}
printf("%d",date+day);
return 0;
}
3.写程序实现功能:读入两个整数(data1和data2)和一个运算符(op),计算表达式data1 op data2 的值.其中op可以为+、-、*、/四个符号中的任一种(用switch语句实现)
#include<stdio.h>
int main(){
int data1,data2;
char op;
scanf("%d %d %c",&data1,&data2,&op);
switch (op)
{
case 43:
printf("%d",data1+data2);
break;
case 47:
printf("%d",data1/data2);
break;
case 42:
printf("%d",data1*data2);
break;
case 45:
printf("%d",data1-data2);
break;
default:
printf("error");
break;
}
}
4.从终端输入3个整数;从大到小排序
#include <stdio.h>
int main(){
int a,b,c,d=0;
scanf("%d %d %d",&a,&b,&c);
if(a<b)
{
/*
^:异或 相同为0,不同为1
a=5,b=6;
101 110
a=11;
b=11^110=101;
a=11^101=110;
a=6,b=5
*/
a=a^b;
b=a^b;
a=a^b;
}
if(a<c){
a=a^c;
c=a^c;
a=a^c;
}
if(b<c){
b=b^c;
c=b^c;
b=b^c;
}
printf("%d %d %d",a,b,c);
return 0;
}
#include <stdio.h>
int main() {
int a, b, c;
int max, min, middle;
printf("请输入三个整数:");
scanf("%d %d %d", &a, &b, &c);
// 找出最大值
max = (a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c);
// 找出最小值
min = (a < b) ? ((a < c) ? a : c) : ((b < c) ? b : c);
// 找出中间值
if ((a >= b && a <= c) || (a <= b && a >= c)) {
middle = a;
} else if ((b >= a && b <= c) || (b <= a && b >= c)) {
middle = b;
} else {
middle = c;
}
printf("最大值是%d\n", max);
printf("最小值是%d\n", min);
printf("中间值是%d\n", middle);
return 0;
}