【例题】找出1-100中有多少个数字含有9(10位为9或者个位为9)
算法思路:通过%取模来判断十位和个位是否为某个数
int main() {
int count = 0;
for(int i = 0;i < 100;i++)
(i%9==0)||(i/9%9==0)?count++:NULL;
printf("%d\\n", count);
return 0;
}
【例题】分数求和
计算1/1-1/2+1/3-...+1/99+1/100
算法思路:从1-100进行遍历,如果遍历次数为奇数,加到sum中。如果为偶数,从sum中减去
int main() {
float = sum 0.0f;
for(int i = 1;i <=100;i++)
sum = i%2 ? sum+(float)1/i : sum-(float)1/i;
printf("%f", sum);
return 0;
}
【例题】打印乘法口诀表
int main() {
int i = 0;
for(i = 1;i <= 9;i++) {
for(int j =1;j <= i;j++) {
printf("%d*%d=%-2d", i,j,i*j));
}
}
printf("\\n");
return 0;
}
【例题】猜数游戏
int main() {
int num = 0;
int cond = 1;
//用时间戳来设置随机数的生成起点
srand((unsigned int)time(NULL));
while (cond) {
cond = 0;
int key = rand()%100;
printf("%s\\n", "请输入数字");
int i;
for (i = 1; i <= 10; i++) {
scanf("%d", &num);
if (num == key) {
printf("猜对了");
break;
}
else if (num > key) {
printf("猜大了,还有%d次机会\\n", 10 - i);
}
else if (num < key) {
printf("猜小了,还有%d次机会\\n", 10 - i);
}
}
if (i == 10)
printf("机会用完了,答案是%d", key);
char ch1;
while (ch1 = getchar()!='\\n') {
;
}
printf("还想再玩吗?想的话按1,结束按0\\n");
char ch = getchar();
if (ch == '1')
cond = 1;
else
cond = 0;
}
return 0;
}
时间戳
时间戳:当前计算机的时间-计算机的起始时间(1970.01.01, 00:00:00)=(xxxx)秒
goto语句
goto语句:C语言中提供了可以随意滥用的goto语句和标记跳转的符号