分类一
1. 编写一程序P1-111.C实现以下功能
x(x只考虑整数int且必须定义为int、但F(x)完全可能超过int的表示范围)通过键盘输入(输入前给出提示Please input x:),然后计算并在屏幕上输出函数值。注意,图1中的括号不是<>而是(),编程可用素材:printf(\ input x: \。
┌ -5x+27 (x<0)
F(x)= ├ 7909 (x=0)
└ 2x-1 (x>0)
程序的运行效果应类似地如图1所示,图1中的3是从键盘输入的内容。
#include < stdio.h > int main(void) {
int x; double y;
printf(\scanf(\
if (x > 0) {
y = (double) 2 * x - 1; } else {
if (x == 0) {
y = (double) 7909; } else {
y = (double) - 5 * x + 27; } }
printf(\return 0; }
2. P1-113已知某银行整存整取存款不同期限的年息利率分别为:3.15%期限一年,3.63%期限二年, 4.02%期限三年,4.69%期限五年,5.36%期限八年。从键盘上输入存钱的本金(以元为单位,必须定义为int且应考虑金额很大的情况)和存款期限(只考虑1,2,3,5,8),求到期时能从银行得到的利息(以元为单位,应考虑有小数,不计复利)。编程可用素材:
printf(\ input benjin,cunqi:\、printf(\ = ... yuan\。
程序的运行效果应类似地如图1所示,图1中的10000,8是从键盘输入的内容。
#include < stdio.h > int main(void) {
int benjin, cunqi; double lixi; double money;
printf(\ scanf(\
money = benjin;
if ( cunqi == 1 ) {
lixi = money * cunqi * 3.15 / 100; } else {
if ( cunqi == 2 ) {
lixi = money * cunqi * 3.63 / 100; } else {
if ( cunqi == 3 ) {
lixi = money * cunqi * 4.02 / 100; } else {
if ( cunqi == 5 ) {
lixi = money * cunqi * 4.69 / 100; } else {
if ( cunqi == 8 ) {
lixi = money * cunqi *5.36 / 100;
}
} } } } }
printf(\return 0;
3. P1-114编写一个简单计算器程序,输入格式为:data1 op data2。其中data1和data2是参加运算的两个数(data1、data2必须定义为int,但二者相加可能超出int能表示的范围),op为运算符,它的取值只能是+、-、*、/、%。
程序的运行效果应类似地如图1、图2、图3、图4所示,图1中的3000 + 2000、图2中的3000 % 2000、图3中的3000 % 0和图4中的3000 / 0是从键盘输入的内容。
#include < stdio.h > int main( void ) {
int data1, data2; double jieguo;
char op;
printf(\ scanf(\
switch ( op ) {
case '+':
jieguo = ( double ) data1 + data2;
printf(\ break; case '-':
jieguo = ( double ) data1 - data2;
printf(\ break; case '*':
jieguo = ( double ) data1 * data2;
printf(\ break; case '/':
if ( data2 != 0 ) {
jieguo = ( double ) data1 / data2;
printf(\ break; } else {
printf(\ break; }
case '%':
if ( data2 != 0 ) {
jieguo = data1 % data2;
printf(\ break; } else {
printf(\ break; } default:
printf(\ }
return 0; }
4.输入月份,打印2003年该月有几天。当输入的月份超范围时,应显示“Invalid month input”。
相关推荐: