| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1349 人关注过本帖
标题:求解c语言问题?
只看楼主 加入收藏
格雷迪
Rank: 1
来 自:湖北
等 级:新手上路
帖 子:24
专家分:1
注 册:2011-2-21
收藏
得分:0 
太晚了。大家都辛苦了,明天在努力吧!
2011-05-17 23:05
烟雾中的迷茫
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:621
专家分:1069
注 册:2011-2-9
收藏
得分:0 
实在不行呢可以用goto语句
2011-05-18 06:13
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
收藏
得分:0 
回复 10楼 格雷迪
如果不想前面的提示出现多次,这个可以用函数递归。
程序代码:
void f()
{int n,x,y;
     scanf("%d",&n);
    switch(n)
    {
    case 1:
        printf("选择加法,请输入两个整数:\n");
        scanf("%d%d",&x,&y);
        printf("%d+%d=%d",x,y,x+y);
        f();break;
   
    case 2:
        printf("选择减法,请输入两个整数:\n");
        scanf("%d%d",&x,&y);
        printf("%d-%d=%d",x,y,x-y);
        f();break;
   
    case 3:
        printf("选择乘法,请输入两个整数:\n");
        scanf("%d%d",&x,&y);
        printf("%d*%d=%d",x,y,x*y);
        f();break;
    case 4:
        printf("选择除法,请输入两个整数:\n");
        scanf("%d%d",&x,&y);

        if(y!=0)
            printf("%d/%d=%d",x,y,x/y);
        else
            printf("输入错误,除数不能为0!\n");
       
        f();break;
    case 5:
        printf("退出\n");break;
    default:
        printf("输入错误,请输入1-5的整数!\n");
        f();
    }
}
main()
{   printf("\n************开始***********\n");
    printf("       输入1为加法 \n");
    printf("       输入2为减法 \n");
    printf("       输入3为乘法 \n");
    printf("       输入4为除法 \n");
    printf("       输入5为退出 \n");
    printf("************结束***********\n");
    printf("输入操作:");
    f();
getch();}

2011-05-18 06:24
刹那间的回忆
Rank: 2
等 级:论坛游民
帖 子:7
专家分:34
注 册:2011-5-18
收藏
得分:0 
程序代码:
#include<stdio.h>
#include<stdlib.h>
int main()
{
    int n,x,y;
    int m;
    printf("************开始***********\n");
    printf("       输入1为加法 \n");
    printf("       输入2为减法 \n");
    printf("       输入3为乘法 \n");
    printf("       输入4为除法 \n");
    printf("       输入5为退出 \n");
    printf("************结束***********\n");

    do
    {
        printf("输入操作:");
        scanf("%d",&n);
        switch(n)
        {
            case 1:printf("选择加法");
            scanf("%d%d",&x,&y);
            printf("%d+%d=%d",x,y,x+y);
                break;
            case 2:printf("选择减法");
            scanf("%d%d",&x,&y);
            printf("%d-%d=%d",x,y,x-y);
                break;
            case 3:printf("选择乘法");
            scanf("%d%d",&x,&y);
            printf("%d*%d=%d",x,y,x*y);
                break;
            case 4:printf("选择除法");
            scanf("%d%d",&x,&y);
            printf("%d/%d=%d",x,y,x/y);
                break;
            case 5:printf("退出");
                m=0;
                break;
         }
    }
    while(n!=5);
}


[ 本帖最后由 刹那间的回忆 于 2011-5-18 09:05 编辑 ]
收到的鲜花
  • 格雷迪2011-05-18 12:33 送鲜花  3朵  
2011-05-18 09:03
zyt0951
Rank: 2
等 级:论坛游民
帖 子:17
专家分:70
注 册:2011-3-29
收藏
得分:0 
#include<stdio.h>
#include<stdlib.h>
int main()
{
    int n,x,y;
    int m;
   
    printf("************开始***********\n");
    printf("       输入1为加法 \n");
    printf("       输入2为减法 \n");
    printf("       输入3为乘法 \n");
    printf("       输入4为除法 \n");
    printf("       输入5为退出 \n");
    printf("************结束***********\n");
    for(int i=0;;i++)
    {
        printf("输入操作:");
    scanf("%d",&n);
    switch(n)
    {
    case 1:printf("选择加法");
        scanf("%d%d",&x,&y);
        printf("%d+%d=%d\n",x,y,x+y);
                break;
    case 2:printf("选择减法");
        scanf("%d%d",&x,&y);
        printf("%d-%d=%d\n",x,y,x-y);
                break;
    case 3:printf("选择乘法");
        scanf("%d%d",&x,&y);
        printf("%d*%d=%d\n",x,y,x*y);
                break;
    case 4:printf("选择除法");
        scanf("%d%d",&x,&y);
        if(y==0)
        {
          printf("输入错误,除数不能为0!\n");
          break;
        }
        printf("%d/%d=%d\n",x,y,x/y);
                break;
    case 5:printf("退出\n");
                m=0;
                break;
    default:
        printf("输入错误,请输入1-5的整数!\n");

                }
    }
}
2011-05-18 11:40
guoqingchun
Rank: 2
等 级:论坛游民
帖 子:30
专家分:68
注 册:2008-6-19
收藏
得分:0 
#include<stdio.h>
#include<stdlib.h>
int main()
{
    int n,x,y;
    int m;
    printf("************开始***********\n");
    printf("       输入1为加法 \n");
    printf("       输入2为减法 \n");
    printf("       输入3为乘法 \n");
    printf("       输入4为除法 \n");
    printf("       输入5为退出 \n");
    printf("************结束***********\n");
    printf("输入操作:");
    scanf("%d",&n);
    switch(n)
    {
    case 1:printf("选择加法");
        scanf("%d%d",&x,&y);
        printf("%d+%d=%d",x,y,x+y);
                break;
    case 2:printf("选择减法");
        scanf("%d%d",&x,&y);
        printf("%d-%d=%d",x,y,x-y);
                break;
    case 3:printf("选择乘法");
        scanf("%d%d",&x,&y);
        printf("%d*%d=%d",x,y,x*y);
                break;
    case 4:printf("选择除法");
        scanf("%d%d",&x,&y);
        printf("%d/%d=%d",x,y,x/y);
                break;
    case 5:printf("退出");
                m=0;
                break;
    }
    system("pause"); ///////停留一下
}
2011-05-18 12:18
格雷迪
Rank: 1
来 自:湖北
等 级:新手上路
帖 子:24
专家分:1
注 册:2011-2-21
收藏
得分:0 
回复 14楼 刹那间的回忆
嗯,这个在加上点输入错误方面的考虑 就是我想要的程序了。谢谢了!
2011-05-18 12:24
linw1225
Rank: 3Rank: 3
来 自:福建
等 级:论坛游侠
帖 子:110
专家分:145
注 册:2011-4-7
收藏
得分:0 
回复 10楼 格雷迪
那样的话,把switch case语句分出去,单独弄成一个函数,通过传递参数在函数中判断执行方法,没试过,理论上是可以的。

Einmal ist keinmal
2011-05-18 14:13
C梦天下
Rank: 2
等 级:论坛游民
帖 子:53
专家分:38
注 册:2011-4-10
收藏
得分:0 
用循环不就得了,
把每个部分写成函数,分块处理.

2011-05-18 15:57
格雷迪
Rank: 1
来 自:湖北
等 级:新手上路
帖 子:24
专家分:1
注 册:2011-2-21
收藏
得分:0 
回复 18楼 linw1225
恩,通过传参我也试过,但是在调用每个运算方面没整明白所以放弃了。
2011-05-18 19:34
快速回复:求解c语言问题?
数据加载中...
 
   



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

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