指针-C语言 求大神拯救

问题描述

C语言 求大神拯救

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

解决方案

 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

解决方案二:

 #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("yesn");
    else
        printf("non");
    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=%lfn", 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;
}
时间: 2024-10-22 15:03:54

指针-C语言 求大神拯救的相关文章

malloc-c语言指针问题,求大神,新手。

问题描述 c语言指针问题,求大神,新手. #include #include #include struct Student { int age; char name[100]; float score; }; void Ininformation(int * IP_len, struct Student * IP_arr) { int i; for (i = 0; i < *IP_len; ++i) { printf("请输入%d个学生信息: ", *IP_len); prin

c语言 c++-c语言求大神解答,一个数组的基础问题

问题描述 c语言求大神解答,一个数组的基础问题 数组的地址是什么?是不是就是数组名,也就是第一个元素的地址,也就是这个数组的首地址? 解决方案 数组名可以当成指向数组首元素的地址使用. 例如:int a[10]; 可以通过: cout<<*a<<endl; //来输出数组a中的第一个元素. cout<<*(a + i)<<endl; //来输出数组中的第i个元素. 下面两个输出的地址值也是相同的. printf("--->%pn",

生成二维码图片的外边带上文本信息,整体保存成一个图片。求大神拯救。。

问题描述 生成二维码图片的外边带上文本信息,整体保存成一个图片.求大神拯救.. 5C 解决方案 类似于种图片 解决方案二: http://blog.csdn.net/lovexieyuan520/article/details/47722035看看哈

eclipse-被莫名的红叉卡了一天了,求大神拯救

问题描述 被莫名的红叉卡了一天了,求大神拯救 小菜今天导了一maven项目,遇到了莫名其妙的红叉.. 换了很多jdk版本,甚至还换了eclipse.. 百度了很久都没找到行得通的办法.. 跪求拯救 之前也遇到过莫名的红叉,,但对eclipse并不了解,,实在搞不懂原本好好的代码为什么突然有红叉.. 解决方案 看下是不是括号没有配对造成的.

c语言-求大神帮忙看看,好像是指针用错了,但我找不出错

问题描述 求大神帮忙看看,好像是指针用错了,但我找不出错 #include<stdio.h> int main() { int max(int *a); int min(int *b); int aver(int *c); int a[8]; printf("please type eight num:"); for (int i = 0; i < 8; i++) { scanf_s("%d", &a[i]); } printf("

c++ c语言-求大神解答一下(C++语言学习)

问题描述 求大神解答一下(C++语言学习) 先将指针数组指向二维数组,那该指针数组的值能赋怎样的变量? 解决方案 int arr[3][5]; int ** p = arr; arr[1][1] = 2; 解决方案二: 建议你看看c专家编程,上面介绍过数组和指针,写的还不错,自己去看看,这样印象更深刻,还能学一些东西 解决方案三: #include<stdio.h> int main() { int arr[3][2] = {1, 2, 3, 4, 5, 6}; int *p[3]; p[0]

c语言-求大神帮忙 数据结构课程设计怎么做都运行不不起来,下周就要交了,拜托拜托T^T

问题描述 求大神帮忙 数据结构课程设计怎么做都运行不不起来,下周就要交了,拜托拜托T^T 输入文件中含有待格式化(或成为待排版)的文本,由多行文字组成.每一行由一系列被一个或多个空格符所隔开的字所组成,任何完整的字都没被分隔在两行,每行字数不超过80.除了上述文本类字符外,还存在起控制作用的字符:符号"@"指示它后面的正文在格式化时应另起一段排放,即空一行,并在段首缩入8个字符位置."@"自成一个字,一个文本格式化程序可以处理上述输入文件,按照用户指定的版面规格重排

c语言-求大神帮忙 C语言 LeetCode的 Two Sum问题

问题描述 求大神帮忙 C语言 LeetCode的 Two Sum问题 求大神帮忙.我run时显示Runtime Error,不知道问题在哪里.. 还有,我也不理解注释中的: * Note: The returned array must be malloced, assume caller calls free(). 这句是什么意思 题目: Given an array of integers, find two numbers such that they add up to a specif

c语言-求大神设计一个C语言的连连看!!谢谢!!

问题描述 求大神设计一个C语言的连连看!!谢谢!! 1 问题描述 连连看是一个经典的游戏,本课题要求实现一个文本界面的连连看游戏. 2 基本要求 要能提供以下几个基本功能: (1)定义一个矩阵,随机产生字符布置地图,例如下面这个4x4 的地图. 1 2 3 4 B C H C 1 C F B E 2 A E D F 3 C H A D 4 (2)游戏者通过坐标(1,2).(3,4)判定第一行第二列的字符与第三行第四列的字符是相同的),判定争取则相应位置的字符消失,如判断错误给出相应的错误提示,允