| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1848 人关注过本帖, 1 人收藏
标题:继续发我写的作业 欢迎各位批评
只看楼主 加入收藏
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
结帖率:100%
收藏(1)
 问题点数:0 回复次数:21 
继续发我写的作业 欢迎各位批评
键盘输入一个算术的运算式子,输出运算结果。这里我们规定可以接收五个算术运算的符号:+、-、*、/、^(乘方)
输入一个加法的算术式:
图片附件: 游客没有浏览图片的权限,请 登录注册


程序代码:

#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 编辑 ]
搜索更多相关主题的帖子: 符号 
2011-04-13 18:43
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:0 
这样的代码还有那格式爽!

   唯实惟新 至诚致志
2011-04-13 18:51
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
哦 我又没抢到沙发。。

欢迎各位板砖
2011-04-13 18:56
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
我写过一个带括号也能算的
表达式求值.rar (7.5 KB)

                                         
===========深入<----------------->浅出============
2011-04-13 19:05
yz787810465
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-2-23
收藏
得分:0 
程序代码:
#include "stdio.h"
#include "conio.h"
int year,month,day,m,n=0;
int main()
{
    int f(int i);
    int a;

    printf("****************************************************\n");
    printf("          查询某一年的某一天是该年的第几天          \n");
    printf("****************************************************\n");
    putchar('\n');
    printf("请输入以下格式:\nyear-month-day\n");
    scanf("%d-%d-%d",&year,&month,&day);

    if(year%4==0&&year%100!=0||year%400==0)    /*判断该年是否为闰年*/
        m=1;
    else
        m=0;

    for(a=1;a<month;a++)
        n=n+f(a);
    n=n+day;
    printf("这是该年的第%d天\n\n",n);
    printf("按任意键退出...\n");
    getch();
    return 0;
}

int f(int i)
{
    int b;
    switch(i)
    {
    case 1:case 3:case 5:case 7:case 8:case 10:case 12:b=31;break;
    case 4:case 6:case 9:case 11:b=30;break;
    case 2:if(m=0) b=28;else b=29;break;
    default:printf("error\n");
    }
    return b;
}
    
最近写的,给个评论下

[ 本帖最后由 yz787810465 于 2011-4-13 20:39 编辑 ]
2011-04-13 20:37
boxinchao
Rank: 4
等 级:业余侠客
帖 子:51
专家分:231
注 册:2011-4-13
收藏
得分:0 
回复 5楼 yz787810465
楼主的第一个代码:
1.可以考虑增加while(1)循环,支持多次运算
2.几处参数错误打印,建议把错误参数也打印出来,错误就一目了然。我觉得这是个好习惯,特别是对于一个稍大点的代码工程而言
3.打印等语句前或后增加\n换行,打印结果会显得清晰一些
4.笔误:printf("%.2f * %.2f = %.3f",a,b,(a/b));
2011-04-13 21:18
水晰
Rank: 3Rank: 3
来 自:新疆
等 级:论坛游侠
帖 子:39
专家分:113
注 册:2011-4-6
收藏
得分:0 
不错 .学习了.
2011-04-13 21:53
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
很不错了,学习

我就是真命天子,顺我者生,逆我者死!
2011-04-13 23:04
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
如果楼主用的 vc系列的编译器, 建议将 警告级别设为4,打开 RTc\u\s编译选项,
另外下载个 pcLint静态代码检查工具.
可能会对你的代码规范有所帮助。

我就是真命天子,顺我者生,逆我者死!
2011-04-13 23:12
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
向前辈学习!!!

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-04-13 23:21
快速回复:继续发我写的作业 欢迎各位批评
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030184 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved