继续发我写的作业 欢迎各位批评
键盘输入一个算术的运算式子,输出运算结果。这里我们规定可以接收五个算术运算的符号:+、-、*、/、^(乘方)输入一个加法的算术式:
程序代码:
#include<stdio.h> #include<math.h> int main(void) { /*init 0.0*/ double a = 0.0; double b = 0.0; char op = '0'; /* + - * / ^*/ printf("Enter a expression:"); /*must be %lf beacuse we use double*/ scanf("%lf%c%lf",&a,&op,&b); switch(op) { case '+': printf("%.2f + %.2f = %.3f",a,b,(a+b)); break; case '-': printf("%.2f - %.2f = %.3f",a,b,(a-b)); break; case '*': printf("%.2f * %.2f = %.3f",a,b,(a*b)); break; case '/': if (fabs(b-0.0) < 0.0000001) { printf("Input Err.\n"); break; } printf("%.2f / %.2f = %.3f",a,b,(a/b)); break; case '^': printf("%.2f ^ %.2f = %.3f",a,b,pow(a,b)); break; default: printf("Input Err.\n"); } return 0; }
某服装店经营套服。以50套为限,若购买数量不少于50套,每套80元;不足50套时每套90元;只买上衣每件60元;只买裤子每条45元。编写程序实现:读入所买上衣c和裤子t的数量,计算应付款总量。
程序代码:
#include<stdio.h> int main(void) { int clths = 0; int trs = 0; int suit = 0; int money = 0; printf("Clothes:"); scanf("%d",&clths); printf("Trousers:"); scanf("%d",&trs); if (clths > trs) { suit = trs; if (suit >= 50) { money = suit * 80; } else { money = suit * 90; } money += (clths-trs)*60; } else { suit = clths; if (suit >= 50) { money = suit * 80; } else { money = suit * 90; } money += (trs-clths)*45; } printf("Money:%d",money); return 0; }
按yyyy-mm-dd格式输入一个日期,如2004-10-31,判断这是这一年的第几天。
程序代码:
#include<stdio.h> int main(void) { int year = 0; int month = 0; int day = 0; int past = 0; printf("Please Input a day(Eg.yyyy-mm-dd):"); scanf("%d-%d-%d",&year,&month,&day); past += day; /* 2011-3-6 = 6+28+31 =65 */ /* 31 28 or 29 31 30 31 30 31 31 30 31 30 31 */ /* no break; */ switch(month-1) { case 12: past += 31; case 11: past += 30; case 10: past += 31; case 9: past += 30; case 8: past += 31; case 7: past += 31; case 6: past += 30; case 5: past += 31; case 4: past += 30; case 3: past += 31; case 2: if (((year%4==0)&&(year%100!=0))||(year%400==0)) { past +=29; /* printf("leap\n"); */ } else { past +=28; } case 1: past +=31; case 0: break; default: printf("Input may be wrong."); break; } printf("Today is %dth of %d:",past,year); return 0; }
[ 本帖最后由 zklhp 于 2011-4-14 15:03 编辑 ]