| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 519 人关注过本帖
标题:函数调用变量定义冲突
只看楼主 加入收藏
臻至极
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2015-11-22
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:8 
函数调用变量定义冲突
(初学者,求指点)老师让把书上所有章节的题目写进一个程序,使得输入章节序号运行相应程序,要求使用调用函数,但每个小程序变量有相同有不相同,怎样定义变量使得程序更为简洁?(原谅我刚学函数调用)
图片附件: 游客没有浏览图片的权限,请 登录注册
2015-11-22 20:53
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:7 
剛學函數調用,現在翻開書,仔細看看函數的第一行應該怎麽寫。

授人以渔,不授人以鱼。
2015-11-22 21:08
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:7 
没好好看书
2015-11-22 23:38
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:7 
把代码贴出来  帮你修改  贴图没办法弄

DO IT YOURSELF !
2015-11-23 08:15
臻至极
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2015-11-22
收藏
得分:0 
回复 4楼 wp231957
我改了一下,但实在写不下去了,有的变量类型不同,但我又不想再重新定义变量,太复杂了,简直是推倒重来。
程序代码:
#include<stdio.h>
#include<math.h>
void subject(int a);
main()
{
    int a;
    printf("请选择章节(2-7):");
    scanf("%d",&a);
    printf("习题%d:\n",a);
    subject(a);
}
void subject(int a)
{
    switch(a)
    {
    case 1:
        printf("输入有误!\n");
        break;
    case 2:
    {

        float x,y,z;
        x=y=z=2.5;
        printf("2.1\n");
        printf("These vluses are:\n");
        printf("x=%.2f\n",x);
        printf("y=%.2f\n",y);
        printf("z=%.2f\n",z);
        break;
    }
    case 3:
    {

        int a=12,b=3,m=32,n=81,p,q,c,d,e,f,g;
        double x=18.5,y=4.6;
        float capital,deposit;
        printf("3.1.1\n");//3.1.1
        printf("%f\n\n",(float)(a*b)/2);
        printf("3.1.2\n");//3.1.2
        p=m++;
        q=--n;
        printf("%d%d\n",p,q);
        printf("%d%d\n\n",m,n);
        printf("3.2\n");//3.2
        printf("请输入一个三位数:");
        scanf("%d",&a);
        if ("a>=0") b=a;
        else b=-a;
        c=b%10;
        d=(int)b/10;
        e=d%10;
        f=(int)d/10;
        g=f+e*10+c*100;
        printf("它的逆序数是:%d\n\n",g);
        printf("3.3\n");//3.3
        printf("请输入本金:");
        scanf("%f",&capital);
        printf("请输入年份:");
        scanf("%d",&n);
        deposit=capital*pow(n,1.0225);
        printf("本利之和为%f\n\n",deposit);
        printf("3.4");//3.4
        printf("请输入a:");
        scanf("%f

    }
        break;
    }
    
}
2015-11-23 12:42
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
改函數名,用switch()調用對應的函數!

授人以渔,不授人以鱼。
2015-11-23 12:47
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
回复 5楼 臻至极
没必要这样做
从理论上来说  一个函数和多个函数也没啥太大的区别

你完全可以设计N个函数

DO IT YOURSELF !
2015-11-24 09:43
我不是ly
Rank: 2
等 级:论坛游民
帖 子:11
专家分:32
注 册:2015-11-23
收藏
得分:0 
好好加油
2015-11-26 22:13
crystone
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:45
专家分:183
注 册:2015-11-26
收藏
得分:0 
变量名尽量用英文
2015-11-26 22:16
快速回复:函数调用变量定义冲突
数据加载中...
 
   



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

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