对看见的一些题目的不同解法进行归纳概括。以及一些知识点。
目录
反向输出数
要求反向输出一个数字。
#include<stdio.h>
int main(){
int a,b,c,d;
scanf("%1d%1d%1d%1d",&a,&b,&c,&d);
printf("%d%d%d%d",d,c,b,a);
}
这一种解法里用了%1d来取出这个四位数字的每一个整数位,再进行重新排序输出。
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
for(int i=0;i<4;i++){
printf("%d",n%10);
n/=10;
}
return 0;
}
这一种解法里对n取除以10后的余数,之后再令n=n/10,循环下去。
n=1234 1234%10=4 1234/10=123
n=123 123%10=3 123/10=12
n=12 12%10=2 12/10=1
n=1 1%10=1 1/10=0
n=0 【上面是取余数】 【n/=10循环后继续输入到前面的n中】
这种还可以用while循环来表示:
#include<stdio.h>
int main()
{
int n;
printf("请输入可怜的n值\n");
scanf("%d", &n);
while (n != 0)
{
printf("%d", n % 10);
n = n / 10;
}
printf("\n");
return 0;
}
switch函数
switch是用来进行多分支选择的语句,一般结构是:
switch(变量表达式)
{
case xx1:
// ...
break;
case xx2
// ...
break;
default:
// ...
}
当变量表达式的内容与某个case后的常量相等后,就执行该case下的语句,break表示该case以后的内容不会执行,如果没有跟break,会继续执行当前case之后的case分支。
当变量表达式的内容没有与那个case匹配,就会执行default下的内容。
switch中常用的关键字:case 、break、 default,当然case中语句比较复杂时,可能会用if进行判断。
continue是用来结束本次循环的,而switch不是循环,因此其中不能使用continue关键字。
while循环
#include<stdio.h>
int main
{
int i = 3;
while(i--)
printf("%d\n",i);
return 0;
}
while语句满足条件就会执行,因为满足条件就执行,所以我们写的时候一定要设定一个边界值,来避免一直输出循环。(while语句判断假就会结束while循环)
就比如上面的语句循环,i一直做减法减到了0,while判断为假,因此循环结束。