#includeint main(int argc,char const *argv[]){int a,b;scanf("%d %d",&a,&b);printf("%d + %d = %d\n",a,b,a + b);printf("%d - %d = %d\n",a,b,a - b);printf("%d * %d = %d\n",a,b,a * b);printf("%d / %d = %d\n",a,b,a / b);return 0;
}
#includeint main(int argc,char const *argv[]){int height;int foot,inch;scanf("%d",&height);foot = height / 30.48;inch = ((height / 30.48) - foot)*12;printf("%d %d",foot,inch);return 0;
}
#includeint main(int argc,char const *argv[]){int t1,t2,t3;int h1;scanf("%d %d",&t1,&t2);t1 = (t1 / 100) * 60 + (t1 % 100);t1 += t2;h1 = (t1 / 60) * 100;t1 = h1 + (t1 % 60);printf("%d\n",t1);
}
算法思想:将时间全部转换成60进制再进行加法运算,最后按照格式输出即可
#includeint main(int argc,char const *argv[]){int x,a,b,c,result;scanf("%d",&x);a = x / 100;b = x / 10 % 10;c = x % 10;result = c * 100 + b * 10 + a;printf("%d\n",result);return 0;
}
设计思路:因为明确表面了700输出是7,所以结果一定是一个确定的值,而不是逐个输出。获取每一位的值然后乘以每一位的权重,即可得到结果。
#includeint main(int argc,char const *argv[]){int x;scanf("%d",&x);printf("%x",x);return 0;
}
思路:printf函数%d输出为十进制的整数,%x输出为十二进制的整数。
if语句:满足圆括号里面的条件,会执行大括号里面的语句,否则跳过。
1、计算两个值之间的关系,结果只有0和1。
2、关系运算符等级比算数运算符低,比赋值高
3、关系运算符之间自左向右比较,== 和 != 等级较低
else和if进行匹配,如果if不满足,程序会走向else后面大括号的代码部分。
pay.c
#includeint main(int argc,char const *argv[]){const int STANDER = 40;const double RATE = 8.25;int hours;double pay; scanf("%d",&hours);if(hours > STANDER){pay = STANDER * RATE + (hours - STANDER) * RATE * 1.5;}else{pay = hours * RATE;}printf("这周薪水为%lf\n",pay);return 0;
}
if 和 else 后面的大括号可以省略,则如果条件满足,则只会执行后面一条语句。
max.c
#includeint main(int argc,char const *argv[]){int a,b,c,max;scanf("%d %d %d",&a,&b,&c);if(a > b){max = a;if(c > max){max = c;}}else{max = b;if( c > max){max = c;}}printf("max is %d",max);return 0;
}
else只会和最近的if语句进行匹配,良好的变成习惯是if/else语句后面都加上大括号。
switch.c
#includeint main(int argc,char const *argv[]){int type;scanf("%d",&type);switch(type){case 1:printf("早上好!\n");break;case 2:printf("中午好!\n");break;case 3:printf("晚上好!\n");break;default:printf("啊?干嘛啊?\n");break;}return 0;
}
#includeint main(int argc,char const *argv[]){int grade;scanf("%d",&grade);switch(grade/10){case 10:case 9:printf("A\n");break;case 8:printf("B\n");break;case 7:printf("C\n");break;case 6:printf("D\n");break;default:printf("E\n");break;}return 0;
}
case后面只能是整数的结果,丢到case里面,如果没有遇到break会一直执行下去,所以一般case后面会用break收尾,进行分割。