2 qq 34135295 qq_34135295 于 2016.03.01 23:47 提问

C语言 求大神拯救

根据下列要求,完成程序
1从键盘输入一个三位数整数,并输出该整数,同时输出该三位整数的每一位数字
2写一个函数,判断该三位整数是否为水仙花数
3以该整数的三位数字作为一元二次方程的系数,求该一元二次方程的根
4定义该整形数组,包含十个数据,把该整数的三位数字。依次放入该数组的最前三位,并把数组内容补充完整。并对该数组进行排序,分别输出该数组排序前和排序后的顺序
5对4中做好的数组进行排序(算法不和4相同)输出。(限用指针实现)

2个回答

caozhy
caozhy   Ds   Rxr 2016.03.02 05:12
已采纳
 153
153, 1 5 3.
yes
x1=-0.697224 x2=-4.302776
3 5 1 1 3 5 7 2 4 6
1 1 2 3 3 4 5 5 6 7
3 5 1 1 3 5 7 2 4 6
1 1 2 3 3 4 5 5 6 7
Press any key to continue
 179
179, 1 7 9.
no
x1=-1.697224 x2=-5.302776
9 7 1 1 3 5 7 2 4 6
1 1 2 3 4 5 6 7 7 9
9 7 1 1 3 5 7 2 4 6
1 1 2 3 4 5 6 7 7 9
Press any key to continue
caozhy
caozhy   Ds   Rxr 2016.03.02 05:10
 #include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <memory.h>
int foo(int x, int a, int b, int c)
{
    int aa, bb, cc;
    aa = a, bb = b, cc = c;
    for (int i = 1; i < 3; i++)
    {
        aa *= a;
        bb *= b;
        cc *= c;
    }
    return aa + bb + cc == x ? -1 : 0;
}

int cmp(const void * a, const void * b)
{
    return *(int *)a - *(int *)b;
}

int main()
{
    int n;
    scanf("%d", &n);
    int a = n % 10;
    n /= 10;
    int b = n % 10;
    n /= 10;
    int c = n % 10;
    printf("%d, %d %d %d.\n", c * 100 + b * 10 + a, c, b, a);
    if (foo(c * 100 + b * 10 + a, c, b, a))
        printf("yes\n");
    else
        printf("no\n");
    double x1 = (-b + sqrt(b * b - 4 * a * c)) / (2 * c);
    double x2 = (-b - sqrt(b * b - 4 * a * c)) / (2 * c);
    printf("x1=%lf x2=%lf\n", x1, x2);
    int data[] = { a, b, c, 1, 3, 5, 7, 2, 4, 6 };
    int i;
    for (i = 0; i < 10; i++)
        printf("%d ", data[i]);
    printf("\n");
    int s[10];
    memcpy(&s[0], &data[0], sizeof(int) * 10);
    qsort(s, 10, sizeof(int), cmp);
    for (i = 0; i < 10; i++)
        printf("%d ", s[i]);
    printf("\n");
    memcpy(&s[0], &data[0], sizeof(int) * 10);
    for (i = 0; i < 10; i++)
        printf("%d ", s[i]);
    printf("\n");
    int j;
    for (i = 0; i < 10; i++)
        for (j = 1; j < 10 - i; j++)
        {
            if (s[j - 1] > s[j])
            {
                int t = s[j - 1];
                s[j - 1] = s[j];
                s[j] = t;
            }
        }
    for (i = 0; i < 10; i++)
        printf("%d ", s[i]);
    printf("\n");
    return 0;
}
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
理解C语言——从小菜到大神的晋级之路(1)——引言:C语言的前世今生
C语言是现在应用最为广泛的编程语言之一,也是现在依然流行的编程语言中历史最悠久的一种之一。在目前业界广泛使用的编程语言中,许多 种语言是以C为基础发展而来。在多类大学的工程类专业尤其是信息类专业的教学计划中,C语言也是极为重要的基础课之一。 而对于一名以编译型语言为主要开发工具的程序员来说,熟练掌握C语言的用法和理论也可以对其他编程语言获得更深的理解。因此,在这一系列教程中我们希望可以深入理解C语
拯救007-用图进行DFS遍历
-
PTA - 拯救007 ( BFS )
在老电影“007之生死关头”(Live and Let Die)中有一个情节,007被毒贩抓到一个鳄鱼池中心的小岛上,他用了一种极为大胆的方法逃脱 —— 直接踩着池子里一系列鳄鱼的大脑袋跳上岸去!(据说当年替身演员被最后一条鳄鱼咬住了脚,幸好穿的是特别加厚的靴子才逃过一劫。) 设鳄鱼池是长宽为100米的方形,中心坐标为 (0, 0),且东北角坐标为 (50, 50)。池心岛是以 (0,...
拯救公主
描述     多灾多难的公主又被大魔王抓走啦!国王派遣了第一勇士阿福去拯救她。     身为超级厉害的术士,同时也是阿福的好伙伴,你决定祝他一臂之力。你为阿福提供了一张大魔王根据地的地图,上面标记了阿福和公主所在的位置,以及一些不能够踏入的禁区。你还贴心地为阿福制造了一些传送门,通过一个传送门可以瞬间转移到任意一个传送门,当然阿福也可以选择不通过传送门瞬移。传送门的位置也被标记在了地图上。此外
c语言正定矩阵求逆算法实现
c语言正定矩阵求逆c语言正定矩阵求逆c语言正定矩阵求逆c语言正定矩阵求逆c语言正定矩阵求逆c语言正定矩阵求逆c语言正定矩阵求逆c语言正定矩阵求逆c语言正定矩阵求逆
用C语言编程递归求行列式的值
/************************************************************************功能: 用递归方法求行列式的值作者: 黄志斌 于 广西河池在自学《高等数学(二)》时,做行列式习题所得结果有些与教材所附答案不一致,为了验证究竟答案的正确性,编写了这个程序。其实用MS Office中Excel也可以验证,不过自己 DIY  感觉更舒服。
关于C和C++一些大神们的讨论
知乎上曾经有一个关于C和C++语言的讨论,弄的沸沸扬扬。余天升 开源社区一直都不怎么待见C++,自由软件基金会创始人Richard Stallman认为C++有语法歧义,这样子没有必要、非常琐碎还会和C不兼容,并且还带来不了什么非常大的好处。 having ambiguous grammar and “gratuitous, trivial, incompatibilities with C (
易语言钓鱼源码
求大神买走 求大神买走 易语言钓鱼源码
百练4980--拯救行动(BFS)
题目大意:给一个迷宫,骑士救公主,经过一个格子,耗费一个时间,路上有守卫,杀死守卫要耗费一个时间,也就是有守卫的格子要花费两个时间,求最短时间,如果不能,输出Impossible。 分析:BFS。在遇到有守卫的格子时,不能直接加两个时间,而是要把这个格子当做两个格子来走。因为,这样得出最短路不一定是最短时间,比如,你正前方有三个守卫,你要走到正前方第四个格子,走直线的话,花费的时间就是7,假设旁
拯救善意
作者: 祝洪林     推荐人:B31CHENJIAN    来源:《生活日报》    加拿大魁北克省的一个小城,一个大雪分飞的傍晚,一辆轿车慢慢地向前蠕动,车上的鲁尼兹小心翼翼地驾驶着。    走出不远鲁尼兹看到在前边不远处有一个蹒跚的身影。他把车子缓缓地停下来:“请问,需要我的帮助吗?”他探出头,大声的问到。    那是一个六十开外的老人,老人很感激,上了鲁尼兹的车。    突然,一辆轿车迎面