1.输入一个三位数,求个位、十位、百位的和2.实现两个数的交换3.输入三角形的边长,求面积(海伦公式的方法)4.终端输入一个整形数据,判断整形数据是否为偶数。

题目一:

这题的考点就在如果取到三位数的各个位。可以通过取余和取整运算去得到。这里用到scanf按理来说他是吸收了我的\n(换行符),但是由于我后续没有使用char的打算,所以我就没有去吸收垃圾字符。


 int a;
 while (1){
     printf("请输入一个三位数;\n");
     scanf("%d",&a);
     if (a /100 ==0)
         printf("该数不是三位数请重新输入。\n");
     else
         break;
 }
 int ge,shi,bai;
 ge = a%10;  //个位
 shi = a/10%10;  //十位
 bai = a/100;  //百位
 int sum = ge+shi+bai;
 printf("总和为%d",sum);                         
  

题目二:

这个题的解法就相当多了。1)可以设置一个临时变量。2)加减运算 。3)异或运算。

 //临时变量的解法
 int a,b;
 scanf("%d %d",&a,&b);
 int temp;  //临时变量
 temp = a;
 a = b;               
 b = temp;
 printf("%d %d",a,b);

//加减运算的解法
 int a,b;
 scanf("%d %d",&a,&b);
 a = a+b;
 b = a-b;
 a = a-b;             
 printf("%d %d",a,b);

//异或的解法(通过位运算实现两数互换)
 int a,b;
 scanf("%d %d",&a,&b);
 a = a^b;
 b = a^b;             
 a = a^b;
 printf("%d %d",a,b);

题目三:

输入边长得到三角形面积,这个需要一个海伦公式。

什么是海伦公式呢?如下图所示

根据海伦公式,我们可以直接通过三条边就可以得到三角形的面积了。

但是有个注意:任意两边之和大于第三边,任意两边之差小于第三边!所以要加强代码的健壮性。

其次由于我们用到了sqrt函数所以在开头要引用math.h这个头文件

我们在用gcc的时候要加-lm 因为数学函数位于libm.so库文件中(通常在/lib目录下)-lm选项告诉编译器,我们程序中用到的数学函数要到这个库文件里找.

例如gcc 1.c -lm

 int a,b,c;                                                                         
 printf("请输入三角形的边长:\n");
 while (1){
     scanf("%d %d %d",&a,&b,&c);
     if (a+b<=c || a+c<=b || b+c<=a){
         printf("三角形的三条应该满足任意两条边的和大于第三条边,请重新输入数据\n");
     }
     else
         break;
 }       
 int p = (a+b+c)/2.0;  //p是周长的一半
 float s;
 s = sqrt(p*(p-a)*(p-b)*(p-c));
 printf("三角形面积为%f\n",s);

题目四:

这个题主要就是对应取余运算的使用了,看对于模2是否为0(因为对2取模运算答案只有1或者0,当答案是0则说明没有余数则该数是偶数,同理答案是1则说明余数为1是奇数),以便判断是否为奇数。

int a;
scanf("%d",&a);
printf("请输入一个整数:\n");
if (a%2==0){
    printf("%d是偶数",a);
}
else
    printf("%d是奇数",a);
return 0;

  • 17
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值