1问题:对学生的整体结构体信息进行整体排序
#include<stdio.h>
#define n 3
int i,j,k,t;
void input(int *p)
{
for(i=0;i<n;i++)
{
printf("请输入第%d名学生的年龄:",i+1);
scanf("%d",(p+i));
}
printf("\n则原先3名学生的年龄为:\n");
for(i=0;i<n;i++)
{
printf("%d\t",*(p+i));
}
}
void paixu(int *p)
{
int *a,*b;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
{
a=(p+i);
b=(p+j);
if(*(p+i)>*(p+j)) k=j;
}
if(k!=i)
{
t=*a;
*a=*b;
*b=t;
}
}
}
void output(int *p)
{
printf("\n则后来3名学生的年龄按照升序排序为:\n");
for(i=0;i<n;i++)
{
printf("%d\t",*(p+i));
}
}
int main()
{
int arr3,*p=arr;
input(p);
paixu(p);
output(p);
return 0;
}
2#include<stdio.h>
#include<string.h>
#define n 3
int i,j,t,m;
void input(char brrn20)
{
for(i=0;i<n;i++)
{
printf("请输入第%d名学生的姓名:",i+1);
gets(brri);
printf("\n");
}
}
void swap(char brrn20)
{
char s200;
int k;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
{
if(strcmp(brri,brrj)>0) k=j;
}
if(k!=i)
{
strcpy(s,brri);
strcpy(brri,brrj);
strcpy(brrj,s);
}
}
}
void output(char brrn20)
{
printf("按照升序为:");
for(i=0;i<n+1;i++)
{
printf("%s\t",brri);
}
}
int main()
{
char arrn20,(*p)20;
p=arr;
input(p);
swap(p);
output(p);
return 0;
}
3#include<stdio.h>
#define n 2
int i,j;
void input(double arr\[\])
{
for(i=0;i<n;i++)
{
printf("请输入第%d名学生的成绩:",i+1);
scanf("%lf",&arri);
}
}
void sort(double arr\[\])
{
int k;
double t;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
{
if(arri>arrj) k=j;
}
if(k!=i)
{
t=arri;
arri=arrj;
arrj=t;
}
}
}
void output(double arr\[\])
{
printf("按照升序输出为:");
for(i=0;i<n;i++)
{
printf("%f\t",arri);
}
}
int main()
{
double arrn,*p=arr;
input(p);
sort(p);
output(p);
}
4筛选法求素数