C語(yǔ)言程序?qū)嵗?編譯通過(guò)含注釋)_第1頁(yè)
C語(yǔ)言程序?qū)嵗?編譯通過(guò)含注釋)_第2頁(yè)
C語(yǔ)言程序?qū)嵗?編譯通過(guò)含注釋)_第3頁(yè)
C語(yǔ)言程序?qū)嵗?編譯通過(guò)含注釋)_第4頁(yè)
C語(yǔ)言程序?qū)嵗?編譯通過(guò)含注釋)_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

C語(yǔ)言程序?qū)嵗??C語(yǔ)言存儲(chǔ)漢字程序#include<stdio.h>voidmain(){chara[2];printf("請(qǐng)先用ctrl+空格鍵切換成漢字輸入法\n");printf("請(qǐng)輸入漢字\n");scanf("%s",&a);printf("%s",a);getchar();getchar();}(orgetsputsC中)二?C語(yǔ)言延時(shí)程序#include<stdio.h>#include<time.h>#include<windows.h>voidmain(){Sleep(3000);//延時(shí)3秒printf("start!");getch();}三?動(dòng)態(tài)鏈表的建立與輸出假設(shè)鏈表不超過(guò)30個(gè)結(jié)點(diǎn)#include<stdio.h>#include<stdlib.h〉//包含system和malloc函數(shù)#defineLENsizeof(structLnode)typedefstructLnode{intkey;structLnode*next;}Lnode[31];//鏈表最后一個(gè)結(jié)點(diǎn)存放空指針;以防30個(gè)結(jié)點(diǎn)時(shí),所以多定義一個(gè)結(jié)點(diǎn)使最大允許結(jié)點(diǎn)數(shù)為31voidmain(){structLnode*p,*q,*head;inti,length,limit=1;while(limit==l)//當(dāng)輸入的鏈表長(zhǎng)度即結(jié)點(diǎn)數(shù)超出30時(shí),不執(zhí)行建立鏈表的程序{printf("請(qǐng)輸入鏈表長(zhǎng)度:(〈=30)");scanf("%d",&length);system("cls");if(length〈=30)limit=0;}//建立鏈表for(i=0;i〈length;i++){p=(structLnode*)malloc(LEN);//由于p為指向結(jié)構(gòu)體類型數(shù)據(jù)的指針,而malloc帶回的是不指向任何類型數(shù)據(jù)的指針(void*),所以加了structLnode*將malloc返回的指針強(qiáng)制轉(zhuǎn)換為指向結(jié)構(gòu)體類型數(shù)據(jù)的指針,malloc用于開辟一個(gè)長(zhǎng)度為L(zhǎng)EN的連續(xù)內(nèi)存區(qū),每次循環(huán)開辟一個(gè)新結(jié)點(diǎn)使p指向它if(i==0)head=q=p;elseq->next=p;q=p; //p,q后移一位printf("請(qǐng)輸入key%d:",i+l);scanf("%d",&p->key);}p-〉next=NULL;//最后這個(gè)結(jié)點(diǎn)為空p=head;//把鏈表的頭指針賦給pwhile(p!=NULL){printf("%d\n",p-〉key);p=p-〉next;//p后移一位}}鏈表、含4個(gè)數(shù)的單向靜態(tài)鏈表的建立和輸出#include〈stdio.h>//含4個(gè)數(shù)3,5,8,11的簡(jiǎn)單單向靜態(tài)鏈表的建立和輸出structshu{longnum;structshu*next;//next指向結(jié)構(gòu)體shu的指針};voidmain(){structshua,b,c,d,*head,*p;//把鏈表中的所有整數(shù)都一一定義為結(jié)構(gòu)體,以便使用-〉or.num=3;num=5;num=8;num=11;head=&a;next=&b;next=&c;next=&d;next=NULL;p=head;printf("該鏈表={");while(p!=NULL){printf("%d",p-〉num);p=p-〉next;if(p!=NULL)//為了最后一個(gè)數(shù)后面沒逗號(hào)printf(",");}printf("}");}鏈隊(duì)列程序#include<stdio.h〉#include<stdlib.h〉//包含system和malloc函數(shù)#defineLENsizeof(structLq)typedefstructLq{charelem;structLq*next;}Lq;voidmain(){intflag=1,j;structLq*Qfront,*Qrear,*p;Qfront=Qrear=(structLq*)malloc(LEN);Qfront-〉next=NULL;//隊(duì)列初始化,頭指針尾指針均指向頭結(jié)點(diǎn)(頭結(jié)點(diǎn)中無(wú)元素)// 程序解說(shuō) printf("本程序?qū)崿F(xiàn)鏈隊(duì)列的操作.\n");printf("可以進(jìn)行進(jìn)隊(duì)列,出隊(duì)列等操作.\n");// while(flag){printf(〃請(qǐng)選擇:\n〃);printf(" 1.顯示隊(duì)列中所有元素\n");TOC\o"1-5"\h\zprintf(" 2.進(jìn)隊(duì)列 \n");printf(" 3.出隊(duì)列 \n");printf(" 4.退出程序 \n");scanf("%d",&j);system("cls");switch(j){case1://*********顯示所有元素**********if(Qfront==Qrear){printf("error!隊(duì)列為空列.");}else{printf("隊(duì)列元素為:\n");p=Qfront->next;while(p!=NULL){printf(" %c\n",p->elem);p=p->next;}}// *1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1*//break;case2://**********進(jìn)隊(duì)列************printf("請(qǐng)輸入要進(jìn)入的元素:");p=(structLq*)malloc(LEN);getchar();scanf("%c",&p->elem);system("cls");p->next=NULL;Qrear->next=p;Qrear=p;printf("進(jìn)隊(duì)列成功!");//*1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1*//break;case3://*******出隊(duì)列******if(Qfront==Qrear)printf("error!隊(duì)列為空!");p=Qfront->next;Qfront->next=p->next;if(Qrear==p)Qrear=Qfront;printf("出隊(duì)列成功!");//*1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1*//break;case4:flag=0;break;default:printf("error!\n");}printf("\n");}}棧和隊(duì)列1、 試編寫算法,在順序存儲(chǔ)結(jié)構(gòu)下實(shí)現(xiàn)堆棧的下列運(yùn)算:initstk(s)。初始化操作,建立一個(gè)空棧s;emptystk(s)。判定棧是否為空;pushstk(s)。如果棧s不滿,在棧頂插入x;popstk(s)。如果棧s不空,刪除棧頂元素,并返回該元素的值;getstk(s)。如果棧s不空,返回棧頂元素。2、 試編寫算法,實(shí)現(xiàn)鏈隊(duì)列的下列操作算法:initlq(q)。初始化操作,建立一個(gè)空隊(duì)列q;emptylq(q)。判定隊(duì)列q是否為空;enterlq(q)。進(jìn)隊(duì)列;deletelq(q)。出隊(duì)列。#include<stdio.h>#include<stdlib.h>#defineMAX5//定義堆棧最大容量voidmain(){charelem[MAX];//棧區(qū)inttop=-1;//初始化棧頂指針為-1intflag=1;charch;inti,j;// 程序解說(shuō) printf("本程序?qū)崿F(xiàn)順序結(jié)構(gòu)的堆棧的操作.\n");printf("可以進(jìn)行入棧,出棧,取棧頂元素等操作.\n");// while(flag){printf(〃請(qǐng)選擇:\n〃);printf("1.顯示棧中所有元素\n")printf("2.入棧\n")printf("3.出棧\n");printf("4.取棧頂元素\n");printf("5.退出程序\n");scanf("%d",&j);system("cls");switch(j){case1://*********顯示所有元素**********if(top==-1)printf("堆棧為空棧!\n");else{printf("堆棧所有元素:\n");for(i=0;i<=top;i++){printf(" %c",elem[i]);printf("\n");}}// *1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1*//break;case2:if(top==MAX-l)//判斷是否棧滿printf("error!棧已滿!");//**********入棧************else{printf("請(qǐng)輸入要入棧的元素:");scanf("%c",&ch);//輸入要入棧的元素system("cls");top++; //棧頂指針top加一elem[top]=ch; //入棧printf("入棧成功!");}//*1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1*//break;case3://*******出棧********if(top==-1)printf("error!棧已空!");else{top--; //棧頂指針減一printf("出棧成功!");}////break;case4://*********取得棧頂元素*********if(top==-1)printf("error!棧為空棧!");else{printf("棧頂元素為:%c",elem[top]);//顯示棧頂元素}//*X**X**X**X**X**X**X**X**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1*//break;case5:flag=0;default:printf("error!\n");}printf("\n");}}#include<stdio.h>#include<stdlib.h〉//包含system和malloc函數(shù)#defineLENsizeof(structLq)typedefstructLq{charelem;structLq*next;}Lq;voidmain(){intflag=1,j;structLq*Qfront,*Qrear,*p;Qfront=Qrear=(structLq*)malloc(LEN);Qfront-〉next=NULL;//隊(duì)列初始化,頭指針尾指針均指向頭結(jié)點(diǎn)(頭結(jié)點(diǎn)中無(wú)元素)// 程序解說(shuō) printf("本程序?qū)崿F(xiàn)鏈隊(duì)列的操作.\n");printf("可以進(jìn)行進(jìn)隊(duì)列,出隊(duì)列等操作.\n");// while(flag)printf(〃請(qǐng)選擇:\n〃);printf(" 1.顯示隊(duì)列中所有元素\n");TOC\o"1-5"\h\zprintf(" 2.進(jìn)隊(duì)列 \n");printf(" 3.出隊(duì)列 \n");printf(" 4.退出程序 \n");scanf("%d",&j);system("cls");switch(j){case1://*********顯示所有元素**********if(Qfront=二Qrear)//隊(duì)列為空時(shí){printf("error!隊(duì)列為空列.");}else{printf("隊(duì)列元素為:\n");p=Qfront->next;while(p!二NULL)//顯示隊(duì)列中所有元素{printf(" %c\n",p->elem);p=p->next;}}// *1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1*//break;case2://**********進(jìn)隊(duì)列************printf("請(qǐng)輸入要進(jìn)入的元素:");p=(structLq*)malloc(LEN);//生成一個(gè)新結(jié)點(diǎn)getchar();scanf("%c",&p-〉elem);//賦值system("cls");p-〉next=NULL;Qrear-〉next=p;//插入至隊(duì)列尾Qrear=p;//修改隊(duì)尾指針printf("進(jìn)隊(duì)列成功!");//*1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1*//break;case3://*******出隊(duì)列******if(Qfront==Qrear)//判斷隊(duì)列是否已空printf("error!隊(duì)列為空!");p=Qfront-〉next;//p指向隊(duì)列中第一個(gè)元素Qfront-〉next=p-〉next;//修改隊(duì)首指針if(Qrear==p)//若隊(duì)列已空,把隊(duì)尾指針指向頭結(jié)點(diǎn)Qrear=Qfront;printf("出隊(duì)列成功!");//*1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1*//break;case4:flag=0;break;default:printf("error!\n");}printf("\n");}}題目:假設(shè)以順序存儲(chǔ)結(jié)構(gòu)存放字符串,實(shí)現(xiàn)下列基本操作CreatString(&S)。輸入并建立順序存儲(chǔ)的字符串S;SubString(&T,S,pos,len)。求S串從pos開始長(zhǎng)度為len的子串放入T串;Strlnsert(&S,i,T)。在串S的第i個(gè)字符前插入T;StrDelele(&T,S,i,len)。從串S中刪除第i個(gè)字符起長(zhǎng)度為len的子串送到T中。#include<stdio.h>voidmain(){inti;intT[3];//定義串T長(zhǎng)度為3intSl[14];//定義串SI長(zhǎng)度為14intS2[8];//定義串S2長(zhǎng)度為8intS[n]={'s','h','u','j','u','j','i','e','g','o','u'};//設(shè)字符串S為shujujiegou長(zhǎng)度為11printf("字符串S為shujujiegou\n");for(i=0;i〈3;i++)//求該字符串從第六個(gè)元素開始長(zhǎng)度為3的子串并賦給字符串TT[i]=S[i+5];printf(〃該字符串從第六個(gè)元素開始長(zhǎng)度為3的子串T為:〃);for(i=0;i〈3;i++)printf("%c",T[i]);printf("\n");for(i=0;i<3;i++)//在串S的第1個(gè)字符前插入串T形成串S1S1[i]=T[i];for(i=0;i〈11;i++)S1[i+3]=S[i];printf("在串S的第1個(gè)字符前插入串T后形成的新串S為:");for(i=0;i〈14;i++)printf("%c",S1[i]);printf("\n");for(i=0;i〈8;i++)//從串S中刪除第1個(gè)字符起長(zhǎng)度為3的子串送到T中S2[i]=S[i+3];for(i=0;i〈3;i++)T[i]=S[i];printf(〃從串S中刪除第1個(gè)字符起長(zhǎng)度為3的子串后串T為:〃);for(i=0;i〈3;i++)printf("%c",T[i]);printf("\n");printf(〃從串S中刪除第1個(gè)字符起長(zhǎng)度為3的子串后串S為:〃);for(i=3;i〈11;i++)printf("%c",S[i]);printf("\n");getch();}——順序棧程序#include〈stdio.h>#include〈stdlib.h>#defineMAX5//定義堆棧最大容量voidmain(){charelem[MAX];//棧區(qū)inttop=-1;//初始化棧頂指針為-1intflag=1;charch;inti,j;// 程序解說(shuō) printf("本程序?qū)崿F(xiàn)順序結(jié)構(gòu)的堆棧的操作.\n");printf("可以進(jìn)行入棧,出棧,取棧頂元素等操作.\n");// while(flag){printf(〃請(qǐng)選擇:\n〃);TOC\o"1-5"\h\zprintf(" 1?顯示棧中所有元素 \n");printf(" 2.入棧 \n");printf(" 3.出棧 \n");printf(" 4.取棧頂元素 \n");printf(" 5.退出程序 \n");scanf("%d",&j);system("cls");switch(j){case1://*********顯示所有元素**********if(top==-1)printf("堆棧為空棧!\n");else{printf("堆棧所有元素:\n");for(i=0;i<=top;i++){printf(" %c",elem[i]);printf("\n");}}// *1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1*//break;case2:if(top==MAX-l)//判斷是否棧滿printf("error!棧已滿!");//**********入棧************else{printf("請(qǐng)輸入要入棧的元素:");scanf("%c",&ch);//輸入要入棧的元素system("cls");top++; //棧頂指針top加一elem[top]=ch; //入棧printf("入棧成功!");}//*1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1**1*//break;case3://*******出棧********if(top==-1)printf("error!棧已空!");else{top--; //棧頂指針減一printf("出棧成功!");}//*i**i**i**i**i**i**i**i**i**i**i**i**i**i**i**i**i**i**i*//break;case4://*********取得棧頂元素*********if(top==-1)printf("error!棧為空棧!");else{printf("棧頂元素為:%c",elem[top]);//顯示棧頂元素}//*X**X**X**X**X**X**X**X**i**i**i**i**i**i**i**i**i**i**i**i**i**i**i**i**i**i**i**i**i**i*//break;case5:flag=0;default:printf("error!\n");}printf("\n");}}C語(yǔ)言顏色程序voidmain(){system("color7E");printf("Q");}C語(yǔ)言字體顏色背景九.題目:有若干學(xué)生(設(shè)有3個(gè)學(xué)生)的成績(jī)(設(shè)每個(gè)學(xué)生有4門課程),編程找出其中有不及格課程的學(xué)生,輸出他們的全部課程的成績(jī)#include<stdio.h>#defineN3structstudent{charname[10];intscore[4];}stu[N];voidmain(){inti,j,fail,read;/*fail:用來(lái)記錄有不及格課程的學(xué)生的序號(hào),read:將所有學(xué)生的所有分?jǐn)?shù)一一賦給read*/for(i=0;i<N;i++){printf("請(qǐng)輸入第%d個(gè)學(xué)生的姓名拼音:\n",i+l);scanf("%s",&stu[i].name);system("cls");/*清屏*/printf("請(qǐng)輸入第%d個(gè)學(xué)生的語(yǔ)文成績(jī):\n",i+l);scanf("%d",&stu[i].score[0]);system("cls");printf("請(qǐng)輸入第%d個(gè)學(xué)生的數(shù)學(xué)成績(jī):\n",i+l);scanf("%d",&stu[i].score[1]);system("cls");printf("請(qǐng)輸入第%d個(gè)學(xué)生的英語(yǔ)成績(jī):\n",i+l);scanf("%d",&stu[i].score[2]);system("cls");printf("請(qǐng)輸入第%d個(gè)學(xué)生的物理成績(jī):\n",i+l);scanf("%d",&stu[i].score[3]);system("cls");}for(i=0;i<N;i++){for(j=0;j<4;j++){read=stu[i].score[j];if(read<60){fail二i;/*記錄有不及格課程的學(xué)生的序號(hào)并賦給fail*/printf("%s:語(yǔ)文:%d 數(shù)學(xué):%d 英語(yǔ):%d 物理:%d\n",stu[fail].name,stu[fail].score[0],stu[fail].score[l],stu[fail].score[2],stu[fail].score[3]);break;/*對(duì)于不止一科不及格的同學(xué),上述程序會(huì)重復(fù)顯示他的所有信息,所以只要有一門小于60的課程出現(xiàn)時(shí),就打破該循環(huán),直接跳到下一循環(huán)*/}}}getch();/*為看到結(jié)果,待關(guān)閉*/}十.約瑟夫出圈程序#include<stdio.h>#include<stdlib.h〉//包含system和malloc函數(shù)#defineLENsizeof(structLnode)typedefstructLnode{intkey;intnum;//每個(gè)結(jié)點(diǎn)的序號(hào)structLnode*next;}Lnode[30];voidmain(){inta[30],m,j=0;//a[30]用于最后依次輸出出圈的人的序號(hào),m為每次出圈的密碼,j為計(jì)數(shù)器structLnode*p,*q,*head,*c;//c用于刪除結(jié)點(diǎn)inti,length,limit=l;//limit用于判斷輸入的人數(shù)是否超出30,length為輸入人數(shù),i用于計(jì)數(shù)循環(huán)printf("請(qǐng)輸入人數(shù)(〈=30):");while(limit==1)//當(dāng)輸入人數(shù)超出30時(shí),不執(zhí)行下面的程序{scanf("%d",&length);system("cls");if(length〈=30){printf("請(qǐng)輸入初始密碼:");scanf("%d",&m);system("cls");limit=0;//以下開始建立鏈表for(i=0;i〈length;i++){p=(structLnode*)malloc(LEN);//由于p為指向結(jié)構(gòu)體類型數(shù)據(jù)的指針,而malloc帶回的是不指向任何類型數(shù)據(jù)的指針(void*),所以加了structLnode*將malloc返回的指針強(qiáng)制轉(zhuǎn)換為指向結(jié)構(gòu)體類型數(shù)據(jù)的指針,malloc用于開辟一個(gè)長(zhǎng)度為L(zhǎng)EN的連續(xù)內(nèi)存區(qū),每次循環(huán)開辟一個(gè)新結(jié)點(diǎn)使p指向它if(i==0)head=q=p;elseq->next=p;q=p; //p,q后移一位printf("請(qǐng)輸入key%d(〉0):",i+l);scanf("%d",&p->key);p-〉num=i+1;}q-〉next=head;//表尾連到表頭,形成循環(huán)單鏈表p=head;//把鏈表的頭指針賦給p//鏈表建立完畢while((length-j)!=2)//當(dāng)剩下的結(jié)點(diǎn)數(shù)大于2時(shí){for(i=0;i〈m-2;i++)p=p-〉next;//p后移m-1個(gè)位置c=p-〉next;p-〉next=c-〉next;//刪除結(jié)點(diǎn)a[j]=c-〉num;//把刪除的結(jié)點(diǎn)的序號(hào)記錄在數(shù)組a內(nèi)j++;m=c-〉key;p=p-〉next;//p后移一位if(m%2==0)//出圈密碼為偶數(shù)時(shí)p=p->next;else;a[j]=p->num;p=p->next;a[j+1]=p->num;for(j=0;j<length;j++)printf("%d\n",a[j]);}elseprintf("輸入人數(shù)超過(guò)最大允許人數(shù),請(qǐng)重新輸入:");}}十一.運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)程序#include<stdio.h>#definen10//學(xué)校總數(shù)#definem2//男子項(xiàng)目個(gè)數(shù)#definew2//女子項(xiàng)目個(gè)數(shù)//1為男子跳高項(xiàng)目編號(hào),2為男子跳遠(yuǎn)項(xiàng)目編號(hào),3為女子跳高項(xiàng)目編號(hào),4為女子跳遠(yuǎn)編號(hào),//學(xué)校編號(hào)取1~10,跳高項(xiàng)目取前5名的成績(jī),跳遠(yuǎn)項(xiàng)目取前3名的成績(jī)voidmain(){inta,i,j,k,t,b=l,h[10];//h[10]排序輸出時(shí)用于作輔助空間intmatg[10];//依次存儲(chǔ)男子跳高項(xiàng)目依次存儲(chǔ)的第1~5名的成績(jī)和1~5名的學(xué)校編號(hào)intmaty[6];//依次存儲(chǔ)男子跳遠(yuǎn)項(xiàng)目的第1~3名的成績(jī)和1~3名的學(xué)校編號(hào)intwomtg[10];//依次存儲(chǔ)女子跳高項(xiàng)目的第1~5名的成績(jī)和廣5名的學(xué)校編號(hào)intwomty[6];//依次存儲(chǔ)女子跳遠(yuǎn)項(xiàng)目的第1~3名的成績(jī)和1~3名的學(xué)校編號(hào)staticintalsco[10]={0,0,0,0,0,0,0,0,0,0};//數(shù)據(jù)初始化,依次存十個(gè)學(xué)校的總分staticintalwomsco[10]={0,0,0,0,0,0,0,0,0,0};//數(shù)據(jù)初始化,依次存十個(gè)學(xué)校的女子團(tuán)體總分staticintalmasco[10]={0,0,0,0,0,0,0,0,0,0};//數(shù)據(jù)初始化,依次存十個(gè)學(xué)校的男子團(tuán)體總分staticintsmatg[lO]={O,O,O,O,O,O,O,O,O,O};//數(shù)據(jù)初始化,依次存十個(gè)學(xué)校的男子跳高項(xiàng)目總分staticintsmaty[lO]={O,O,O,O,O,O,O,O,O,O};//數(shù)據(jù)初始化,依次存十個(gè)學(xué)校的男子跳遠(yuǎn)項(xiàng)目總分staticintswomtg[lO]={O,O,O,O,O,O,O,O,O,O};//數(shù)據(jù)初始化,依次存十個(gè)學(xué)校的女子跳高項(xiàng)目總分staticintswomty[lO]={O,O,O,O,O,O,O,O,O,O};//數(shù)據(jù)初始化,依次存十個(gè)學(xué)校的女子跳遠(yuǎn)項(xiàng)目總分printf(〃 歡迎進(jìn)入運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)系統(tǒng), \n");do//實(shí)現(xiàn)循環(huán){printf("請(qǐng)選擇下一步:\n");printf(" 1?輸入各個(gè)項(xiàng)目的前三名或前五名的成績(jī)\n 2?查詢各學(xué)校總分\n 3.查詢學(xué)校某個(gè)項(xiàng)目的情況\n 4.查詢?nèi)〉们叭蚯拔迕膶W(xué)校\n5?排序輸出\n〃);scanf("%d",&a);switch(a){// 輸入各個(gè)項(xiàng)目的前三名或前五名的成績(jī) //case1: for(j=0;j<4;j++){printf("請(qǐng)輸入項(xiàng)目的編號(hào):\n");getchar();//待輸入(隔斷下面的清屏)scanf("%d",&a);system("cls");//清屏if(a==1)//男子跳高項(xiàng)目for(i=0;i<5;i++){printf(〃請(qǐng)輸入獲得男子跳高項(xiàng)目第%d名所在的學(xué)校編號(hào):\n〃,i+1);getchar();scanf("%d",&matg[i+5]);system("cls");printf("請(qǐng)輸入男子跳高項(xiàng)目第%d名的成績(jī):\n",i+1);getchar();scanf("%d",&matg[i]);system("cls");}elseif(a==2)//男子跳遠(yuǎn)項(xiàng)目for(i=0;i<3;i++){printf(〃請(qǐng)輸入獲得男子跳遠(yuǎn)項(xiàng)目第%d名所在的學(xué)校編號(hào):\n〃,i+1);getchar();scanf("%d",&maty[i+3]);system("cls");printf("請(qǐng)輸入男子跳遠(yuǎn)項(xiàng)目第%d名的成績(jī):\n",i+1);getchar();scanf("%d",&maty[i]);system("cls");}elseif(a==3)//女子跳高項(xiàng)目for(i=0;i<5;i++){printf(〃請(qǐng)輸入獲得女子跳高項(xiàng)目第%d名所在的學(xué)校編號(hào):\n〃,i+l);getchar();scanf("%d",&womtg[i+5]);system("cls");printf("請(qǐng)輸入女子跳高項(xiàng)目第%d名的成績(jī):\n",i+l);getchar();scanf("%d",&womtg[i]);system("cls");}elseif(a==4)//女子跳遠(yuǎn)項(xiàng)目for(i=0;i<3;i++){printf(〃請(qǐng)輸入獲得女子跳遠(yuǎn)項(xiàng)目第%d名所在的學(xué)校編號(hào):\n〃,i+l);getchar();scanf("%d",&womty[i+3]);system("cls");printf("請(qǐng)輸入女子跳遠(yuǎn)項(xiàng)目第%d名的成績(jī):\n",i+l);getchar();scanf("%d",&womty[i]);system("cls");}}// 統(tǒng)計(jì)學(xué)校總分和男子團(tuán)體總分和女子團(tuán)體總分和各學(xué)校各項(xiàng)目總分 //for(i=0;i<10;i++)if((i+1)==matg[5])//統(tǒng)計(jì)男子跳高項(xiàng)目第一名{k=i;alsco[k]+=7;//該學(xué)??偡旨?almasco[k]+=7;//該學(xué)校男子團(tuán)體總分加7smatg[k]+=7;//該學(xué)校男子跳高項(xiàng)目總分加7}for(i=0;i<10;i++)if((i+1)==matg[6])//統(tǒng)計(jì)男子跳高項(xiàng)目第二名{k=i;alsco[k]+=5;//該學(xué)校總分加5almasco[k]+=5;smatg[k]+=5;}for(i=0;i<10;i++)if((i+l)==matg[7])//統(tǒng)計(jì)男子跳高項(xiàng)目第三名{k=i;alsco[k]+=3;almasco[k]+=3;smatg[k]+=3;}for(i=0;i<10;i++)if((i+1)==matg[8])//統(tǒng)計(jì)男子跳高項(xiàng)目第四名{k=i;alsco[k]+=2;almasco[k]+=2;smatg[k]+=2;}for(i=0;i<10;i++)if((i+1)==matg[9])//統(tǒng)計(jì)男子跳高項(xiàng)目第五名{k=i;alsco[k]+=1;almasco[k]+=1;smatg[k]+=1;}for(i=0;i<10;i++)if((i+1)==maty[3])//統(tǒng)計(jì)男子跳遠(yuǎn)項(xiàng)目第一名{k=i;alsco[k]+=5;almasco[k]+=5;smaty[k]+=5;}for(i=0;i<10;i++)if((i+1)==maty[4])//統(tǒng)計(jì)男子跳遠(yuǎn)項(xiàng)目第二名{k=i;alsco[k]+=3;almasco[k]+=3;smaty[k]+=3;}for(i=0;i<10;i++)if((i+1)==maty[5])//統(tǒng)計(jì)男子跳遠(yuǎn)項(xiàng)目第三名{k=i;alsco[k]+=2;almasco[k]+=2;smaty[k]+=2;}for(i=0;i<10;i++)if((i+l)==womtg[5])//統(tǒng)計(jì)女子跳高項(xiàng)目第一名{k=i;alsco[k]+=7;alwomsco[k]+=7;swomtg[k]+=7;}for(i=0;i<10;i++)if((i+1)==womtg[6])//統(tǒng)計(jì)女子跳高項(xiàng)目第二名{k=i;alsco[k]+=5;alwomsco[k]+=5;swomtg[k]+=5;}for(i=0;i<10;i++)if((i+1)==womtg[7])//統(tǒng)計(jì)女子跳高項(xiàng)目第三名{k=i;alsco[k]+=3;alwomsco[k]+=3;swomtg[k]+=3;}for(i=0;i<10;i++)if((i+1)==womtg[8])//統(tǒng)計(jì)女子跳高項(xiàng)目第四名{k=i;alsco[k]+=2;alwomsco[k]+=2;swomtg[k]+=2;}for(i=0;i<10;i++)if((i+1)==womtg[9])//統(tǒng)計(jì)女子跳高項(xiàng)目第五名{k=i;alsco[k]+=1;alwomsco[k]+=1;swomtg[k]+=1;}for(i=0;i<10;i++)if((i+l)==womty[3])//統(tǒng)計(jì)女子跳遠(yuǎn)項(xiàng)目第一名{k=i;alsco[k]+=5;alwomsco[k]+=5;swomty[k]+=5;}for(i=0;i<10;i++)if((i+1)==womty[4])//統(tǒng)計(jì)女子跳遠(yuǎn)項(xiàng)目第二名{k=i;alsco[k]+=3;alwomsco[k]+=3;swomty[k]+=3;}for(i=0;i<10;i++)if((i+1)==womty[5])//統(tǒng)計(jì)女子跳遠(yuǎn)項(xiàng)目第三名{k=i;alsco[k]+=2;alwomsco[k]+=2;swomty[k]+=2;}break;case2:// 查詢各學(xué)??偡?//printf("請(qǐng)輸入學(xué)校編號(hào):\n");getchar();scanf("%d",&k);system("cls");for(i=0;i<10;i++)if(i==(k-1)){k=i;printf("該學(xué)校已獲總分%%d\n\n",alsco[k]);}break;case3: // 按學(xué)校編號(hào)查詢學(xué)校某個(gè)項(xiàng)目的情況 //printf("請(qǐng)輸入學(xué)校編號(hào):\n");getchar();scanf("%d",&k);printf("請(qǐng)輸入項(xiàng)目編號(hào):\n");getchar();scanf("%d",&j);system("cls");if(j==1)printf("該學(xué)校男子跳高項(xiàng)目已獲分?jǐn)?shù)為:%d\n\n",smatg[kT]);elseif(j==2)printf("該學(xué)校男子跳遠(yuǎn)項(xiàng)目已獲分?jǐn)?shù)為:%d\n\n",smaty[kT]);elseif(j==3)printf("該學(xué)校女子跳高項(xiàng)目已獲分?jǐn)?shù)為:%d\n\n",swomtg[kT]);elseif(j==4)printf("該學(xué)校女子跳遠(yuǎn)項(xiàng)目已獲分?jǐn)?shù)為:%d\n\n",swomty[kT]);break;case4:// 按項(xiàng)目查詢?nèi)〉们叭蚯拔迕膶W(xué)校 //printf("請(qǐng)輸入項(xiàng)目編號(hào):\n");getchar();scanf("%d",&k);system("cls");if(k==1)printf("男子跳高項(xiàng)目獲得前五名的學(xué)校依次為:%d,%d,%d,%d,%d\n\n",matg[5],matg[6],matg[7],matg[8],matg[9]);elseif(k==2)printf("男子跳遠(yuǎn)項(xiàng)目獲得前三名的學(xué)校依次為:%d,%d,%d\n\n",maty[3],maty[4],maty[5]);elseif(k==3)printf("女子跳高項(xiàng)目獲得前五名的學(xué)校依次為:%d,%d,%d,%d,%d\n\n",womtg[5],womtg[6],womtg[7],womtg[8],womtg[9]);elseif(k==4)printf("男子跳遠(yuǎn)項(xiàng)目獲得前三名的學(xué)校依次為:%d,%d,%d\n\n",womty[3],womty[4],womty[5]);break;case5:// 按學(xué)校編號(hào)、學(xué)??偡?、男女團(tuán)體總分排序輸出 //printf("請(qǐng)選擇:1.按學(xué)??偡峙判蜉敵鯸n 2.按男子團(tuán)體總分排序輸出\n3.按女子團(tuán)體總分排序輸出\n");getchar();scanf("%d",&k);system("cls");if(k==1){for(i=0;i<10;i++)h[i]=alsco[i];//為了不打破與學(xué)??偡謱?duì)應(yīng)的學(xué)校編號(hào),借用輔助數(shù)組實(shí)現(xiàn)排序for(i=0;i〈9;i++)//冒泡排序for(j=0;j<9-i;j++)if(h[j]〈h[j+1]){t=h[j];h[j]=h[j+1];h[j+1]=t;}for(i=0;i<10;i++){for(j=0;j〈10;j++)//尋找與總分對(duì)應(yīng)的學(xué)校編號(hào)if(alsco[j]==h[i])t=j+1;if(h[i]!=0)printf("學(xué)校編號(hào):%d 學(xué)??偡?%d\n",t,h[i]);}printf("(若有未顯示的學(xué)校,其學(xué)??偡譃镺)\n\n");}elseif(k==2){for(i=0;i〈10;i++)h[i]=almasco[i];for(i=0;i〈9;i++)for(j=0;j〈9-i;j++)if(h[j]〈h[j+1]){t=h[j];h[j]=h[j+1];h[j+1]=t;}for(i=0;i〈10;i++){for(j=0;j〈10;j++)if(almasco[j]==h[i])t=j+1;if(h[i]!=0)printf("學(xué)校編號(hào):%d 男子團(tuán)體總分:%d\n",t,h[i]);}printf("(若有未顯示的學(xué)校,其男子團(tuán)體總分為O)\n\n");}elseif(k==3){for(i=0;i〈10;i++)h[i]=alwomsco[i];for(i=0;i〈9;i++)for(j=0;j〈9-i;j++)if(h[j]〈h[j+1]){t=h[j];h[j]=h[j+1];h[j+1]=t;}for(i=0;i<10;i++){for(j=0;j<10;j++)if(alwomsco[j]==h[i])t=j+1;if(h[i]!=0)printf("學(xué)校編號(hào):%d 女子團(tuán)體總分:%d\n",t,h[i]);}printf("(若有未顯示的學(xué)校,其女子團(tuán)體總分為O)\n\n");}break;}}while(b);}附注:C++二叉樹程序分別輸入節(jié)點(diǎn)數(shù);先序遍歷和中序遍歷(以空格相隔回車結(jié)束)/////////////////輸入二叉樹兩種遍歷結(jié)果(中序加前序),恢復(fù)該二叉樹#include<iostream.h>classnode ////////////////定義節(jié)點(diǎn)類///////////////////////{private:inta;node*l;node*r;public:node(){l=r=NULL;}node(intx,node*le=NULL,node*ri=NULL){a=x;l=le;r=ri;}int&val(){returna;}node*left(){returnl;}node*right(){returnr;}voidsetright(node*x){r=x;}voidsetleft(node*p){l=p;}voidserval(intx){a=x;}};node*recovery(int*p,int*h,intn)////////////恢復(fù)二叉樹的函數(shù),用數(shù)組p[]記錄前序遍歷的結(jié)果,h[]記錄中序遍歷的結(jié)果,n記錄節(jié)點(diǎn)數(shù){//////////////////////////////////////////////返回恢復(fù)后樹根節(jié)點(diǎn)的指針node*root=newnode(p[0]);//////////////用前序遍歷法得到結(jié)果的第一個(gè)數(shù)為最上層根if(n==l)returnroot;////////////若樹只有一個(gè)節(jié)點(diǎn),直接返回該指針inti=0;while(i〈n)/////找到中序遍歷中的根節(jié)點(diǎn),用i記錄其位置,貝V位于i前的數(shù)據(jù)為左子樹的中序遍歷,位于其后的為右子樹的中序遍歷{if(p[0]==h[i])break;i++;}if(i!=0)root-〉setleft(recovery(p+l,h,i));///////////通過(guò)遞歸設(shè)置根的左子樹if(i!=n-1)root-〉setright(recovery(p+i+l,h+i+l,n-i-l));/////設(shè)置右子樹returnroot;}voidoutputtree(node*root,inttotalSpaces)/////////輸出樹{if(root==NULL)return;outputtree(root-〉right(),totalSpaces+3);/////////通過(guò)遞歸輸出右子樹for(inti=0;i〈totalSpaces;i++)///////////輸出縮進(jìn)量cout〈〈"";cout〈〈root-〉val()〈〈endl; /////////輸出根的值outputtree(root-〉left(),totalSpaces+3);////////輸出左子樹}node*recovery2(int*p,int*h,intn)///////////p[]為后續(xù)遍歷的結(jié)果,h[]為中序遍歷的結(jié)果,n為結(jié)點(diǎn)數(shù){node*root=newnode(p[n-1]);if(n==1)returnroot;inti=0;while(i〈n){if(p[n-1]==h[i])break;i++;}if(i!=0)root-〉setleft(recovery2(p,h,i));///////////通過(guò)遞歸設(shè)置根的左子樹if(i!=n-1)root-〉setright(recovery2(p+i,h+i+l,n-iT));/////設(shè)置右子樹returnroot;voidmain(){intm;cout〈〈"Inputsizeofthetree:";//////輸入結(jié)點(diǎn)數(shù)cin>>m;int*pre=newint[m];int*mid=newint[m];cout〈〈"Inputpreoderresultofthetree:";/////////輸入前序遍歷的結(jié)果for(inti=0;i〈m;i++){cin>>pre[i];}cout〈〈"Inputmidoderresultofthetree:";////////輸入中序遍歷的結(jié)果for(intj=0;j〈m;j++){cin>>mid[j];}outputtree(recovery(pre,mid,m),0);cout〈〈endl〈〈endl;//////////////////////////////////////////////////////////////////////////////cout〈〈"Inputsizeofthetree:";cin>>m;pre=newint[m];mid=newint[m];cout〈〈"Inputbackoderresultofthetree:";/////////輸入后序遍歷的結(jié)果for(i=0;i〈m;i++){cin>>pre[i];}cout〈〈"Inputmidoderresultofthetree:";////////輸入中序遍歷的結(jié)果for(j=0;j〈m;j++){cin>>mid[j];}outputtree(recovery2(pre,mid,m),0);}附注2:C語(yǔ)言學(xué)生信息管理系統(tǒng)部分源代碼、含登錄密碼程序#defineN4#include<stdio.h>#include<string.h>structstudentlongnumber;charname[20];intenglish;intmaths;}stu[N];voidmain(){voidfanhui1(void);voidinputa(structstudentstu[N]);voidcha(void);voidoutputa(structstudentstu[N]);voidxchaxun(structstudentstu[N]);inti,t,k=0;intp=1;charb[7];printf("請(qǐng)輸入6位密碼(限三次):");while(k<3){i=0;while((b[i]=getch())!='\r'){printf("*");i++;}b[i]='\0';if(strcmp(b,"aabbcc")==0){system("cls");while(p>0){printf("主菜單***\n請(qǐng)選擇:\n 1.首次輸入學(xué)生信息\n 2.查詢學(xué)生信息\n3.刪除學(xué)生信息\n 4.添加學(xué)生信息\n 5.修改學(xué)生信息\n6.成績(jī)排序\n 7.退出\n");scanf("%d",&t);system("cls");switch(t){case1:inputa(stu);break;case2:cha();break;case3:printf("");

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論