user-0 提问: c语言基本结构体编程题急！！

回复:
user: user-1
content: #include <iostream> #include <cstdio> using namespace std; struct stu{     int num;     string name;     char sex;     float score; }boy[6]={         {101,"li ping",'m',45},         {102,"zhang ping",'m',62.5},         {103,"he fang",'m',92.5},         {104,"cheng ling",'f',87},         {106,"wang ming",'m',58}, }; typedef struct stu struct1;//自定义的第一种结构体类型struct1 /*struct1* edit(struct1*moumou) {     moumou->num=105;     moumou->name="ma li";     moumou->sex='f';     moumou->score=58;  } */   void edit1(struct1*shuzu)//把结构体数组的地址传进来 结构体数组boy的地址是boy(指向第一个结构体） {//直接复制第5个结构体到第六个 用=赋值     *(shuzu+5)=*(shuzu+4);    *(shuzu+4)={105,"ma li", 'f', 20};//要保留' "赋值  } void edit2(struct1*shuzu) {     *(shuzu+3)=*(shuzu+4);     *(shuzu+4)=*(shuzu+5);     *(shuzu+5)={0}; } int main() {      //1添加wang ming 号码换成105     //2将cheng ling弄走     //用结构体指针     //struct1*pstu=&boy[3];     edit1(boy); for(int i=0;i<=5;i++) {     cout<<boy[i].num<<' '<<boy[i].name<<' '<<boy[i].sex<<' '<<boy[i].score<<endl;  } edit2(boy);     for(int i=0;i<=4;i++)     {         cout<<boy[i].num<<' '<<boy[i].name<<' '<<boy[i].sex<<' '<<boy[i].score<<endl;      }    }

user: user-2
content: 引用 楼主 supportkitty 的回复:1. 设有一组学生的成绩数据已经放在结构数组boy中，  1）计算不及格人数。  要求：使用结构指针变量作为函数参数编程。 struct stu  {  int num;     char name[20];     char sex;     float score;  }boy[6]={{101,“li ping ”,’m’,45},          {102,“zhang ping”,’m’,62.5},          {103,“he fang”,’m’,92.5},          {104,“cheng ling”,’f’,87},          {106，“wang ming”,’m’,58},};   2) 在学生wang ming之前添加一条记录“105, ma li, f, 20”，并输出所有学生信息。 3) 学生cheng ling已转学，请将其记录从数组中删除，并输出所有学生信息。 希望对你有帮助,代码如下:  #include <stdio.h> #include <string.h>  struct stu  {  int num;     char name[20];     char sex;     float score;  }boy[6]={{101,"li ping",'m',45}, 		{102,"zhang ping",'m',62.5}, 		{103,"he fang",'m',92.5}, 		{104,"cheng ling",'f',87}, 		{106,"wang ming",'m',58},};  int sea(char name[]) { 	int i; 	for(i=0;i<6;i++) 	{ 		if(0==strcmp(name,boy[i].name)) 		{ 			return i; 		} 	} 	return -1; }  void del(char name[]) { 	int i,j; 	i=sea(name); 	if(i!=-1) 	{ 		 		for(j=i;j<5;j++) 		{ 			strcpy(boy[j].name,boy[j+1].name); 			boy[j].num=boy[j+1].num; 			boy[j].sex=boy[j+1].sex; 			boy[j].score=boy[j+1].score; 		} 		strcpy(boy[5].name,"0"); 		boy[5].num=0; 		boy[5].sex='d'; 		boy[5].score=0; 		printf("操作成功!\n"); 	} 	else 	{ 		printf("操作失败!\n"); 	} } void ins(int i,struct stu s) { 	int j; 	for(j=5;j>i;j--) 	{ 		strcpy(boy[j].name,boy[j-1].name); 		boy[j].num=boy[j-1].num; 		boy[j].sex=boy[j-1].sex; 		boy[j].score=boy[j-1].score; 	} 	strcpy(boy[j].name,s.name); 	boy[j].num=s.num; 	boy[j].sex=s.sex; 	boy[j].score=s.score; 	printf("操作成功!\n");  } void main(void) { 	int i,menu; 	bool flag=true; 	char name[20]={'\0'}; 	while(flag) 	{ 		 		printf("请输入正确的功能号(0:退出 1:添加 2:删除)"); 		scanf("%d",&menu); 		switch(menu) 		{ 		case 0: 			flag=false; 			break; 		case 1: 			printf("输入要插入在那个学生之前:"); 			getchar(); 			scanf("%[a-z ]",name);  			if(sea(name)!=-1) 			{ 				struct stu s; 				printf("请输入要插入的学生信息"); 				scanf("%d%[^,]%*[,]%f%c",&s.num,s.name,&s.score,&s.sex); 				ins(sea(name),s); 			} 			else 			{ 				printf("操作失败!\n"); 			} 			for(i=0;i<6;i++) 			{ 				printf("name:%s,sex:%c,num:%d,score:%f\n",boy[i].name,boy[i].sex,boy[i].num,boy[i].score); 			} 			break; 		case 2: 			printf("输入要删除的学生姓名:"); 			getchar(); 			scanf("%[a-z ]",name); 			del(name); 			for(i=0;i<6;i++) 			{ 				printf("name:%s,sex:%c,num:%d,score:%f\n",boy[i].name,boy[i].sex,boy[i].num,boy[i].score); 			} 			break; 		default : 			printf("功能号为(0:退出 1:添加 2:删除)\n"); 		} 	} }  楼上为测试时输入方法。

user: user-2

user: user-3
content: 天天都能看到作业题

user: user-4
content: 没有你这样直接贴问题求代码的吧亲！

user: user-5
content: 先自己想想，看看书，查查资料。