为什么运行答案不对啊

img


我代码比较很多 没有看出来哪里不对啊 为什么分别输入1 56 居然无解😭

img

img

在delta = b * b - 4 * a *c;
上面加上一行
scanf("%d %d %d", &a, &b, &c);
去掉下面那个 scanf

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7728593
  • 这篇博客你也可以参考下:给出一个大于或等于3的正整数,判断它是不是一个素数
  • 除此之外, 这篇博客: 常用数据结构与经典算法 简单讲解与示例代码中的 魔术师发牌问题 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    问题描述

    魔术师发牌问题的简介:一位魔术师掏出一叠扑克牌,魔术师取出其中13张黑桃,洗好后,把牌面朝下。
    说:“我不看牌,只数一数就能知道每张牌是什么?”魔术师口中念一,将第一张牌翻过来看正好是A;
    魔术师将黑桃A放到桌上,继续数手里的余牌,
    第二次数1,2,将第一张牌放到这叠牌的下面,将第二张牌翻开,正好是黑桃2,也把它放在桌子上。
    第三次数1,2,3,前面二张牌放到这叠牌的下面,取出第三张牌,正好是黑桃3,这样依次将13张牌翻出,全部都准确无误。

    示例代码(C语言)
    魔术师发牌 Visual Studio 2019

    /**
     * 数据结构 C语言 魔术师发牌
     * @FileName									MagicCard.c
     * @author										W.Lionel.Esaka
     */
    
    #define _CRT_SECURE_NO_WARNINGS
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <malloc.h>
    
    #define Status int;
    #define CORRECT 1;
    #define ERROR 0;
    #define OVERFLOW -1;
    
    #define CardNumber 13;
    
    typedef int ElemType;
    /*定义循环链表结点*/
    typedef struct CLinkedList {
    	ElemType data;
    	struct CLinkedList* Next;
    }Node;
    
    /*初始化链表*/
    void ListInit(Node** p, int number)
    {						 
    	int item = 0;
    	Node* temp;
    	Node* target;
    
    	for (int i = 1; i <= number; i++)
    	{
    		if (*p == NULL)
    		{
    			*p = (Node*)malloc(sizeof(Node));
    			if (!*p)exit(0);
    			(*p)->data = item;
    			(*p)->Next = *p;
    		}
    		else		
    		{
    			for (target = *p; target->Next != *p; target = target->Next);
    
    			temp = (Node*)malloc(sizeof(Node));
    			if (!temp)exit(0);
    			temp->data = item;
    			temp->Next = *p;
    			target->Next = temp;
    		}
    	}
    }
    
    /*设定牌堆顺序*/
    void CardOrder(Node** card)
    {
    	int PokerSize = 2;
    	Node* temp;
    	temp = (*card);
    	(*card)->data = 1;
    
    	while (1)
    	{
    		for (int j = 0; j < PokerSize; j++)
    		{
    			temp = temp->Next;
    			if (temp->data != 0)
    			{
    				temp->Next;
    				j--;
    			}
    		}
    
    		if (temp->data == 0)
    		{
    			temp->data = PokerSize;
    			PokerSize++;
    
    			if (PokerSize == 14)
    				break;
    		}
    	}
    }
    
    /*遍历链表*/
    void CardDisplay(Node* list)
    {
    	Node* target;
    	target = list;
    	do {
    		printf("黑桃%d  ", target->data);
    		target = target->Next;
    	} while (target != list);
    	printf("\n");
    }
    
    /*销毁链表*/
    void DestoryList(Node** list)
    {
    	Node* ptr = (*list);
    	Node* buff[13];
    	int i = 0;
    
    	while (i < 13)
    	{
    		buff[i++] = ptr;
    		ptr = ptr->Next;
    	}
    
    	for (i = 0; i < 13; i++)
    	{
    		free(buff[i]);
    	}
    
    	*list = 0;
    	printf("表已销毁\n");
    }
    
    /*入口*/
    int main(void)
    {
    	Node* list = NULL;
    
    	ListInit(&list, 13);
    	CardOrder(&list);
    	CardDisplay(list);
    	DestoryList(&list);
    }
    
  • 您还可以看一下 朱有鹏老师的巫妖王51单片机开发板配套视频课程课程中的 静态驱动数码管小节, 巩固相关知识点
  • 以下回答来自chatgpt:

    无法回答,因为问题描述的是另一道题目的情况,并没有提供该题目的代码和具体问题。请提供相关代码和问题描述。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^