老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)

c語言排序插入函數(shù) c語言使用函數(shù)排序

C語言,直接插入排序,要求:

真是搞不懂你們腦洞,一個插入排序還分成一堆函數(shù)寫。。。

成都創(chuàng)新互聯(lián)專注于鹽城企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城開發(fā)。鹽城網(wǎng)站建設(shè)公司,為鹽城等地區(qū)提供建站服務(wù)。全流程專業(yè)公司,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

#includecstdio

int?a[20];

void?InputArraay(){

for(int?i?=?1;?i?=?10;?i++)scanf("%d",a[i]);

}

void?OutputArraay(){

for(int?i?=?1;?i?=?10;?i++)printf("%d?",a[i]);

}

//插入排序

//1.數(shù)據(jù)分為兩部分,一開始有序部分包含1個元素

//2.依次將無序部分的元素插入到有序部分當(dāng)中

void?Insert(int?i){

int?j?=?i-1,?k?=?a[i];??//j為當(dāng)前下標(biāo),?k為無序部分第一個元素

while(j=1??ka[j]){?//找到k元素在有序部分的位置

a[j+1]?=?a[j];????//循環(huán)的時候直接右移有序數(shù)組,為k騰出位置

j--;?? ?//不是k正確的位置,繼續(xù)往前循環(huán)

}

a[j+1]?=?k;??//出來的時候j多減了1,要加回去

}

void?Sort(){

//遍歷無序部分,每次取出第一個元素

for(int?i?=?2;?i?=?10;?i++){?

Insert(i);

}

}

int?main(){

InputArraay();

Sort();

OutputArraay();

return?0;

}

c語言中定義一種函數(shù)使一組數(shù)從高到低排序

給你一個直接插入排序

#include "stdio.h"

void InsertSort(int a[], int left, int right) {//對數(shù)組a從下標(biāo)為left到right區(qū)域進(jìn)行直接插入排序

int i, j, tmp;

for(i = left + 1; i = right; i++) {

for(j = i - 1, tmp = a[i]; j = left tmp a[j]; j++)

a[j + 1] = a[j];

a[j + 1] = tmp;

}

}

void main( ) {

int i, n, a[100];

scanf("%d", n);

for(i = 0; i n; i++)

scanf("%d", a[i]);

InsertSort(a, 0, n - 1);

printf("\n");

for(i = 0; i n; i++) printf("%d\t", a[i]);

C語言,輸入一組數(shù)進(jìn)行排序,由大到小排列,用自定義函數(shù)實現(xiàn)

給你一個直接插入排序

#include "stdio.h"

void InsertSort(int a[], int left, int right) {//對數(shù)組a從下標(biāo)為left到right區(qū)域進(jìn)行直接插入排序

int i, j, tmp;

for(i = left + 1; i = right; i++) {

for(j = i - 1, tmp = a[i]; j = left tmp a[j]; j++)

a[j + 1] = a[j];

a[j + 1] = tmp;

}

}

void main( ) {

int i, n, a[100];

scanf("%d", n);

for(i = 0; i n; i++)

scanf("%d", a[i]);

InsertSort(a, 0, n - 1);

printf("\n");

for(i = 0; i n; i++) printf("%d\t", a[i]);

}

c語言 編寫數(shù)組的插入函數(shù)

你只需要建立一個數(shù)組,將數(shù)組建立的大一點,然后分兩次輸入數(shù),構(gòu)建一個數(shù)組,在整體排序輸出就行了

求在C語言的代碼中加個排序函數(shù)

都搞好了。

#includestdio.h

#includestdlib.h

#includestring.h

#define LEN 30 /* 學(xué)號和姓名最大字符數(shù),實際請更改 */

#define N 200 /* 最大學(xué)生人數(shù),實際請更改*/

struct record

{

char code[LEN+1]; /* 學(xué)號 */

char name[LEN+1]; /* 姓名 */

int age;

char sex[3];

char time[LEN+1];

char add[LEN+1];

char tel[LEN+1];

char mail[LEN+1];

}stu[N];

int k=1,n,m;

int order[N];

void readfile();/* 函數(shù)聲明 */

void sort();

void seek();

void modify();

void insert();

void del();

void display();

void save();

void menu();

int main()

{

while(k)

menu();

system("pause");

return 0;

}

void readfile()/* 建立信息 */

{

char *p="student.dat";

FILE *fp;

int i=0;

if ((fp=fopen("student.dat","r"))==NULL) /* 把此程序和文件student.dat放在同一目錄下 */

{ printf("Open file %s error! Strike any key to exit!",p);

system("pause");

exit(0);

}

while(fscanf(fp,"%s %s%d%s %s %s %s %s",stu[i].code,stu[i].name,stu[i].age,

stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail)==8)

{

i++;

order[i]=i;

}

fclose(fp);

n=i;

printf("錄入完畢!\n");

}

void seek()

{int i,j,item,flag;

char s1[LEN+1]; /* 以姓名和學(xué)號最長長度+1為準(zhǔn) */

printf("------------------\n");

printf("1.按學(xué)號查詢\n");

printf("2.按姓名查詢\n");

printf("3.退出本菜單\n");

printf("------------------\n");

while(1)

{ printf("請選擇子菜單編號:");

scanf("%d",item);

flag=0;

switch(item)

{

case 1:

printf("請輸入要查詢的學(xué)生的學(xué)號:\n");

scanf("%s",s1);

for(i=0;in;i++)

if(strcmp(stu[i].code,s1)==0)

{ flag=1;

printf("該學(xué)生學(xué)號,姓名,年齡,性別,出生年月,地址,電話,E-mail 分別為:\n");

printf("%s %s %d %s %s %s %s %s\n",stu[i].code,stu[i].name,stu[i].age,

stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);

}

if(flag==0)

printf("該學(xué)號不存在!\n"); break;

case 2:

printf("請輸入要查詢的學(xué)生的姓名:\n");

scanf("%s",s1);

for(i=0;in;i++)

if(strcmp(stu[i].name,s1)==0)

{ flag=1;

printf("該學(xué)生學(xué)號,姓名,年齡,性別,出生年月,地址,電話,E-mail 分別為:\n");

printf("%s %s %d %s %s %s %s %s\n",stu[i].code,stu[i].name,stu[i].age,

stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);

}

if(flag==0)

printf("該姓名不存在!\n"); break;

case 3:return;

default:printf("請在1-3之間選擇\n");

}

}

}

void sort() /*選擇排序*/

{

int i,j,k,t;

for(i=0;in-1;i++)/*共掃視n-1遍*/

{

k=i;

for(j=i+1;jn;j++)

if(strcmp(stu[order[i]].code,stu[order[j]].code)0)

k=j;

if(k!=i)

{/*交換名次*/

t=order[i];

order[i]=order[k];

order[k]=t;

}

}

printf("通訊錄資料按人名號碼從低到高為:\n");

for(i=0;in;i++)

{

printf("%s %s %d %s %s %s %s %s\n",stu[order[i]].code,stu[order[i]].name,stu[order[i]].age,

stu[order[i]].sex,stu[order[i]].time,stu[order[i]].add,stu[order[i]].tel,stu[order[i]].mail);

}

}

void modify() /*修改信息*/

{int i,j,item,num;

char sex1[3],s1[LEN+1],s2[LEN+1]; /* 以姓名和學(xué)號最長長度+1為準(zhǔn) */

printf("請輸入要要修改的學(xué)生的學(xué)號:\n");

scanf("%s",s1);

for(i=0;in;i++)

if(strcmp(stu[i].code,s1)==0)

num=i;

printf("------------------\n");

printf("1.修改姓名\n");

printf("2.修改年齡\n");

printf("3.修改性別\n");

printf("4.修改出生年月\n");

printf("5.修改地址\n");

printf("6.修改電話號碼\n");

printf("7.修改E-mail地址\n");

printf("8.退出本菜單\n");

printf("------------------\n");

while(1)

{ printf("請選擇子菜單編號:");

scanf("%d",item);

switch(item)

{

case 1:

printf("請輸入新的姓名:\n");

scanf("%s",s2);

strcpy(stu[num].name,s2); break;

case 2:

printf("請輸入新的年齡:\n");

scanf("%d",stu[num].age);break;

case 3:

printf("請輸入新的性別:\n");

scanf("%s",sex1);

strcpy(stu[num].sex,sex1); break;

case 4:

printf("請輸入新的出生年月:\n");

scanf("%s",s2);

strcpy(stu[num].time,s2); break;

case 5:

printf("請輸入新的地址:\n");

scanf("%s",s2);

strcpy(stu[num].add,s2); break;

case 6:

printf("請輸入新的電話號碼:\n");

scanf("%s",s2);

strcpy(stu[num].tel,s2); break;

case 7:

printf("請輸入新的E-mail地址:\n");

scanf("%s",s2);

strcpy(stu[num].mail,s2); break;

case 8:return;

default:printf("請在1-8之間選擇\n");

}

}

}

void insert()

{ int i=n,j,flag;

printf("請輸入待增加的學(xué)生數(shù):\n");

scanf("%d",m);

do

{ flag=1;

while(flag)

{ flag=0;

printf("請輸入第 %d 個學(xué)生的學(xué)號:\n",i+1);

scanf("%s",stu[i].code);

for(j=0;ji;j++)

if(strcmp(stu[i].code,stu[j].code)==0)

{ printf("已有該學(xué)號,請檢查后重新錄入!\n");

flag=1;

break; /*如有重復(fù)立即退出該層循環(huán),提高判斷速度*/

}

}

printf("請輸入第 %d 個學(xué)生的姓名:\n",i+1);

scanf("%s",stu[i].name);

printf("請輸入第 %d 個學(xué)生的年齡:\n",i+1);

scanf("%d",stu[i].age);

printf("請輸入第 %d 個學(xué)生的性別:\n",i+1);

scanf("%s",stu[i].sex);

printf("請輸入第 %d 個學(xué)生的出生年月:(格式:年.月)\n",i+1);

scanf("%s",stu[i].time);

printf("請輸入第 %d 個學(xué)生的地址:\n",i+1);

scanf("%s",stu[i].add);

printf("請輸入第 %d 個學(xué)生的電話:\n",i+1);

scanf("%s",stu[i].tel);

printf("請輸入第 %d 個學(xué)生的E-mail:\n",i+1);

scanf("%s",stu[i].mail);

if(flag==0)

{

order[i]=i;

i++;

}

}while(in+m);

n+=m;

printf("錄入完畢!\n\n");

}

void del()

{ int i,j,k,flag=0;

char s1[LEN+1];

printf("請輸入要刪除學(xué)生的學(xué)號:\n");

scanf("%s",s1);

for(i=0;in;i++)

if(strcmp(stu[order[i]].code,s1)==0)

{ flag=1;

for(j=i;jn-1;j++)

stu[order[j]]=stu[order[j+1]];

}

if(flag==0)

printf("該學(xué)號不存在!\n");

if(flag==1)

{ printf("刪除成功,顯示結(jié)果請選擇菜單6\n");

n--;

}

}

void display()

{ int i,j;

printf("所有學(xué)生的信息為:\n");

for(i=0;in;i++)

{

printf("%s %s %d %s %s %s %s %s\n",stu[order[i]].code,stu[order[i]].name,stu[order[i]].age,

stu[order[i]].sex,stu[order[i]].time,stu[order[i]].add,stu[order[i]].tel,stu[order[i]].mail);

}

}

void save()

{ int i;

FILE *fp;

fp=fopen("student.dat","w");

for(i=0;in;i++)

{ fprintf(fp,"%s %s %d %s %s %s %s %s\n",stu[order[i]].code,stu[order[i]].name,stu[order[i]].age,

stu[order[i]].sex,stu[order[i]].time,stu[order[i]].add,stu[order[i]].tel,stu[order[i]].mail);

}

fclose(fp);

}

void menu()/* 界面 */

{ int num;

printf(" \n\n簡易學(xué)生通訊錄系統(tǒng)\n\n");

printf("*****系統(tǒng)功能菜單*****\n");

printf("----------------------\n");

printf("1.讀入學(xué)生信息\n");

printf("2.查詢學(xué)生信息\n");

printf("3.修改學(xué)生信息\n");

printf("4.增加學(xué)生信息\n");

printf("5.按學(xué)號刪除信息\n");

printf("6.顯示當(dāng)前信息\n");

printf("7.保存當(dāng)前學(xué)生信息(要把修改保存到文件,退出程序前必須執(zhí)行本項)\n");

printf("8.按學(xué)號從低到高排序\n");

printf("9.退出系統(tǒng)\n");

printf("----------------------\n");

printf("請選擇菜單編號:");

scanf("%d",num);

switch(num)

{

case 1:readfile();break;/*在主函數(shù)中調(diào)用子函數(shù)時,子函數(shù)不要帶上類型,這和聲明子函數(shù)不同*/

case 2:seek();break;

case 3:modify();break;

case 4:insert();break;

case 5:del();break;

case 6:display();break;

case 7:save();break;

case 8:sort();break;

case 9:k=0;break;

default:printf("請在1-9之間選擇\n");

}

}

c語言 在main()函數(shù)中輸入一個字符串,調(diào)用插入排序函數(shù)對字符串進(jìn)行由小到大

首先根據(jù)插入排序的原理,設(shè)計插入排序函數(shù),函數(shù)傳入?yún)?shù)是字符串?dāng)?shù)組和字符串?dāng)?shù)組的長度,函數(shù)無返回值。然后輸入字符串,調(diào)用函數(shù)排序,最后輸出排序后字符串。

參考代碼:

#includestdio.h

#includestring.h

#define?MAX?1000

void?insert(char?*a,int?n)

{

int?i,j;

char?key;

for(i=1;in;i++)//控制需要插入的元素

{

key=a[i];?//key為要插入的元素

for(j=i;j0??a[j-1]key;j--)?//查找要插入的位置,循環(huán)結(jié)束,則找到插入位置

{

a[j]?=?a[j-1];?//移動元素的位置.供要插入元素使用

}

a[j]?=?key;?//插入需要插入的元素

}

}

int?main()

{

char?a[MAX];

int?n;

gets(a);//輸入字符串

n=strlen(a);

insert(a,n);//調(diào)用函數(shù)排序

printf("after:\n");

puts(a);??

return?0;

}


文章名稱:c語言排序插入函數(shù) c語言使用函數(shù)排序
分享路徑:http://www.xueling.net.cn/article/doddpos.html

其他資訊

在線咨詢
服務(wù)熱線
服務(wù)熱線:028-86922220
TOP
主站蜘蛛池模板: 97爱网站 | 久久国产精品国产精品 | 日本夜夜精 | 久久免费偷拍视频 | 好大好湿好硬顶到了好爽视频 | 欧美大陆国产 | 亚洲自拍r级免费视频 | 一本久道综合在线无码人妻 | 精品久久久久久久久久ntr影视 | 中文综合在线 | 日韩夜精品精品免费观看 | 亚洲国产一区二区三区亚瑟 | 中文字幕有码无码AV | 正在播放东北夫妻内射 | 亚洲Av无码专区国产乱码4 | 手机看片国产精品 | 日韩亚洲中字无码一区二区三区 | 亚洲综合激情五月丁香六月 | 国产精品麻 | 欧美美乳 | 成人信息集中地欧美 | 狠狠亚洲婷婷综合色香五月排名 | 亚洲一区二区三区无码 | 香蕉一区 | 久热网站| 性高潮久久久久 | 久久亚洲色一区二区三区 | 激情综合色综合啪啪五月丁香搜索 | 又色又污又爽又黄的网站 | 乱人伦中文无码视频 | 亚洲网站在线播放 | 日韩毛片免费无码无毒视频观看 | 一区二区三区在线观看国产 | 欧美大片视频在线观看免费视频 | V与子敌伦刺激对白播放 | 午夜三级理论在线观看 | 999视频 | 日本午夜人人精品 | 国产vr在线视频一区二区不卡 | 男人靠女人免费视频 | 中文字幕乱码一区二区 |