黄色在线观看视频-黄色在线免费看-黄色在线视频免费-黄色在线视频免费看-免费啪啪网-免费啪啪网站

首頁 考試吧論壇 Exam8視線 考試商城 網絡課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓 | 在職研 | 自學考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級 | 職稱英語 | 商務英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學習 | 法語 | 德語 | 韓語
計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證
華為認證 | Java認證
公務員 | 報關員 | 銀行從業資格 | 證券從業資格 | 期貨從業資格 | 司法考試 | 法律顧問 | 導游資格
報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師
人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業資格 | 廣告師職業水平
駕駛員 | 網絡編輯
衛生資格 | 執業醫師 | 執業藥師 | 執業護士
會計從業資格考試會計證) | 經濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務師
注冊資產評估師 | 高級會計師 | ACCA | 統計師 | 精算師 | 理財規劃師 | 國際內審師
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監理工程師 | 安全工程師
質量工程師 | 物業管理師 | 招標師 | 結構工程師 | 建筑師 | 房地產估價師 | 土地估價師 | 巖土師
設備監理師 | 房地產經紀人 | 投資項目管理師 | 土地登記代理人 | 環境影響評價師 | 環保工程師
城市規劃師 | 公路監理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師
繽紛校園 | 實用文檔 | 英語學習 | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲
您現在的位置: 考試吧(Exam8.com) > 計算機等級考試 > 計算機二級 > C語言 > 上機題庫 > 正文

全國計算機等級考試南開C語言上機100題精簡版

3、
已知在文件IN.DAT中存有100個產品銷售記錄,每個產品銷售記錄由產品代碼dm(字符型4位)、產品名稱mc(字符型10位)、單價dj(整型)、數量sl(整型)、金額je(長整型)幾部分組成。其中:金額=單價*數量可計算得出。函數ReadDat()的功能是讀取這100個銷售記錄并存入結構數組sell中。請編制函數SortDat(),其功能要求:按產品代碼從大到小進行排列,若產品代碼相同,則按金額從大到小進行排列,最終排列結果仍存入結構數組sell中,最后調用函數WriteDat()把結果輸出到文件OUT10.DAT中。
注意:部分源程序已給出。
請勿改動主函數main()、讀數據函數ReadDat()和輸出數據函數WriteDat()的內容。
 
試題程序:
#include<stdio.h>
#include<mem.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>
#define MAX 100
typedef struct{
char dm[5]; /*產品代碼*/
char mc[11]; /*產品名稱*/
int dj; /*單價*/
int sl; /*數量*/
long je; /*金額*/
}PRO;
PRO sell[MAX];
void ReadDat();
void WriteDat();
void SortDat()
{
}
void main()
{
memset(sell,0,sizeof(sell));
ReadDat();
SortDat();
WriteDat();
}
void ReadDat()
{
FILE *fp;
char str[80],ch[11];
int i;
fp=fopen("IN.DAT","r");
for(i=0;i<100;i++){
fgets(str,80,fp);
memcpy(sell[i].dm,str,4);
memcpy(sell[i].mc,str+4,10);
memcpy(ch,str+14,4);ch[4]=0;
sell[i].dj=atoi(ch);
memcpy(ch,str+18,5);ch[5]=0;
sell[i].sl=atoi(ch);
sell[i].je=(long)sell[i].dj*sell[i].sl;
}
fclose(fp);
}
void WriteDat()
{
FILE *fp;
int i;
fp=fopen("OUT10.DAT","w");
for(i=0;i<100;i++){
fprintf(fp,"%s %s %4d %5d %101d\n",sell[i].dm,sell[i].mc,sell[i].dj,sell[i].sl,sell[i].je);
}
fclose(fp);
}
 
 
--------------------------------------------------------------------------------
 
void SortDat( )
{int I,j;
PRO xy;
for(I=0;I<99;I++)
for(j=I+1;j<100;j++)
if(sell[I].dm<sell[j].dm)
{xy=sell[I];
sell[I]=sell[j];
sell[j]=xy;}
else if(sell[I].dm==sell[j].dm)
if(sell[I].je<sell[j].je)
{xy=sell[I];
sell[I]=sell[j];
sell[j]=xy;}

4
已知在文件IN.DAT中存有100個產品銷售記錄,每個產品銷售記錄由產品代碼dm(字符型4位),產品名稱mc(字符型10位),單價dj(整型),數量sl(整型),金額je(長整型)四部分組成。其中:金額=單價*數量計算得出。函數ReadDat()是讀取這100個銷售記錄并存入結構數組sell中。請編制函數SortDat(),其功能要求:按產品代碼從大到小進行排列,若產品代碼相同,則按金額從大到小進行排列,最終排列結果仍存入結構數組sell中,最后調用函數WriteDat()把結果輸出到文件OUT8.DAT中。
部分源程序已給出。
  請勿改動主函數main()、讀數據函數ReadDat()和輸出數據函數WriteDat()的內容。
#include<stdio.h>
#include<mem.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>

#define MAX 100
typedef struct{
char dm[5]; /*產品代碼*/
char mc[11]; /*產品名稱*/
int dj; /*單價*/
int sl; /*數量*/
long je; /*金額*/
}PRO;
PRO sell[MAX];
void ReadDat();
void WriteDat();

void SortDat()
{

}

void main()
{
memset(sell,0,sizeof(sell));
ReadDat();
SortDat();
WriteDat();
}

void ReadDat()
{
FILE *fp;
char str[80],ch[11];
int i;

fp=fopen(\"IN.DAT\",\"r\");
for(i=0;i<100;i++){
fgets(str,80,fp);
memcpy(sell[i].dm,str,4);
memcpy(sell[i].mc,str+4,10);
memcpy(ch,str+14,4);ch[4]=0;
sell[i].dj=atoi(ch);
memcpy(ch,str+18,5);ch[5]=0;
sell[i].sl=atoi(ch);
sell[i].je=(long)sell[i].dj*sell[i].sl;
}
fclose(fp);
}

void WriteDat(void)
{
FILE *fp;
int i;

fp=fopen(\"OUT8.DAT\",\"w\");
for(i=0;i<100;i++){
fprintf(fp,\"%s %s %4d %5d %101d\\n\", sell[i].dm,sell[i].mc,sell[i].dj,sell[i].sl,sell[i].je);
}
fclose(fp);
}


--------------------------------------------------------------------------------


注:該題的冒泡法與11題不同。
void SortDat()
{
int i,j;
PRO swap;
for(i=0;i<MAX-1;i++)
for(j=i+1;j<MAX;j++)
{
if(strcmp(sell[i].mc,sell[j].mc)<0)
{
swap=sell[i];
sell[i]=sell[j];
sell[j]=swap;
}
if(strcmp(sell[i].mc,sell[j].mc)==0&&sell[i].je<sell[j].je)
{
swap=sell[i];
sell[i]=sell[j];
sell[j]=swap;
}
}
}


void SortDat()
{
int i,j;
PRO t;
for(i=0;i<MAX;i++)
for(j=i+1;j<MAX;j++)
if(strcmp(sell[i].dm,sell[j].dm)<0)
{
t=sell[i];
sell[i]=sell[j];
sell[j]=t;
}
else
if(strcmp(sell[i].dm,sell[j].dm)==0)
if(sell[i].je<sell[j].je)
{
t=sell[i];
sell[i]=sell[j];
sell[j]=t;
}
}

更多資料請訪問:考試吧計算機等級考試欄目

上一頁  1 2 3 4 5 下一頁
文章搜索
版權聲明:如果計算機等級考試網所轉載內容不慎侵犯了您的權益,請與我們聯系800@exam8.com,我們將會及時處理。如轉載本計算機等級考試網內容,請注明出處。
主站蜘蛛池模板: 香港三级日本三人妇孕妇 | 伊人精品网 | 久久精品国产欧美日韩99热 | 欧美xxxxw| 一二三四在线视频播放社区 | 免费视频精品一区二区三区 | 日产精品一二三四区国产 | 国产成人h片视频在线观看 国产成人lu在线视频 | 久久黄色一级片 | 清清草视频在线 | 亚洲视频第一页 | 黄色录像在线免费观看 | 日韩一区二区三区中文字幕 | 最好看的毛片 | 成人中文字幕一区二区三区 | 成人啪 | 欧美一级片在线视频 | 国产真实乱偷人视频 | 天天做天天爱夜夜想毛片 | 亚洲邪恶 | 日韩欧美二区在线观看 | 亚洲乱亚洲乱妇13p 亚洲乱码尤物193yw在线播放 | 亚洲欧洲日韩综合色天使不卡 | 九九99国产精品视频 | 国产精品丝袜 | 欧美一级色视频 | 最近免费中文字幕大全免费版视频 | 免费麻豆国产黄网站在线观看 | 日韩欧美一区二区三区在线视频 | 久草久 | 天天夜夜狠狠一区二区三区 | 日日干夜夜操s8 | 免费色片| 狂野欧美性猛交xxxx乱大交 | 欧美激情一区 | 亚洲欧美中文日韩在线v日本 | 国产精品2023 | 在线免费观看一级毛片 | 久久久久免费视频 | 欧美国产在线视频 | 日韩在线一区二区三区免费视频 |