文章目录
20201022-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises08
P114

/*
编写一程序P114.C实现以下功能
编写一个简单计算器程序,输入格式为:data1 op data2。
其中data1和data2是参加运算的两个数(data1、data2必须定义为int,但二者相加可能超出int能表示的范围),
op为运算符,它的取值只能是+、-、*、/、%。
编程可用素材:
printf("Please input data1 op data2: ")、
printf("\nError! chu shu wei 0.\n")。
程序的运行效果应类似地如图1、图2、图3、图4所示,图中的红色部分是从键盘输入的内容。
Please input data1 op data2: 3000 + 2000
3000+2000=5000
图1 程序运行效果示例(加法)
Please input data1 op data2: 3000 % 2000
3000%2000=1000
图2 程序运行效果示例(取余)
Please input data1 op data2: 3000 % 0
Error! chu shu wei 0.
图3 程序运行效果示例(取余时除数为0)
Please input data1 op data2: 3000 / 0
Error! chu shu wei 0.
*/
#include <stdio.h>
int main(void)
{
int data1, data2;
char op;
printf("Please input data1 op data2: ");
scanf("%d %c %d", &data1, &op, &data2);
// 先不做op输入的有效性检查
if ('+' == op)
{
printf("\n%d%c%d=%.0lf", data1, op, data2, (double)(double)data1 + (double)data2);
}
else if ('-' == op)
{
printf("\n%d%c%d=%d", data1, op, data2, data1 - data2);
}
else if ('*' == op)
{
printf("\n%d%c%d=%.0lf", data1, op, data2, (double)(double)data1 * (double)data2);
}
else if ('/' == op)
{
if (0 == data2)
{
printf("\nError! chu shu wei 0.");
}
else
{
printf("%d%c%d=%d", data1, op, data2, data1 / data2);
}
}
else if ('%' == op)
{
if (0 == data2)
{

本文提供了几个C语言程序设计练习题的解决方案,包括简单的计算器功能实现、等级成绩转换为百分制分数、循环与条件判断的综合运用等。通过具体实例帮助读者加深对C语言的理解。
最低0.47元/天 解锁文章
2681

被折叠的 条评论
为什么被折叠?



