朋友以开玩笑的方式戳你伤疤,家人以对你好的名义限制你,爱你的人以不想耽误你离你而去,唯独陌生人安慰你。。。
---- 网易云热评
一、if语句
1、判断正负数
#include <stdio.h>
int main() {
int val = 0;
printf("请输入一个数字:");
scanf("%d", &val);
/*if (val >= 0) {
printf("非负数\n");
}
else {
printf("负数\n");
}*/
/*
* val > 0 * 显示正数
****************************
* val < 0 * 显示负数
****************************
* !val * 显示零
* */
if (val > 0) {
printf("正数\n");
}
else if (val < 0) {
printf("负数\n");
}
else {
printf("零\n");
}
return 0;
}
2、判断奇偶数
#include <stdio.h>
int main() {
int val = 0;
printf("请输入一个数字:");
scanf("%d", &val);
/*
* val < 0 * 显示负数
****************************************
* val >= 0 && (val & 1) * 显示奇数
****************************************
* val >= 0 && !(val & 1) * 显示偶数
* */
if (val < 0) {
printf("负数\n");
}
else if (val & 1) {
printf("奇数\n");
}
else if (!(val & 1)) {
printf("偶数\n");
}
return 0;
}
3、判断最小数
#include <stdio.h>
int main() {
int val = 0, val1 = 0, val2 = 0;
printf("请输入三个数字:");
scanf("%d%d%d", &val, &val1, &val2);
if (val > val1) {
if (val1 > val2) {
printf("最小数字是%d\n", val2);
}
else {
printf("最小数字是%d\n", val1);
}
}
else {
if (val > val2) {
printf("最小数字是%d\n", val2);
}
else {
printf("最小数字是%d\n", val);
}
}
return 0;
}
4、判断年月日
int main() {
int year = 0, month = 0;
printf("请输入年和月:");
scanf("%d%d", &year, &month);
/*
* 1,3,5,7,8,10,12 * 显示31天
************************************
* 4,6,9,11 * 显示30天
************************************
* 2 * 区分平年和闰年
* */
if (month == 1 || month == 3 ||
month == 5 || month == 7 ||
month == 8 || month == 10 ||
month == 12) {
printf("一共有31天\n");
}
else if (month == 4 || month == 6 ||
month == 9 || month == 11) {
printf("一共有30天\n");
}
else if (month == 2) {
/*
* 闰年 * 显示29天
*********************************
* 平年 * 显示28天
* */
if ((!(year & 3)/*后两个二进制数位的内容都是0*/ && (year % 100)) || !(year % 400)) {
printf("一共有29天\n");
}
else {
printf("一共有28天\n");
}
}
return 0;
}
二、switch语句
#include <stdio.h>
int main() {
int season = 0;
printf("请输入代表季节的数字:");
scanf("%d", &season);
//计算机用小括号里的数字和大括号里
//列举出的每个数字依次做对比,如果
//和某个数字相等就执行这个数字后面
//的语句
switch (season) {
case 0:
printf("春天\n");
break;
case 1:
printf("夏天\n");
break;
case 2:
printf("秋天\n");
break;
case 3:
printf("冬天\n");
break;
default:
printf("不认识的数字\n");
break;
}
return 0;
}
三、for循环
#include <stdio.h>
int main() {
int num = 0; //循环变量
for (num = 1/*开始数字*/;num <= 5/*循环变量和结束数字之间的关系*/;num++/*每次循环变量的变化规律*/) {
printf("%d ", num);
}
printf("\n");
return 0;
}
运行结果:
1 2 3 4 5
#include <stdio.h>
int main() {
int min = 0, max = 0, num = 0, sum = 0;
printf("请输入两个数字:");
scanf("%d%d", &min, &max);
//调整两个变量的内容,让max里的数字大,
//min里的数字小
if (max < min) {
//负责处理max变量内容小的情况
//只需要把max和min的内容交换一下就可以了
min ^= max;
max ^= min;
min ^= max;
}
for (num = min;num <= max;num++) {
//循环变量从小到大依次代表min和max
//之间的所有数字
sum += num; //把循环变量代表的每个数字加到sum变量里去
}
printf("求和结果是%d\n", sum);
return 0;
}
运行结果:
请输入两个数字:15 13
求和结果是42
鸡兔同笼,一共有40个头,100条腿
#include <stdio.h>
int main() {
int num = 0;
for (num = 0;num <= 40;num++) {
//把0到40之间的每个数字作为兔子
//的数量测试一遍
if (4 * num + 2 * (40 - num) == 100) {
//循环变量num就是兔子的数量
printf("兔子有%d只,鸡有%d只\n", num, 40 - num);
break;
}
}
printf("num是%d\n", num);
return 0;
}
for嵌套语句
#include <stdio.h>
int main() {
int num = 0, num1 = 0;
for (num = 1;num <= 5;num++) { //循环变量代表每行的行号
for (num1 = 5;num1 >= num;num1--) { //循环变量代表每次要显示的数字
printf("%d", num1);
}
printf("\n"); //每次行号变化之前显示换行
}
return 0;
}
运行结果:
54321
5432
543
54
5
四、continue语句,结束本次循环,继续下次循环
#include <stdio.h>
int main() {
int num = 0;
for (num = 1;num <= 5;num++) {
printf("%d\n", num);
if (num == 3) {
continue;
}
printf("%d\n", 10 + num);
}
return 0;
}
五、随机数
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
srand(time(0));
printf("%d\n", rand());
printf("%d\n", rand());
printf("%d\n", rand());
return 0;
}
六、while循环
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int val = 0, guess = 0;
srand(time(0));
//val = rand() % 100;
while (val != guess/*没猜对的时候应该继续猜*/) {
printf("请猜一个数字:");
scanf("%d", &guess);
if (guess > val) {
printf("猜大了\n");
}
else if (guess < val) {
printf("猜小了\n");
}
else {
printf("猜对了\n");
}
}
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int val = 0, guess = 0;
srand(time(0));
//val = rand() % 100;
do {
printf("请猜一个数字:");
scanf("%d", &guess);
if (guess > val) {
printf("猜大了\n");
}
else if (guess < val) {
printf("猜小了\n");
}
else {
printf("猜对了\n");
}
} while (val != guess);
return 0;
}
求公约数
#include <stdio.h>
int main() {
int val = 0, val1 = 0, tmp = 0;
printf("请输入两个数字:");
scanf("%d%d", &val, &val1);
while (val % val1/*余数不是0表示两个数字之间没有整数倍关系*/) {
tmp = val % val1; //计算两个数字之间的余数并记录下来
val = val1; //把比较大的数字换成原来比较小的数字
val1 = tmp; //把比较小的数字换成余数
}
printf("最大公约数是%d\n", val1);
return 0;
}
欢迎关注公众号:顺便编点程