逻辑计算和条件判断
第一个程序——Hello World!
int main()
{
printf("Hello world!\n");
return 0;
}
实现简单计算
- 基本加法计算
int main()
{
printf("11+22=%d",11+22);
return 0;
}
- 变量的赋值与输入 常变量定义
void main()
{
const int amount = 100;
int price = 0;
printf("请输入金额(元):");
scanf("%d",&price);
int change = amount - price;
printf("找您%d元,欢迎下次光临!\n",change);
}
- scanf 输入双变量
void main()
{
int a,b;
printf("请输入两个整数:");
scanf("%d %d",&a,&b);
printf("%d + %d = %d",a,b,a+b);
}
- 浮点型变量
void main()
{
printf("请分别输入身高的英尺和英寸,""如输入\"5 7\"表示五英尺七英寸:");
double foot,inch;
scanf("%lf %lf",&foot,&inch);
printf("身高是%f米。\n",((foot + inch / 12)*0.3048));
}
- 计算时间差
方法一
void main()
{
int hour1,minute1;
int hour2,minute2;
scanf("%d %d",&hour1,&minute1);
scanf("%d %d",&hour2,&minute2);
int t1 = hour1*60 + minute1;
int t2 = hour2*60 + minute2;
//全部换算为分钟数作差
int t = t2 - t1;
//取整数位为小时 余数为分钟
printf("时间差是%d小时%d分钟。",t/60,t%60);
}
方法二
void main()
{
int hour1,minute1;
int hour2,minute2;
scanf("%d %d",&hour1,&minute1);
scanf("%d %d",&hour2,&minute2);
int ih = hour2 - hour1;
int im = minute2 - minute1;
//进行判断 若分钟数<0 对小时数减1 分钟数加60
if(im<0)
{
im = im + 60;
ih --;
}
printf("时差是%d小时%d分钟。\n",ih,im);
}
- 交换变量值
void main()
{
int a = 5,b = 6;
int temp;
temp = a;
a = b;
b = temp;
printf("%d %d",a,b);
}
- 倒序输出三位数
题目:程序每次读入一个正三位数,然后输出逆序的数字。注意,当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。
提示:对一个三位数数x,做x%10可以得到它的个位数,做x/100可以得到它的百位数,十位数则通过/和%两个运算的结合可以得到。
方法一:巧妙运用scanf函数
void main()
{
int i,j,k;
printf("请输入一个三位数:");
scanf("%1d%1d%1d",&i,&j,&k); //%1d 表示每次只读取一位数字。
printf("倒序输出该三位数:%d%d%d\n",k,j,i);
}
方法二
void main()
{
int a,b,c,d;
printf("请输入一个三位数:");
scanf("%3d",&a);
b=a%10;
c=(a-b)%100;
d=(a-b-c)/100;
b=b*100;
a=b+c+d;
printf("该三位数倒着写后为:%d",a);
}
方法三
int main()
{
int n,m,a,b,c;
printf("请输入一个三位数:");
scanf("%d",&n);
a=n/100;
b=(n/10)%10;
c=n%10;
m=c*100+b*10+a;
printf("该三位数逆序后为:%d",m);
return 0;
}
判断
- 比较大小
方法一
void main()
{
int a,b;
printf("请输入两个整数:");
scanf("%d %d",&a,&b);
int max = 0;
if(a>b)
{
max = a;
}
else
{
max = b;
}
printf("较大的数是:%d",max);
}
方法二
void main()
{
int a,b;
printf("请输入两个整数:");
scanf("%d %d",&a,&b);
int max = a;
if(a<b)
{
max = b;
}
printf("较大的数是:%d",max);
}
- 嵌套if-else 比较三个数的大小
void main()
{
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
int max = 0;
if(a>b)
{
if(a>c){
max = a;
}
else{
max = c;
}
}
else if(b>c){
max = b;
}
else{
max = c;
}
printf("最大值为:%d",max);
}
- 分段函数
int main()
{
int x;
scanf("%d",&x);
int f = 0;
if(x<0){
f = -1;
}
else if(x==0){
f = 0;
}
else{
f = 2*x;
}
printf("%d",f);
return 0;
}
- Switch-case语句
int main()
{
int type = 0;
scanf("%d",&type);
switch(type)
{
case 1:
printf("你好!");
break;
case 2:
printf("早上好!");
break;
case 3:
printf("晚上好!");
break;
case 4:
printf("再见!");
break;
default:
printf("啊,什么啊?");
break;
}
return 0;
}