重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#include stdio.h
目前创新互联已为1000多家的企业提供了网站建设、域名、虚拟空间、网站托管维护、企业网站设计、泗阳网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
#include string.h#define NUM 3
struct student
{
char name[20]; /*姓名*/
long num; /*12位学号*/
double sum; /*总分*/
};
void Create_Students(struct student stu[NUM])
{
struct student *p;
printf("请输入学生姓名 学号(12位) 总分:\n");
for( p = stu; p stu+NUM; p++)
{
scanf("%s %d %lf",p-name,p-num,p-sum); }
}
void Order_Students(struct student stu[NUM])//起泡法
{
int i,j;
struct student temp;
for(i=NUM-1;i=0;i--)
for(j=0;ji;j++)
if(stu[j].sumstu[j+1].sum)
{
temp = stu[j];
stu[j] = stu[j+1];
stu[j+1]=temp;
}
}
void main()
{
int i=1;
struct student *p;
struct student stu[NUM];
Create_Students(stu);
Order_Students(stu);
printf("%-20s %-13s %-6s %4s\n","姓名","学号(12位)","总成绩","名次");
for(p=stu;pstu+NUM;p++,i++)
{
printf("%-20s %-13.0d %-8.2f %2d\n",p-name,p-num,p-sum,i);
}
}//你参考参考,嘿
1、打开visual C++ 6.0-文件-新建-文件-C++ Source File。
2、定义数组和变量:#includestdio.hmain(){char a[100], b[100], c[200], *p;int i = 0, j = 0, k = 0;。
3、输入字符串: printf("please input string a:\n");scanf("%s", a); /*输入字符串1放入a数组中*/。
4、输入字符串:printf("please input string b:\n");scanf("%s", b); /*输入字符串2放入b数组中*/。
5、给字符串进行排序。
6、链接字符串并输出:if (a[i] == '\0') /*判断a中字符是否全都复制到c中*/
p = b + j; /*p指向数组b中未复制到c的位置*/。
7、输出最后的结果。
#include "stdio.h"
#define MAX 10
void sort(int *p,int n)
{int i,j;
int temp; //记录每一轮比较中最大值
int maxindex; //记录每一轮比较中最大值的下标
for (i=0;in;i++)
{
temp=p[i];
maxindex=i;
for (j=i+1;jn;j++)
if (tempp[j]) {temp=p[j];maxindex=j;}
if(maxindex!=i){p[maxindex]=p[i];p[i]=temp;}
}
}
/*
void sort(int *p)
{int i,j,k;
for (i=0;i9;i++)
for (j=i+1;j10;j++)
if (p[i]p[j]) {k=p[i];p[i]=p[j];p[j]=k;}
这个是简单选择排序,但是执行效率没有上面的高。不过对于比较小的基数,还是看不出来效率的优劣,如果在基数上百万时,效率高的执行时间将节省不少。
*/
main()
{
int a[MAX],i;
for (i=0;iMAX;i++)
scanf("%d",a[i]);
sort(a,MAX);
for(i=0;iMAX;i++)
printf("%d ,",a[i]);
}
在scanf("%c\n",style);前加 char c; scanf("%c",c);
原因:前面输入数字时有输入回车 scanf把这个回车赋给了style 所以 要把先那个回车吃了
#include stdio.h
void sort1(int a[],int n)
{int i,j,t;
for(i=0;in-1;i++)
for(j=0;jn-1-i;j++)
if(a[j]a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;}
}
void sort2(int a[],int n)
{int i,j,t;
for(i=0;in-1;i++)
for(j=0;jn-1-i;j++)
if(a[j]a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;}
}
int main()
{int i,a[10];
for(i=0;i10;i++)
scanf("%d",a[i]);
printf("\n");
sort1(a,10);
for(i=0;i10;i++)
printf("%d ",a[i]);
printf("\n\n");
sort2(a,10);
for(i=0;i10;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}