《历年计算机软考程序员考试部分程序真题38850.pdf》由会员分享,可在线阅读,更多相关《历年计算机软考程序员考试部分程序真题38850.pdf(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、历年计算机软考程序员考试局部程序真题【程 序】#define MAXSCORE 20#define QUESTION 10#define ORDERS 5 main()int pQUESTION=0,0,0,0,0,0,0,0,0,0,nQUESTION=0,0,0,0,0,0,0,0,0,0,sQUESTION=0,0,0,0,0,0,0,0,0,0;int fORDERS=0,0,0,0,0;int i,score,c,number,pn=0;char fig,ch120;char title=90-100 A,80-89 B,70-79 C,60-69 D,0-59 E while(1)
2、printf(Enter number&score1-score10 n);if(scanf(%d,&number)=0)gets(ch);printf(Error!Input again!n);continue;for(c=0,i=1;iif(scanf(%d,&pi)if(pi if(_)c+;score+=pi;ni+;si+=pi;fig=(score=100)?A:(score printf(n Question Students Averagen);for(i=0;iif(ni)printf(%6d%10d%10.2fn,i+1,ni,_);else pritnf(6d%10d%1
3、0sn,i+1,ni,-);本程序实现安照每页宽 80 列平均分左右两栏的格式 印出正文文件内容.程序引入数组 buff 和 ln ,将从文件 读出的字符按行存储于 buff0,行号存于 ln0(对应左栏),或 buff1,ln1(对应右栏).约定,文件内容先填左栏 填满后,再填右栏.或左右两栏填满,或文件内容填完,输出 一页的内容.欲输出的正文文件(小于 1000 行)的文件名作为主函数 的参数.主函数以文件名为参数调用函数 dprint()输出一个 文件.函数 dprint()读取文件内容,控制栏中的一行内容的 填写,当一行填满时,调用函数 nextline().函数 nextline()
4、控制栏中行的变化,左右栏的变化.待左右栏都填满时,调用 函数 printout()完成整页输出.函数 printout()完成页面排 版,取 ln0 buff0和 ln1 buff1,将对应行号及内容 填入 line,逐行输出.【程 序】#include#define LL 80#define COL 2#define CSIZE LL/COL-9#define PL 50#define MARGIN 3 char buffCOLPLCSIZE;int lnCOLPL;int col,row,p;dprint(char fname)FILE fp;int lin,c;if(fp=fopen(f
5、name,r)=NULL)return;lin=0;p=0;col=0;c=getc(fp);while(c!=EOF)lncolrow=+lin;while(c!=n&c!=EOF)if(p=CSIZE)_;lncolrow=0;_=c;c=getc(fp);_;if(c!=EOF)c=getc(fp);while(col!=0|row!=0)lncolrow=0;nextline();fclose(fp);nextline()while(p=COL)printout();_;row=0;p=0;printout()int k,i,lpos,col,d;char lineLL;for(k=0
6、;kfor(k=0;k for(i=0;ifor(lpos=0,col=0;col0)linep-=_;d/=10;for(p=lpos+7,i=0;ilinep+=buffcolki;puts(line);for(k=0;k main(int argc,char argv)int f;for(f=1;fdprint(argcf);本程序给出两个函数.函数 create()根据整数数组构造一个线性链表.函 数 sort()采用选择排序方法对链表进行排序.为排序方便,函数 sort()于排 序前在链表首表元之前生成一个辅助表元.排序完成后,将该辅助表元筛去.【程 序】#include#inclu
7、de struct node int value;struct node next;struct node create(int a,int n)struct node h,q;for(h=NULL;n;n-)q=(struct node)malloc(sizeof(struct node);q-value=_;_;_;return h;void sort(struct node h)struct node p,q,r,s,hl;hl=p=(struct node)malloc(sizeof(struct node);p-next=h;while(p-next!=NULL)q=p-next;r
8、=p;while(p-next!=NULL)if(q-next-value next;if(r!=p)s=_;_=s-next;s-next=_;_=s;p=p-next;h=hl-next;free(hl);int text_data=5,9,3,4,5,7,8;main()struct node h,p;h=create(test_data,sizeof test_data/size of test_data);for(p=h;p;p=p-next)printf(%5d,p-value);printf(n);sort(for(p=h;p;p=p-next)printf(%5d,p-value);printf(n);