c语言-本人编程初学,刚刚编写了一个整数的比较大小的小程序,希望大神帮我看看

问题描述

本人编程初学,刚刚编写了一个整数的比较大小的小程序,希望大神帮我看看

希望大神帮我看一下是不是可以比较整数的所有情况,而且此算法有点复杂,可以怎样简化
#include

int main()
{
int compare(int a,int b);
int x,y,c,g;
printf("请输入两个整形数用于比较大小:n");
scanf("%d,%d",&x,&y);
c=compare(x,y);
if(c==g)
printf("errorn");
else
printf("较大的数为 %d n",c);
return 0;
}

int compare(int a,int b)
{
int k,g;
if(a-b>0)
k=a;
if(a-b<0)
k=b;
if(a-b==0)
k=g;
return (k);
}

解决方案

问题很多O_O!
你那个声明int compare(int a,int b);能放到全局上吗?
if(c==g) 这个根本就是乱来的compare(x,y)这个函数的g根本就不会传出来,基础有待提高!
两个数求大者一句话就行了:max = a>b?a:b
建议多看下基础的书籍

解决方案二:

直接
int compare(int a,int b)
{
return a- b;
}

解决方案三:

g是什么?如果你没有初始化,那么当a==b的时候,返回的结果是不确定的。

解决方案四:

//孩子,你的路还很长。

#include<stdio.h>
int main()
{
    int a,b;
    scanf("%d %d",&a,&b);  //输入
    if(a>b) printf("%d",a);  //a比b大
    else printf("%d",b);     //a小于等于b
    return 0;
}
//真的,就这么简单,还可以更短(用?:运算符)

解决方案五:

思路是合适的,享用跟简单的方式,调库函数吧

解决方案六:

#define max(a,b)
({ typeof (a) a = (a);
__typeof
_ (b) _b = (b);
_a > _b ? _a : _b; })

这里使用macro,可以支持不同数据类型。
对于YLOIHyl在这里说“你的路很长”,我的建议是不用写这种东西,因为我们每个人到perfect都还有很长的路要走,大家把自己觉得最好的代码贴出来共享,互相学习,共同进步。

时间: 2024-12-12 15:46:00

c语言-本人编程初学,刚刚编写了一个整数的比较大小的小程序,希望大神帮我看看的相关文章

c++-初学C++ 一个小程序 求大神帮忙看下

问题描述 初学C++ 一个小程序 求大神帮忙看下 //分秒显示函数 #include using namespace std; //全局引用std命名空间 void showTime(int ,int); int main() { int hours =0 , mins = 0;//定义且初始化分 和秒 cout << "Input the hour "; cin >> hours; cout << "Input the mins &quo

c语言-C语言学籍管理系统,我想添加专业和家庭地址的代码,求各位大神帮帮忙!小菜鸟我感激不尽啊啊啊啊

问题描述 C语言学籍管理系统,我想添加专业和家庭地址的代码,求各位大神帮帮忙!小菜鸟我感激不尽啊啊啊啊 #include #include #include #define M 2 void maininterface(); void findinterface(); void choice(long sno[], char sname[][20], int sage[], float cs[], int N); void findchoice(long sno[], char sname[][

c语言-pat 部分A+B 求大神帮帮忙,初学C语言

问题描述 pat 部分A+B 求大神帮帮忙,初学C语言 找不出错误... 正整数A的"DA(为1位整数)部分"定义为由A中所有DA组成的新整数PA.例如:给定A = 3862767,DA = 6,则A的"6部分"PA是66,因为A中有2个6. 现给定A.DA.B.DB,请编写程序计算PA + PB. 输入格式: 输入在一行中依次给出A.DA.B.DB,中间以空格分隔,其中0 < A, B < 1010. 输出格式: 在一行中输出PA + PB的值. 输入

求解决-求用c语言编写此程序,越简单越好,希望大神们注释一下

问题描述 求用c语言编写此程序,越简单越好,希望大神们注释一下 /**皮球从某给定高度自由落下,触地后反弹到原高度的一半,再落下,再反弹,--,如此反复.问皮球在第n次落地时,在空中一共经过多少距离?第n次反弹的高度是多少? 输入格式: 输入在一行中给出两个非负整数,分别是皮球的初始高度和n,均在长整型范围内. 输出格式: 在一行中顺序输出皮球第n次落地时在空中经过的距离.以及第n次反弹的高度,其间以一个空格分隔,保留一位小数.题目保证计算结果不超过双精度范围. 输入样例: 33 5 输出样例:

c语言编程-求大神帮解C语言编程问题求解

问题描述 求大神帮解C语言编程问题求解 有一个游戏关卡,由一个老怪Q把守,它的攻击能力为a,血量为b,每一个回合可以回血c.游戏角色P,具有攻击能力d,血量e,每一回合回血f.请问P能否击败老怪Q,如果不能,需要几个P协作击败老怪Q? 解决方案 假设两者的血量e.b开始的血量,在打斗的过程中攻击力和回血均不会变化,那么只比较两者的血量就可以了如下: public static String fight(int a,int b, int c,int d, int e,int f) { int li

objective c语法-c语言编程解答数学问题,这是个小问题,大神们来教教我,我只是初学者。。

问题描述 c语言编程解答数学问题,这是个小问题,大神们来教教我,我只是初学者.. 用编程写计算一个矩阵的乘积,关键是循环体内的问题.循环体应该用数组的知识写 解决方案 就是最下面的那个计算矩阵的题.. 解决方案二: 字太小看不清.白天问问你的老师吧. 解决方案三: 大神们快来帮我解决下吧... 解决方案四: 首先初始化:c [i] [j]=0 接着就是矩阵乘,行*列 c[i] [j] = a[i] [k] * b[k] [j] + c[i] [j]

c语言 树结构 二叉树-初学二叉树 运行有错误 瞅了几个小时无果 大神帮帮忙 找出错误在哪

问题描述 初学二叉树 运行有错误 瞅了几个小时无果 大神帮帮忙 找出错误在哪 ![图片说明](http://img.ask.csdn.net/upload/201503/07/1425715444_303984.png #include #include typedef struct Tree { int date; struct Tree *lson,*rson; }tree , *ztree; int a[200005]; ztree creat(ztree t,int n) { int h

急急急急急-大神帮我看下log cat 哪错了 本人菜鸟

问题描述 大神帮我看下log cat 哪错了 本人菜鸟 求大神解答 哪里错了 本人刚刚才学习做 不懂的看log cat 求大神帮看下哪里出错了 急急急急 解决方案 图片较为模糊,不过我看到了报空指针异常,并且好像是listview引起的,你看看是不是listview初始化了但是没有赋值,比如listview = findViewById(R.id.listview);不懂的可以加我. 解决方案二: 实在看不清啊,不过看样子有异常抛出发生JE 了,这个错误应该好定位

c语言-求大神帮我做一下,感激不尽

问题描述 求大神帮我做一下,感激不尽 C语言编写同学通讯录设计要求:1)同学的信息包括学号.姓名.家庭住址.电话号码:信息以文件的方式存入磁盘文件2)要求对同学的信息按学号进行排序 3)随机查询同学的信息4)可以随时插入.删除和修改同学的信息 解决方案 http://wenku.baidu.com/link?url=MjViG6PH1gUoG1yIXW1iC-f_SSQBcD6hYL-_PsBSwheux5JXFkeT4foZjHB1hR6vECqelp-S3kyaBGh7owxhYBgwlVS