西工大C语言POJ作业

西工大C语言POJ作业
西工大C语言POJ作业

T061、文件比较

#include

#include

int main()

{

FILE *p1,*p2;

int i=1,j=1;

char ch1,ch2;

p1=fopen("DA TA5613.CPP","r");

p2=fopen("DA TA5613.TXT","r");

while(!feof(p1))

{ch1=fgetc(p1);

ch2=fgetc(p2);

if(ch1=='\n'){i=1;j++;}

else if(ch1!=ch2)printf("%d %d\n",j,i);

else i++;

}

fclose(p1);

fclose(p2);

}

T062、搜索字符

#include

int main()

{

char *search(char *p,char ch),a[300],ch,*p;

gets(a);

ch=getchar();

p=search(a,ch);

for(;*p==ch && *p!='\0';p++)

printf("%c",*p);

printf("\n");

return 0;

}

char *search(char *p,char ch) {

int i,max=0;

char *pmax;

while(*p!='\0'){

i=0;

while(*p==ch){

i++;

p++;

}

if(i>max){

max=i;

pmax=p-i;

}

p++;

}

return pmax;

}

T063、单词频次

#include

#include

int main()

{

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

FILE *p;

char ch;

p=fopen("DATA5610.TXT","r");

if(p==NULL){

exit(0);

}

while(!feof(p)){

ch=fgetc(p);

if(ch=='i'){

ch=fgetc(p);

if(ch=='f'){

i++;

}

}

if(ch=='w'){

ch=fgetc(p);

if(ch=='h'){

ch=fgetc(p);

if(ch=='i'){

ch=fgetc(p);

if(ch=='l'){

ch=fgetc(p);

if(ch=='e'){

j++;

}

}

}

}

}

if(ch=='f'){

ch=fgetc(p);

if(ch=='o'){

ch=fgetc(p);

if(ch=='r'){

k++;

}

}

}

}

fclose(p);

printf("%d %d %d\n",i,j,k);

return 0;

}T064、检查图像文件格式

T065、成绩表计算

#include

struct stu

{ long xh;

char name[50];

int age;

double a[7];

double sum;

double aver;

}b[10],*p;

int main()

{ int i,j;

double max;

max=0;

for(i=0;i<10;i++)

{ b[i].sum=0;

scanf("%ld%s%d",&b[i].xh,b[i].name,&b[i].age);

getchar();

for(j=0;j<7;j++)

{scanf("%lf",&b[i].a[j]);

getchar();

b[i].sum=b[i].sum+b[i].a[j];

}

b[i].aver=b[i].sum/7;

if(b[i].sum>max) max=b[i].sum,p=&b[i];

}

printf("%ld %s %d",p->xh,p->name,p->age);

for(i=0;i<7;i++)

printf("% .2lf",p->a[i]);

printf("\n");

return 0;

}

T066、重组字符串

#include

int main()

{

char a[300],b[300]={'\0'};

void del(char *,char *);

gets(a);

del(a,b);

puts(b);

return 0;

}

void del(char *s,char *t)

{ int i=0;

while(*s!='\0')

{if(i=1 && *s%2!=0) *t=*s,t++,i=0;

s++;

}

}

T067、源程序添加行号

#include

int main()

{

char s1[100],s2[110];

int cnt=0;

FILE *in,*out;

in=fopen("DATA5612.CPP","r");

if(in!=NULL){

out=fopen("DATA5612.TXT","w");

while(!feof(in)){

if(fgets(s1,sizeof(s1)-1,in)==NULL) continue; sprintf(s2,"%04d %s",++cnt,s1);

fputs(s2,out);

}

fclose(out);

fclose(in);

}

return 0;

}

T068、字符串替换

#include

#include

int main()

{

char str[300],fstr[200],rstr[200];

void replace(char *str,char *fstr,char *rstr);

gets(str);

gets(fstr);

gets(rstr);

replace(str,fstr,rstr);

puts(str);

return 0;

}

void replace(char *str,char *fstr,char *rstr) {

char p[300];

int a,b,i;

a=strlen(fstr),b=strlen(rstr);

while(*str!='\0'){

for(i=0;i

if(*(str+i)!=*(fstr+i))

break;

if(i==a){

strcpy(p,str+a);

strcpy(str+b,p);

strncpy(str,rstr,b);

str=str+b;

}

else str++;

}

}

T069、插入字符

#include

int main()

{ char a[100],ch,*p;

int i;

gets(a);

scanf("%c%d",&ch,&i);

p=a+i;

for(;*p!='\0';p++);

*(p+1)='\0';

for(;p>a+i;p--)

*p=*(p-1);

*p=ch;

puts(a);

return 0;

}

T070、字符串加密编码

#include

int main()

{

void strencode(char *s);

char a[300];

gets(a);

strencode(a);

puts(a);

return 0;

}

void strencode(char *s)

{ for(;*s!='\0';s++)

if(*s>='a' && *s<='z') *s=*s-3;

else if(*s>='A' && *s<='Z') *s=*s+3; }

C语言大作业报告

目录 一、设计题目 二、目标和需求分析 三、开发工具 四、应用平台 五、程序模块 1、游戏盒子 2、2048 3、扫雷 4、贪吃蛇 六、开发日志 七、程序调试及运行 八、程序开发总结 总结:虽然做出来的东西真的没什么技术水平,但是我们尽量把这个东西的每个方方面面做完整。

目标和需求分析一个小的游戏盒子,可以用来启动其它游戏,当然,其它游戏也是我们大作业的编写内容,平时可以玩玩用来打发时间 用到的工具VS2005 Easyx图形库 Pthread线程库 Hge 分工 秦贤康 组织大家,编写主程序,及构思计划,技术指导 王尧 所有的文件处理,数据算法方面优化 王懿晨 合作2048模块 杨梓晗 图片资源加工,音乐裁剪,按钮制作 程维驰 合作扫雷模块 应用平台:WINDOWS X64

程序功能模块: 一、 安装包:(写入开始菜单快捷方式,桌面快捷方式,开机启动等)//pascal 脚本编写 #define MyAppName "C 大作业" #define MyAppVersion "2.0" #define MyAppPublisher "五人小组" #define MyAppExeName "1.exe" [Setup] AppId={{49DB1DB4-FAE9-4ACB-A4B9-E5C420C5F10B} AppName={#MyAppName} AppVersion={#MyAppVersion} ;AppVerName={#MyAppName} {#MyAppVersion} AppPublisher={#MyAppPublisher} DefaultDirName={pf}\{#MyAppName} DisableDirPage=yes DefaultGroupName={#MyAppName} DisableProgramGroupPage=yes (剩余代码未全部给出) 安装包 内嵌:C 语言报告 游戏盒子 开机启动,桌面快捷方式等 进入动画,左侧动画 启动模块 通知,和显示游戏信息 2048 扫雷 贪吃蛇 主界面信息显示 通知栏信息显示 意见箱

西北工业大学C语言大作业实验报告

学院*****************

目录 1 摘要 (3) 1.1设计题目 (3) 1.2设计内容 (3) 1.3开发工具 (3) 1.4应用平台 (4) 2 详细设计 (4) 2.1程序结构 (4) 2.2主要功能 (10) 2.3函数实现 (13) 2.4开发日志 (18) 3 程序调试及运行 (20) 3.1程序运行结果 (20) 3.2程序使用说明 (22) 3.3程序开发总结 (22) 4 附件(源程序) (22)

1 摘要 1.1 设计题目 折半法查找演示程序 1.2 设计内容 本程序是一个演示折半查找算法的演示程序。由用户输入查找的数据表列和查找的数据,系统在将数表排序后可以在屏幕上演示在排序后的表列中按折半查找法查找该数据的具体过程(通过每次查找的中间数据、下次查找表列等,具体效果见下图),支持多次演示、错误提醒,程序暂停演示功能。 1.3 开发工具 Visual C++ 6.0和Win32。

1.4 应用平台 Windows 2000/XP/Vista 32位 2 详细设计 2.1 程序结构 程序功能模块: 本程序主要由五大模块组成:程序说明模块、输入模块、排序模块、折半法查找及显示模块、进程选择模块。各模块的主要功能如下: 程序说明模块:给使用者营造一个较为友好的界面,同时提供程序开发人员的相关信息以及程序操作的相关说明信息。 此部分模块主函数源代码如下: int a[N]; /*存储要查找的数表,用户输入*/ int i,n,num,count; /*count为折半次数计数器,n为数表数据个数,num存储所查数据*/ int top,bottom,mid; char c; /*存储选择函数中的输入的字符y或n*/ int flag=1; /*折半法循环标志变量*/ int loc=-1; /*存储所查找数据位置*/ double k=0; p_s(76);puts("\n"); /*引用p_s函数,打出一行'*'*/(p_s函数位于print_star.cpp文件中,参见下文) printf("****欢****迎****使****用****折****半****查****找****法****演****示****器****\n"); puts("\n"); /*程序欢迎语*/ p_s(13); printf("制作者:***************** "); /*作者信息*/ p_s(4); printf("Email:************************ "); /*电子邮件*/

C语言程序大作业.doc

大连理工大学C程序设计(大作业)总结报告学生成绩录入处理系统 学生姓名:罗 专业班级: 学号: 联系电话: Email : 完成日期:2015年 5 月29日

一、设计任务 我的程序设计是一个学生成绩录入及处理的程序,该程序包括多种功能,能够满足大多数的学生成绩管理处理。主要能够实现的目的主要有: 第一.学生姓名学号既包括三门成绩等信息的录入,并保存到文件d://score.txt。 第二.对每个学生的成绩进行求平均分及按平均分排序的数字处理。 第三.对输入错误的学生信息加以修改重新排序保存。 第四.增加学生信息,重新排序,加以保存。 第五.按每个学生的平均分进行表格化和图形化处理。 第六.实现某位同学的信息查找,包括姓名,学号,每科成绩及平均分。 以上功能全都可以实现,但是注意录入信息的要求,下面会有注释。 二、程序设计与实现 1.结构框图 下图描述预期实现题目的设计方案或功能设计的组成结构。绘制成框图,如图所示是我设计的成绩信息管理程序设计的结构图示:

2.功能模块设计及其流程图 (1) 数据描述与存储 该学生信息统计系统设计一个全局结构体变量,将学生的姓名,学号,各科成绩及平均分保存在结构体,然后供设计各种程序调用,以完成修改,增加,排序和数据显示的功能。学生成绩数据以二进制存储在d://score.txt文件,可以利用程序随时进行增加和修改,同时它会自动排序。的描述题目所使用的核心数据,如;结构体类型定义及结构体成员含义说明。并说明所使用的数据存储方法,指定文件的路径和文件名,保存数据的格式和读数据的目的。 (2) 结构体定义及介绍 typedef struct rec /*定义一个结构体类型*/ { char name[20]; /*第一个元素为学生姓名,20个字节*/ short number; /*第一个元素为学生学号,2个字节(输入注意不要超出)*/ short score[M]; /*(M为全局3)依次定义三门科目分数:数,英,机*/ float average; /*定义浮点型平均数,保留2位小数,有函数计算赋值*/ }score; score stu[N]; /*(N为全局100)定义全局总数100个学生信息以录入*/ (3)对于该程序的一点说明 1.学号在0~32768之间,请录入前对学号做好数据处理。 2.该系统的成绩满分为一百分制,如有某科成绩不符合应提前处理。 3.录入退出后,同样的数据不需两次输入,可直接运行程序处理及查看。 4.保存退出后请勿删除文件,数据会丢失。 5.柱状图的分辨率在十位数。 (4) 主要函数功能基变量说明

西工大C语言上机考试题库

1:2:3 #include #include int main() { int i=0,j=0,k=0,a=0,b=0,c=0,l=0,m=0,n=0,d=0,p=0,q=0; for(i=1;i<=3;i++) { for(j=1;j<=9;j++) { if(i!=j) { for(k=1;k<=9;k++) { if(k!=j&&i!=k) { a=i*100+j*10+k; b=a*2; c=a*3; l=b%10,d=c%10; m=(b%100)/10,p=(c%100)/10; n=b/100,q=c/100; if(l!=0&&m!=0&&n!=0&&d!=0&&p!=0&&q!=0) if(i!=l&&i!=m&&i!=n&&j!=l&&j!=m&&j!=n&&k!=l&&k!=m&&k!=n) if(i!=d&&i!=p&&i!=q&&j!=d&&j!=p&&j!=q&&k!=d&&k!=p&&k!=q) if(l!=d&&l!=p&&l!=q&&m!=d&&m!=p&&m!=q&&n!=d&&n!=p&&n!=q) printf("%d %d %d\n",a,b,c); } }

} } } return 0; } 8 #include"stdio.h" int main() { int a,b[10],m=0,n=0,p; int i,j,k; scanf("%d",&a); for(i=1;i<=a;i++) { m=0; n=0; p=i; for(j=0;p!=0;j++) { b[j]=p%10; p=p/10; } for(k=0;k

C语言大作业报告范文

学院XX学院

目录 1 摘要 (3) 1.1设计题目 (3) 1.2设计容 (3) 1.3开发工具 (3) 1.4应用平台 (3) 2 详细设计 (3) 2.1程序结构 (3) 2.2主要功能 (3) 2.3函数实现 (3) 2.4开发日志 (4) 3 程序调试及运行 (4) 3.1程序运行结果 (4) 3.2程序使用说明 (4) 3.3程序开发总结 (4) 4 附件(源程序) (4)

1 摘要 1.1 设计题目 (A)求最大数;(B)高次方数的尾数 1.2 设计容 (A)求555555的约数中最大的三位数; (B)求13的13次方的最后三位数1.3 开发工具 Visual C++ 6.0和Win32。 1.4 应用平台 Windows XP 32位 2 详细设计 2.1 程序结构 (A)求最大数

定义变量a、b、c,a从100至999递增,b为555555,用b除以a,判断是否可以整除,若可以,则把a的值赋给c,a自加1;若不可,a自加1。重复以上步骤,直到a>999,输出c。循环语句采用for 循环。 (B)高次方数的尾数

定义变量i、j,i从1至13递增,j初值为1。用j乘以13,用得到的乘积除以1000并取其余数,赋给j,i自加1。重复以上步骤,直到i>13,输出j。循环语句采用for循环。

2.2 主要功能 程序功能:(A)求555555的约数中最大的三位数; (B)求13的13次方的最后三位数。 原理和方法: (A)题目的原理和方法:因为要求的是三位数,就用555555从小到大依次除以100到999的所有数,并判断能否整除,最后一个可以整除555555的数即为所求。循环语句采用for循环。 (B)题目的原理和方法:乘积的最后三位数只与乘数和被乘数的后三位数有关,因此用1乘以13,再除以1000并取余数,用余数乘以13,再除以1000并取余数,依次进行下去,累乘13个13后除以1000取得的余数即为所求。循环语句采用for循环。 2.3 函数实现 (A)求最大数 int a,b=555555,c; /*定义变量,赋初值*/ for(a=100;a<=999;a++) /*FOR循环*/ { if(b%a==0) /*利用IF语句判断b是否可以被a整除*/ c=a; /*将555555的约数赋给c*/ } printf("%d\n",c); /*输出c*/ (B)高次方数的尾数 int i,j=1; /*定义变量,赋初值*/ for(i=1;i<=13;i++) /*FOR循环*/ { j=j*13%1000; /*将j乘以13的乘积的后三位数赋给j*/ } printf("%d\n",j); /*输出j*/ 2.4 开发日志 (A)选定这个题目后,我先分析此题用何种算法完成,确定了使用FOR循环并限定除数围,然后画出程序框图,再一步步编写源代码。调试过程很顺利,只有一个地方忘加了“;”。运行程序后,结果非常满意。 (B)这个题目不难,但是也不简便,我想到只取三位数的方法,并使用FOR循环,然后画出程序框图,再一步步编写源代码。调试过程发现对其中一个变量的初值是1还是13有待解决,分析程序后发现应该用1,然后进一步调试,运行,直至结果正确。

西工大c语言实验100题06

第六次CH1005 #include int main() { int i,a[500]={0},n,*p,j=0,k=0; scanf("%d",&n); for(i=0;i

{ int n; char a[500],b[500]={'\0'},*p1,*p2; gets(a); scanf("%d",&n); p1=a;p2=b; for(p1=p1+n;*p1!='\0';p1++,p2++) *p2=*p1; puts(b); return 0; } #include #include int main() { char str1[50],str2[20]; int m,length; gets(str1); scanf("%d",&m); if((strlen(str1)-m+1)>=20) { printf("ERROR\n"); }else { for(int i=m;str1[i]!='\0';i++) { str2[i-m]=str1[i]; } str2[i-m]='\0'; printf("%s\n",str2); } return 0; } CH1011 #include

C语言大作业(图书管理)

c语言图书管理系统 主要功能: 1. 新进图书基本信息的输入。 2. 显示全部记录 3. 按图书名称查询图书基本信息。 4. 根据图书名称对撤消的图书信息进行删除。 5. 按图书名称从小到大排序。 6. 统计某价格以上的图书数量。 7. 列出所有未借出去的图书信息。 基本信息:图书编号、图书名称、单价、作者、存在状态、借书人姓名、性别、学号等 #include #include #include #include typedef int BOOL; typedef struct bookinfo { char number[15];/*产品编号*/ char name[30];/*产品名称*/ float price;/*单价*/ char auther[20];/*作者*/ BOOL isExit;/*存在状态*/ char lendername[20];/*借书人姓名*/ char lendersex[2];/*借书人性别*/ char lendernum[15];/*借书人学号*/ }BOOKINFO; void menu() { printf("\n\n\n\n\n\n\n"); printf("\t\t\t图书管理系统\n"); printf("\t\t\t1:新进图书基本信息的输入\n"); printf("\t\t\t2:显示全部记录\n");

printf("\t\t\t3:根据图书名称查询图书基本信息\n"); printf("\t\t\t4:根据图书名称对撤销的图书信息进行删除\n"); printf("\t\t\t5:按照图书名称从小大到排序\n"); printf("\t\t\t6:统计某价格以上的图书数量\n"); printf("\t\t\t7:列出所有未借出去的图书信息\n"); printf("\t\t\t8:退出\n"); } void choice_1_input_new()/*输入新进的图书信息*/ { char choice; FILE *p; BOOKINFO newbook; system("cls"); while(1) { printf("输入图书编号:"); gets(newbook.number); printf("输入图书名称:"); gets(https://www.360docs.net/doc/3d2718524.html,); printf("输入图书单价:"); scanf("%f",&newbook.price); while(getchar()!='\n'); printf("输入图书的作者:"); gets(newbook.auther); printf("输入借书人姓名:"); gets(newbook.lendername); printf("输入借书人性别:"); gets(newbook.lendersex); printf("输入借书人学号:"); gets(newbook.lendernum);

西工大C语言POJ作业

T051.合并字符串 #include #include #include int main() { char a[200],b[100]; gets(a); gets(b); strcat(a,b); puts(a); return 0; } T052.字符串排序

#include #include void sort(char s[10][11]) { int i,j; char t[11]; for(i=0;i<9;i++) for(j=0;j<9-i;j++) if(strcmp(s[j],s[j+1])>0) { strcpy(t,s[j+1]); strcpy(s[j+1],s[j]); strcpy(s[j],t); } } int main() { char a[10][11],i; for(i=0;i<10;i++) scanf("%s",a[i]); sort(a); for(i=0;i<10;i++) printf("%s ",a[i]);

printf("\n"); return 0; } T053.特殊要求字符串 #include #include int main() { char s[100],a[100],t; int len,l,i,j; gets(s); len=strlen(s); l=len/2; for(i=0;i

C语言大作业

学院

目录 1 摘要 (3) 1.1设计题目 (3) 1.2设计内容 (3) 1.3开发工具 (3) 1.4应用平台 (3) 2 详细设计 (3) 2.1程序结构 (3) 2.2主要功能 (10) 2.3函数实现 (10) 2.4开发日志 (17) 3 程序调试及运行 (18) 3.1程序运行结果 (18) 3.2程序使用说明 (19) 3.3程序开发总结 (20) 4 附件(源程序) (20)

1 摘要 1.1 设计题目 A题算法型:折半查找算法演示程序 B题空间桁架结构节点位移求解 1.2 设计内容 A题: 本程序是一个演示折半查找算法的演示程序。当用户输入查找数据表列和要查找的数据时,程序会演示折半法查找该数的详细过程,并且支持多次查找、错误提示等功能。 B题: 空间桁架结构节点位移求解 1.3 开发工具 Code Blocks 12.11(内置MinGW) 1.4 应用平台 Windows 7 64位 2 详细设计 2.1 程序结构 A题: 程序功能模块: 本程序主要包含六大模块:程序说明模块、输入模块、排序模块、折半法查找模块、选择模块和程序

退出模块。 工程文件结构: 本程序的工程含有6个文件,其中main.cpp、print_stars.cpp、judge.cpp、sort.cpp、putout.cpp5个cpp 文件和include.h1个头文件(参见下图),两者共同存在于工程“折半法查找演示程序”中。其中main.cpp 文件包含了程序的主体部分,程序说明模块、输入、排序、折半查找、选择、程序退出模块按线性排列。其中输入、排序模块执行一次,这般查找、选择模块可多次执行,直到程序退出模块执行。 六大模块说明: (1) 程序说明模块: 给使用者营造一个较为友好的界面,同时提供程序开发人员的相关信息以及程序操作的相关说明信息。此部分模块主函数源代码如下: int a[N]; /*存储要查找的数表,用户输入*/ int i,n,num,count; /*count为折半次数计数器,n为数表数据个数,num存储所查数据*/ int top,bottom,mid; char c; /*存储选择函数中的输入的字符y或n*/ int flag=1; /*折半法循环标志变量*/ int loc=-1; /*存储所查找数据位置*/ double k=0; p_s(76);puts("\n"); /*引用p_s函数,打出一行'*'*/(p_s函数位于print_star.cpp文件中,参见下文)

2015年西工大C语言上机考试题库 全

1.1:2:3 2.一堆8 3.8的次数 4.A*B 5.N边形面积 6.参加竞赛 7.草坪喷水 8.插入排序 9.查找 10.车牌号 11.成绩转化 12.大数>> (见NOJ) 13.大写变小写 14.到底星期几 15.等比数列 16.找到正整数符合要求 17、韩信点兵 18.回文字符串 鸡的体重 计算数据整数部分 加密 阶乘 恐怖水母 卡片 快速排序 两人三足 逆序输出 偶数和 三角形面积 士兵移动 输出位数

数列 数字加密 数组元素和 水仙花数 提取字符串 添加行号 舞伴配对 相乘后位数相加 销售记录 星期几 星座 幸运数 学号 循环移位 月份天数 月份转换英语 运费 字符串替换 字符输出 总分最高 最大公约数 最大值最小值 最小公倍数 左下角

#include #include int main() { int i=0,j=0,k=0,a=0,b=0,c=0,l=0,m=0,n=0,d=0,p=0,q=0; for(i=1;i<=3;i++) { for(j=1;j<=9;j++) { if(i!=j) { for(k=1;k<=9;k++) { if(k!=j&&i!=k) { a=i*100+j*10+k; b=a*2; c=a*3; l=b%10,d=c%10; m=(b%100)/10,p=(c%100)/10; n=b/100,q=c/100; if(l!=0&&m!=0&&n!=0&&d!=0&&p!=0&&q!=0) if(i!=l&&i!=m&&i!=n&&j!=l&&j!=m&&j!=n&&k!=l&&k!=m&&k!=n) if(i!=d&&i!=p&&i!=q&&j!=d&&j!=p&&j!=q&&k!=d&&k!=p&&k!=q) if(l!=d&&l!=p&&l!=q&&m!=d&&m!=p&&m!=q&&n!=d&&n!=p&&n!=q) printf("%d %d %d\n",a,b,c); } } } } } return 0; }

西北工业大学 程序设计大作业

学院××××学院班级××××××××学号××××××××姓名×××

目录 1 摘要 (3) 1.1设计题目 (3) 1.2设计内容 (3) 1.3开发工具 (3) 1.4应用平台 (3) 2 详细设计 (3) 2.1程序结构 (3) 2.2主要功能 (4) 2.3函数实现 (5) 2.4开发日志 (7) 3 程序调试及运行 (7) 3.1程序运行结果 (7) 3.2程序使用说明 (12) 3.3程序开发总结 (12) 4 附件(源程序) (12)

1 摘要 1.1 设计题目 算法型大作业题目:编写七种排序算法的演示程序。 1.2 设计内容 编写快速排序、插入排序、选择排序、冒泡排序、堆排序、归并排序、基数排序函数,通过主函数调用以实现七种排序算法的演示。 1.3 开发工具 Visual C++ 6.0 1.4 应用平台 Windows 2000/XP/Vista 32位 2 详细设计 2.1 程序结构 程序的整体结构与流程见下图所示。 程序运行时在主菜单中输入序号选择排序方法或选择结束程序,当进行某种排序方法后,在主函数中输入待排数据个数和待排数据,通过调用对应的排序函数实现排序并输出。该排序结束后再次进入主函数,通过循环重复上述操作。其中,主函数中将数组地址和待排序数据个数传递给排序函数,在排序函数中实现排序功能。

2.2 主要功能 函数的功能为对快速排序、插入排序、选择排序、冒泡排序、堆排序、归并排序、基数排序算法的演示。 主函数:程序运行时,可使运行者根据提醒输入相关操作,从而进入不同的排序方法或者退出。 快速排序函数:根据快速排序的算法,最后输出 插入排序函数:根据插入排序的算法,最后输出 选择排序函数:根据选择排序的算法,最后输出 冒泡排序函数:根据冒泡排序的算法,最后输出 堆排序函数:根据堆排序的算法,最后输出 归并排序函数:根据归并排序的算法,最后输出 基数排序函数:根据基数排序的算法,最后输出

西工大C语言程序作业

第2季:循环第1题 1.完全数 #include int main() {int m,i,j,s;

for(m=6;m<1000;m++) {s=1; for(i=2;i

2.迭代求根 #include #include int main() { float x0,x1,a; scanf("%f",&a); x1=a/2; do { x0=x1;x1=(x0+a/x0)/2; } while(fabs(x0-x1)>=0.00001); printf("%.5f\n",x1); return 0; } 第3题

Time 1000MS Limit 10000KB Memory Limit Descripti 请编写程序,用二分法求下面方程在(-10,10)之间的根:on Input输入区间数据为实型、用空格隔开输出均。 Output输出根为实型,保留两位小数。 -10 10 Sample Input Sample 2.00 Output 3.二分求根 #include #include int main() { float x0,x1,x2,f0,f1,f2; printf("请输入x1,x2的值:"); scanf("%f%f",&x1,&x2); f1=2*x1*x1*x1-4*x1*x1+3*x1-6; f2=2*x2*x2*x2-4*x2*x2+3*x2-6; do

西北工业大学C语言第一套测试题

综合测试题1 一、选择题(单选2分×12,共24分) 1. 下列不合法的C语言常量是D。 A) ?\101? B) 123L C) 0x FF D) -e8 2. 若有定义:int a=123,b=456;long sum; 下列语句不能正确求解a、b之积的为C 。 A) sum=(long)(a)*(long)b; B) sum=(long)a*b; C) sum=(long)(a*b); D) sum=1.0*a*b; 3. 不能正确表示“a为奇数”的逻辑表达式为C。 A) a%2= =1 B) a%2 C) a%2= =0 D) !(a%2= =0) 4. 若有定义:int a=3,b=2,c=1,d;float x=2.3,y=1.0; 下列哪一组C表达式的值是不相同的C。 A) a%b B) (int)x>b C) d=c*2 D) 67-?A? a/b c/b a- =1 d=c++,c++ d=x—c d=a>b>c b&&c+1 --a 5.若有定义int m=12,n=4;float x=8,y=3;下列输出函数中存在格式符不匹配现象的是D。 A) printf(“%d%s%d\n”,m>n?m:n,“>”,m>n?n:m); B) printf(“%d,%e”,m/n,x/y); C) printf(“%f,%ld”,m/5.0,(long)(x/y)); D) printf(“%d,%d”,m*n,(int)x/y); 6. 若运行时输入:12345678↙,则下列程序运行结果为B。 main( ) ﹛int a,b; scanf(“%2d%*2d%3d”,&a,&b); printf(“%d\n”,a+b); ﹜ A) 46 B) 579 C) 5690 D) 出错 7. 循环语句for(i=0,j=8;i<=j;i++,j--)printf(“*”);的循环次数为B。 A) 4 B) 5 C) 9 D) 死循环 8. 若有定义:int c=0,i=0;char s[]= “How do you do”; 执行语句:while(s[i]){c+=s[i]>=97;i++;}后,变量C的值为 D 。 A)14 B)13 C)12 D)9

C语言大作业

C语言大作业题目 1电话簿管理程序 存储的数据包括:人名、工作单位、电话号码和E-mail地址等。程序要求具有如下功能: ①加入一个新电话号码; ②删除一个电话号码; ③显示保存的所有电话号码。 ④修改功能; ⑤排序功能,包括按照电话号码排序和按照姓名字母序排列; ⑥查询功能,包括按人名查询电话号码和按电话号码查询人名。 ⑦保存信息到文件。 ⑧从文件读取信息。 课程设计要求: 程序运行开始,首先显示一个提示信息,作为一个功能选择菜单。用户选用哪条功能,就调用哪项功能。 2班级同学信息管理程序 存储的数据包括:姓名,学号,宿舍,QQ号码和电话号码等。程序要求具有以下功能: ①加入一个同学的记录; ②删除一个同学的记录; ③显示所有同学的记录。 ④排序功能,包括按照学号排序和按照姓名字母序排序显示所有同学的纪录。 ⑤查询功能,包括按学号查询同学的信息或者其他。 ⑥修改功能。 ⑦保存信息到文件。 ⑧从文件读取信息。 课程设计要求: 程序运行开始,首先显示一个提示信息,作为一个功能选择菜单。用户选用哪条命令,就调用哪项功能。 3职工信息管理系统 职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。提供以下功能: ①加入一个职工的记录; ②删除一个职工的记录; ③显示所有职工的记录。 ④排序功能,包括按照学号排序和按照姓名字母序排序显示所有职工的纪录。 ⑤查询功能,包括按工号或姓名查询职工的信息或者其他。 ⑥修改功能。 ⑦保存信息到文件。 ⑧从文件读取信息。 课程设计要求:

程序运行开始,首先显示一个提示信息,作为一个功能选择菜单。用户选用哪条命令,就调用哪项功能。 4图书信息管理系统 图书信息包括:图书号、书名、作者名、分类号、出版单位、出版时间、价格等。 提供以下功能: ①加入一本图书; ②删除一本图书; ③显示所有图书。 ④排序功能,包括按照书名排序所有图书。 ⑤查询功能,包括按书名查询图书。 ⑥修改功能 ⑦保存信息到文件。 ⑧从文件读取信息。 课程设计要求: 程序运行开始,首先显示一个提示信息,作为一个功能选择菜单。用户选用哪条命令,就调用哪项功能。 5图书借阅管理系统 图书信息包括:图书名称、图书编号、单价、作者、存在状态、借书证号、姓名、性别。提供以下功能: ①新进图书基本信息的输入。 ②显示所有图书信息。 ③对撤消图书信息的删除。 ④图书基本信息的查询。 ⑤办理借书手续。 ⑥办理还书手续 ⑦保存信息到文件。 ⑧从文件读取信息。 课程设计要求: 程序运行开始,首先显示一个提示信息,作为一个功能选择菜单。用户选用哪条命令,就调用哪项功能。 6实验设备管理系统 设备信息包括:设备编号,设备名称,设备价格,设备所属实验室。 提供以下功能: ①加入一个设备; ②报废一个设备; ③显示所有设备。 ④排序功能,包括按照编号排序所有设备。

西工大C语言程序作业

第2季:循环 第1题 Title 完全数 Time Limit 1000MS Memor y Limit 10000KB Descrip tion 一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。请编写程序,找出1000之内的所有完数。 Input Output 每行按格式输出其因子:6=1+2+3 Sample Input Sample Output 6=1+2+3 28=1+2+4+7+14 496=1+2+4+8+16+31+62+124+248 1.完全数 #include int main()

{int m,i,j,s; for(m=6;m<1000;m++) {s=1; for(i=2;i

Sample 1.41421 Output 2.迭代求根 #include #include int main() { float x0,x1,a; scanf("%f",&a); x1=a/2; do { x0=x1;x1=(x0+a/x0)/2; } while(fabs(x0-x1)>=0.00001); printf("%.5f\n",x1); return 0; } 第3题 Title 二分求根Time 1000MS

c语言大作业非常经典

#include "stdafx.h" #include #include #include #include #define N 100 struct student { char name[10]; int num; char sex[10]; float math; float yingyu; float zhengzhi; float ywen; float aver; float sum; }stu; //菜单 void menu() /*便于操作员使用*/ { /*清屏*/ system("cls"); printf(" * 欢迎使用学生成绩管理系统* \n"); printf(" * ======================= * \n"); printf(" * 请选择相应的功能: * \n"); printf(" * 1.成绩录入* \n"); printf(" * 2.查询成绩* \n"); printf(" * 3.修改成绩* \n"); printf(" * 4.插入成绩* \n"); printf(" * 5.报表输出* \n"); printf(" * 6.统计输出* \n"); printf(" * 7.删除操作* \n"); printf(" * 0.退出系统* \n" ); printf(" * ======================= * \n"); printf(" \n\n\n\n\n\n\n\n\n * * 机101-S1 林凯(201023701102) 制作* * \n"); } //成绩录入 void input() { system("cls"); FILE *fp; student xs; /*定义一个结构体变量来装从文件中读出来的数据*/ int c=1;

C语言大作业

#include #include #include //exit()的头文件 #include //屏幕操作函数 #define N 100 //控制学生记录的容量 #define M 3 //控制课程数 #define LEN 9 void menu(); void browse(); typedef struct student //定义学生结构体 { char num[11]; //把学号定义成字符数组类型,一来学号可能比较长,二来可直接用strcmp来比较,确保无雷同 char name[20]; int score[M]; double ave; }STU; STU stu[N]; //定义一个外部学生结构体变量 /*****以写的方式保存数据到文件的函数【原数据将被覆盖】*****/ int save(int n) //保存函数,保存n个记录 { FILE *fp; int i; if((fp=fopen("zhouhao.txt","wb"))==NULL)//以二进制写的方式打开,在此前的记录被覆盖{ printf("无法打开文件!\n任意键退出程序... ...\n"); getch(); //预防闪屏 return 0; } for(i=0;i

西工大C语言实验考题及答案

#include using namespace std; int main() { int A[100],n,i; cin>>n; for(i=0;i>A[i]; for(i=1;i

#include using namespace std; int main() { char a,b,c; for(a='X';a<='Z';a++) for(b='X';b<='Z';b++) for(c='X';c<='Z';c++) { if(a=='Z'&&b=='Y'&&c=='X')cout<<"A="<

#include using namespace std; int main() { char a,b,c; for(a='X';a<='Z';a++) for(b='X';b<='Z';b++) for(c='X';c<='Z';c++) { if(a=='Z'&&b=='Y'&&c=='X')cout<<"A="<

#include #include int main() { double a; int i=0; scanf("%lf",&a); while(fabs(a)>=1){ a=a/10;

20.10月西工大《C语言程序设计》随机机考(答案)

一、单选题(共35 道试题,共70 分) 1. 若变量已正确定义,有以下程序段i=0; do printf("%d,",i);while(i++); printf("%d\n",i); 其输出结果是()。 A.0,0 B.0,1 C.1,1 D.程序进入无限循环 正确答案:2026907897 2.{设有以下程序段int x=0,s=0; while(!x!=0) s+=++x; printf("%d",s); 则()。 A.运行程序段后输出0 B.运行程序段后输出1 C.程序段中的控制表达式是非法的 D.程序段执行无限次 3. 函数的功能是交换变量x和y中的值,且通过正确调用返回交换的结果。能正确执行此功能的函数是()。 4. 对for(表达式1; ; 表达式3)可理解为()。 A.for(表达式1; 0;表达式3) B.for(表达式1: 1 ;表达式3) C.for(表达式1; 表达式1; 表达式3) D.for(表达式1; 表达式2; 表达式3) 5. 以下描述错误的是()。 A.break语句不能用于循环语句和switch语句外的任何其他语句 B.在switch语句中使用break语句或continue语句的作用相同 C.在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环 D.在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环 6. 以下叙述正确的是()。 A.do-while语句构成的循环不能用其它语句构成的循环来代替。 B.do-while语句构成的循环只能用break语句退出。 C.用do-while语句构成的循环,在while后的表达式为非零时结束循环。 D.用do-while语句构成的循环,在while后的表达式为零时结束循环。

相关文档
最新文档