C语言mooc前四周测验题

关于强制转换

average=total/5.0;
  printf("total=%.2f\n",total);
  printf("average=%.2f\n",average);
  printf("average=%d\n",(int)average); //强制转换

复利计算

在这里插入图片描述

#include <stdio.h>
#include <math.h>
int main()
{ 
  double a,c;
  int b;
  printf( "Please enter rate, year, capital:\n",a,b,c);
  scanf("%lf,%d,%lf",&a,&b,&c);
  double dep;
  dep=c*pow(1+a,b); //复利计算公式
  printf("deposit=%.3f\n",dep);
}

输出 左右对齐

在这里插入图片描述
关于%-9d 加负号表示左对齐

存疑

编程设计一个简单的计算器程序,要求用户从键盘输入如下形式的表达式:
‌

        操作数1    运算符op    操作数2
‌

然后,计算并输出表达式的值
‌

指定的运算符为:
‌

    加(+)
‌

    减(-)
‌

    乘(*)
‌

    除(/)
‌


‌

代码如下,所给程序是否存在错误,若有,找出错误所在并改正。
‌

‍#include <stdio.h>
int main()
{
         float    data1, data2;            
         char   op;
         printf("Please enter the expression:");
         scanf("%f  %c%f", &data1, &op, &data2); /* %c前有一个空格 */ 
         switch (op) 
         {
                   case '+':
                            printf("%f + %f = %f\n", data1, data2, data1 + data2); 
                            break;
                   case '-':
                            printf("%f - %f = %f\n", data1, data2, data1 - data2);
                            break;
                   case '*':
                            printf("%f * %f = %f\n", data1, data2, data1 * data2); 
                            break;
                   case '/':
                            printf("%f/%f = %f\n", data1, data2,data1/data2); 
                            break;
                   default: 
                            printf("Invalid operator!\n");
         }
        return 0;
}
A.

没有错误
B.

第20行语句有错误,改成:

if (data2=0) printf("Division by zero!\n");

else  printf("%f/%f = %f\n", data1, data2, data1/data2);
C.

第20行语句有错误,改成:

if (fabs(data2)<=EPS) printf("Division by zero!\n");

else  printf("%f/%f = %f\n", data1, data2, data1/data2);

同时,第1行语句下方应加入

#include  <math.h>

#define   EPS 1e-6
D.

default分支缺少break语句

一些单选题

答案 C

请添加图片描述答案255
请添加图片描述答案C 因为(ch<=‘A’&&ch=‘Z’)不存在 直接跳到5行。

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

因为’\72是转义字符’表示其ASCII码为八进制数72的字符,就是一个字符而已

计算时间差,可把小时转换为分钟

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值