- 编写一个程序,输入a、b、c三个值,输出其中最大值。
Input
一行数组,分别为a b c
Output
a b c其中最大的数 保留2位小数
Sample Input
10 20 30
Sample Output
30.00
#include <stdio.h>
int main(int argc, const char * argv[]) {
int a,b,c,temp;
scanf("%d %d %d",&a,&b,&c);
if(a<b){
temp=a;
a=b;
b=temp;
}
if(a<c){
temp=a;
a=c;
c=temp;
}
if(b<c){
temp=b;
b=c;
c=temp;
}
printf("%.2lf",(double)a);
return 0;
}
错因:比较次序必须为a<b,a<c,b<c.
- 输入一个年份,判断一个年份是否为闰年
Input
一个正整数,比如 2008
Output
一个字母 “y” 或者 “n” (引号不输出)
Sample Input
2008
Sample Output
y
#include <stdio.h>
int main(){
int year;
scanf("%d",&year);
if(year%400==0){
printf("y");
}
else{
if(year%4==0&&year%100!=0){
printf("y");
}
else{
printf("n");
}
}
}
错因:闰年说四年一闰,百年不闰,四百年再闰。
#define X 5
#define Y X+1
#define Z Y*X/2
则执行以下语句后,输出结果是_______.
int a;a=Y;
printf("%d\n",Z);
printf("%d\n",--a);
因为#define A B 相当于在编辑器中做字符串替换,所以Z 将被替换为 Y*X/2,而Y又会被替换为X+1,因此, Z被替换为X+1*X/2. 而X被替换为5, 所以a=Y=5+1. Z则=5+1*5/2=5+2=7;
故本题答案:
7
5
- 火柴游戏设计
规则如下:一共30根火柴,由甲、乙两人依次取火柴,每次可以至少取1根,至多取2根,谁抢到最后一根就胜出。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int argc, const char * argv[]) {
srand((unsigned)time(NULL));
int Firstman,evenum,TotalNum=5,computerGet;
printf("你希望谁先取火柴?你(1),电脑(0)");
do{
scanf("%d",&Firstman);
}while (Firstman!=1&&Firstman!=0);
while (1) {
if (1==Firstman) {
do{
printf("还剩%d根火柴,你想取几根火柴?",TotalNum);
scanf("%d",&evenum);
}while (evenum<0||evenum>2||TotalNum<evenum);
TotalNum=TotalNum-evenum;
if (TotalNum==0) {
printf("你赢了!");
break;
}
if (TotalNum%3==0) {
computerGet=rand()%2+1;
}
else{
computerGet=TotalNum%3;
}
TotalNum=TotalNum-computerGet;
printf("电脑拿了%d根",computerGet);
if (TotalNum==0) {
printf("电脑赢了!");
break;
}
}
//电脑先拿
else{
if (TotalNum%3==0) {
computerGet=rand()%2+1;
}
else{
computerGet=TotalNum%3;
}
TotalNum=TotalNum-computerGet;
printf("电脑拿了%d根",computerGet);
if (TotalNum==0) {
printf("电脑赢了!");
break;
}
do{
printf("还剩%d根火柴,你想取几根火柴?",TotalNum);
scanf("%d",&evenum);
}while (evenum<0||evenum>2||TotalNum<evenum);
TotalNum=TotalNum-evenum;
if (TotalNum==0) {
printf("你赢了!");
break;
}
}
}
return 0;
}
错因:1.怎样才能胜利?先取到3的倍数的火柴会胜利
2.谁先取?
3.电脑取的时候,什么时候取一根,什么时候取两根。