c语言高手请进!!!在线等~!!

来源:百度知道 编辑:UC知道 时间:2024/05/27 18:04:17
2.编写子函数run实现根据数组要求进行数学的加减运算,数组的每两个元素表示一次运算,第一个元素为命令,1表示加法,2表示减法,0表示运算结束,第二个元素为运算的数值,如数组{ 1,100,2,30,1,50,0,0 }表示运算(100-30+50)。

项目一:使用自己熟悉的C程序设计软件,根据结构体
Struct pill-note
{
Int num; /*法人身份证编号*/
Char name[50]; /*制药公司的名称*/
Char address[100]; /*制药公司地址*/
Struct student-info *pt; /*指针*/
};

为上海市某区的药监局编写一个程序,实现对该区的制药公司的信息的管理:
1) 编写一个函数用来建立一个链表,以表示该区内所有制药公司的相应的信息;
2) 编写一个函数,从链表中查找是否有一个叫“同仁堂”的制药公司:若有则输出他的“法人身份证编号”和“制药公司地址”,否则,输出“该区暂时没有该制药公司的信息!”。
3) 编写一个函数将链表中“法人身份证编号”是某一个给定值的制药公司的信息删除(注意区分节点是在表头,表中,还是在表尾的三种不同情况)。

急需,考试内容,满意的我追大量的分!!!!!!!
上面第一题已经做好,求项目一

int run(int *a){
int result=0,i;
for(i=0;a[i]!=0;i=i+2){
if(a[i]==1) result+=a[i+1];
else if(a[i]==2) result-=a[i+1];
}
return result;
}

我只能按照自己的感觉来写这个。

struct pill-note *create(){
struct pill-note *head=0;
struct pill-note *p;
char c;
do{
if(head==0){
head=(struct pill-note *)malloc(sizeof(struct pill-note));
head->pt=0;
p=head;
}
else{
p->pt=(struct pill-note *)malloc(sizeof(struct pill-note));
p=p->pt;
p->pt=0;
}
printf("输入法人身份证编号:");
scanf("%d",&(p->num));
printf("输入公司名称:");
scanf("%s",p->name);
printf("输入公司地址:");
scanf("%s",p->address);
printf("是否继续输入? y/n ");
c=getchar();
}while(c=='y'||c=='Y');
return head;
}

void search(struct pill-note *head;char *name){
while(head!=0){