C语言的题目 我没有读懂题目 麻烦大佬帮帮忙 具体如图

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-08-01
这个c语言的题目我需要做删除的模块。 有没有大佬能帮帮我, 下面是题目和组长定义的结构体。

看你图,你们用的是结构数组不是链表。那么应该有一个变量记录数组实际元素个数。另外身份证成员变量idnum下标,如果是想存储18位身份证号码,应该定义下标19.。
下面代码:cont是记录数组元素个数,要删除的数组元素,会被置0,并移动到数组末尾
int cont=10;//定义全局变量,结构数组实际存储的元素个数!!!!void deleteByid(char *idnum)//通过身份证删除{ int i,j; struct stt ddSave; for(i=0;i<cont;i++) { if(strcmp(dd[i].idnum,idnum)==0) { dd[i].num=0; dd[i].idnum[0]=0; dd[i].cnum[0]=0; dd[i].fy=0; for(j=i;j<cont+1;j++) { ddSave=dd[i]; dd[j]=dd[j+1]; dd[j+1]=ddSave; } cont--; break; } }}

typedef struct tagSTUDENT {

char szStuNumber[7];//学号
char szStuName[21];//姓名
unsigned int TestScores[5];//5门课分数
}STU,*PSTU;

//此函数是用来求一元3次方程ax^3+bx^2+cx+d=0的解
//比如 x^3-x^2-1=0,可以输入1 -1 0 -1
#include<stdio.h>
#include<math.h>

int main()
{
    double Newton(double a,double b,double c,double d,double x);
    double a,b,c,d;
    double x=1000.0;
    printf("请依次输入一元三次方程四个系数:");
    scanf("%lf%lf%lf%lf",&a,&b,&c,&d);
    x=Newton(a,b,c,d,x);
    printf("%lf
",x);
    return 0;
}
double Newton(double a,double b,double c,double d,double x)
{
    while(fabs(a*x*x*x+b*x*x+c*x+d)>0.000001)
    {
        x=x-(a*x*x*x+b*x*x+c*x+d)/(3*a*x*x+2*b*x+c);
    }
    return x;
}

编译、执行结果: