| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1351 人关注过本帖
标题:求解c语言问题?
只看楼主 加入收藏
熊熊壮壮
Rank: 2
等 级:论坛游民
帖 子:10
专家分:10
注 册:2011-5-9
收藏
得分:0 
请问为什么无法循环执行:
#include<stdio.h>
#include<stdlib.h>
int main()
{
    int n,x,y;
    int m;
    char a;
    do
    {
    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\n",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;
    }
    printf("是否继续?Y/N\n");
    scanf("%c",&a);
  }while(a=='Y');
}
2011-05-18 20:09
chenjin1st
Rank: 2
来 自:湖南
等 级:论坛游民
帖 子:26
专家分:44
注 册:2011-5-13
收藏
得分:0 
您好,我想使用goto 语句就可以了把。
#include<stdio.h>
 #include<stdlib.h>
 int main()
 {
     int n,x,y;
     int m;
     goon:              //一个goto标识符
     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;
     }
    goto goon;
 }

共同进步,共同收获!!!!
2011-05-18 20:14
熊熊壮壮
Rank: 2
等 级:论坛游民
帖 子:10
专家分:10
注 册:2011-5-9
收藏
得分:0 
谢谢你,因为我遇见过几次这种情况,感觉是最后的scanf()语句有问题,好像无法执行,所以想问一下原因。不知道能不能回答我。
2011-05-18 20:30
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
LZ有这闲心何不去学Win32,然后搞个计算器出来撒!

My life is brilliant
2011-05-18 20:31
熊熊壮壮
Rank: 2
等 级:论坛游民
帖 子:10
专家分:10
注 册:2011-5-9
收藏
得分:0 
呵呵,没这个意思,只是想高手指点下是不是用法有问题。比如这个程序也是:
#include<stdio.h>
void main()
{
    char letter,again,i;
    printf("Please enter first letter:\n");
    scanf("%c",&letter);
    switch(letter)
    {
    case 'M':printf("Monday\n");break;
    case 'W':printf("Wednesday\n");break;
    case 'F':printf("Friday\n");break;
    case 'S':
        printf("Please enter second letter:\n");
        scanf("%c",&letter);
        if(letter=='u')
            printf("Sunday\n");
        else
            if(letter=='a')
                printf("Saturday");
            break;
    case 'T':printf("Second letter:\n");
        scanf("%c",&letter);
        if(letter=='u')
            printf("Tuesday\n");
        else if(letter=='h')
            printf("Thursday");
        else printf("error\n");
        break;
    default :
        printf("error\n");
    }
}
 帮忙看下哇!
2011-05-18 20:36
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
什么问题,是语法错误?

My life is brilliant
2011-05-18 20:41
熊熊壮壮
Rank: 2
等 级:论坛游民
帖 子:10
专家分:10
注 册:2011-5-9
收藏
得分:0 
不知道,反正无法正确执行,需要第二个字母是读不进去
2011-05-18 20:44
郭胖
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2011-5-5
收藏
得分:0 
回复 8楼 linw1225
我弱弱地问一下,主函数也可以当普通函数那样用吗?
2011-05-18 20:47
刹那间的回忆
Rank: 2
等 级:论坛游民
帖 子:7
专家分:34
注 册:2011-5-18
收藏
得分:0 
回复 25楼 熊熊壮壮
scanf("%c",&letter);只取了一个字符,当你回车的时候,回车'\n'产生一个字符,给了下面一个scanf("%c",&letter);
程序代码:
#include <stdio.h>
void main()
{
    char letter,again,i;
    printf("Please enter first letter:\n");
    scanf("%c",&letter);
    while ( getchar() != '\n')
        continue;
    switch(letter)
    {
    case 'M':printf("Monday\n");break;
    case 'W':printf("Wednesday\n");break;
    case 'F':printf("Friday\n");break;
    case 'S':
        printf("Please enter second letter:\n");
        scanf("%c",&letter);
        while ( getchar() != '\n')
            continue;
        if(letter=='u')
            printf("Sunday\n");
        else
            if(letter=='a')
                printf("Saturday");
            break;
    case 'T':printf("Second letter:\n");
        scanf("%c",&letter);
        while ( getchar() != '\n')
            continue;
        if(letter=='u')
            printf("Tuesday\n");
        else if(letter=='h')
            printf("Thursday");
        else printf("error\n");
        break;
    default :
        printf("error\n");
    }
}
2011-05-18 22:12
xiangqiu1986
Rank: 2
等 级:论坛游民
帖 子:79
专家分:95
注 册:2011-5-5
收藏
得分:0 
好强!

学无止境!
2011-05-18 22:31
快速回复:求解c语言问题?
数据加载中...
 
   



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

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