文档库 最新最全的文档下载
当前位置:文档库 › 西工大C语言程序作业

西工大C语言程序作业

西工大C语言程序作业
西工大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

if(m%i==0) s=s+i;

if(m-s==0)

{printf("%5d its fastors are 1 ",m);for(j=2;j

}

}

第2题

Title 迭代求根

Time

1000MS

Limit

10000KB

Memor

y Limit

Descrip

tion

Input 输入a为实型

Output 输出根为实型,保留五位小数。Sample 2

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

Memor

y Limit

10000KB

Descrip tion 请编写程序,用二分法求下面方程在(-10,10)之间的根:

Input 输入区间数据为实型、用空格隔开输出均。

Output 输出根为实型,保留两位小数。Sample

Input

-10 10

Sample

Output

2.00

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

{

x0=(x1+x2)/2;

f0=2*x0*x0*x0-4*x0*x0+3*x0-6;

if(f0*f1<0)

{x2=x0;f2=f0;}

else

{

x1=x0;

f1=f0;

}

}

while(fabs(f0)>=1e-5);

printf("方程的根为:%.2f\n",x0);

return 0;

}

第4题

Title VOL大学乒乓球比赛Time

1000MS

Limit

10000KB

Memor

y Limit

Descrip tion VOL大学有两个乒乓球队进行比赛,各出3人。甲队为A、B、C三人,乙队为X、Y、Z三人,已抽签决定比赛名单,有人向队员打听比赛的名单,A说他不和X比,C说他不和X、Z比,请编写程序找出3对赛手的名单。

Input

Output 输出赛手名单,一行一对。Sample

Input

Sample Output A=Z B=X C=Y

4.VOL大学乒乓球比赛#include

int main()

{

char i,j,k;

for(i='X';i<='Z';i++)

for(j='X';j<='Z';j++)

{

if(i!=j)

for(k='X';k<='Z';k++)

{

if(i!=k&&j!=k)

{

if(i!='X'&&k!='X'&&k!='Z')

printf("A=%c\nB=%c\nC=%c\n",i,j,k);

}

}

}

return 0;

}

第5题

Title 两个整数之间所有的素数Time

Limit

1000MS

Memor

y Limit

10000KB

Descrip tion 编写程序,求任意两个整数之间所有的素数。

Input 输入两个整数,用空格间隔。注意输入的两个整数谁大谁小是任意的。

Output 输出数据占一行,用空格间隔。Sample 100 130

Input

Sample

101 103 107 109 113 127 Output

5.两个整数之间所有的素数

#include

#include

int main()

{

int m,n,a,i,t;

scanf("%d%d",&m,&n);

if(m>n) {t=m; m=n; n=t;}

for(a=m;a<=n;a++)

{

for(i=2;i<=sqrt(a);i++)

if(a%i==0)

break;

if(i>sqrt(a))

printf("%d ",a);

}

printf("\n");

return 0;

}

第6题

Title 奇特的分数数列

1000MS

Time

Limit

10000KB

Memor

y Limit

Descrip

有一个分数数列:

tion

求出这个数列前20项之和。Input

Output 输出保留六位小数。Sample

Input

32.660261

Sample

Output

6.奇特的分数数列

#include

int main()

{

int i,x,y,a;

float sum=0;

x=2;

y=1;

for(i=1;i<=20;i++)

{

sum+=(float)(x)/y;

// printf("%d/%d\n",x,y);

a=x;

x=x+y;

y=a;

}

printf("%.6f\n",sum);

return 0;

}

第7题

Title 你会存钱吗?Time

Limit

1000MS

Memor

y Limit

10000KB

Descrip tion 假设银行整存整取存款不同期限的月息利率分别为:

利息=本金*月息利率*12*存款年限。

现在某人手中有2000元钱,请通过计算

选择一种存钱方案,使得钱存入银行20

年后得到的利息最多(假定银行对超过存

款期限的那一部分时间不付利息)。Input

Output 输出第1行为8年、5年、3年、2年、1年的存款方案(各利率存款次数),用空

格隔开。输出第2行为最大收益。Sample

Input

Sample Output 0 4 0 0 0 8841.01

7.你会存钱吗?

#include

#include

int main()

{

int i8,i5,i3,i2,i1,n8,n5,n3,n2,n1;

float max=0,term;

for(i8=0;i8<3;i8++) /*穷举所有可能的存款方式*/ for(i5=0;i5<=(20-8*i8)/5;i5++)

for(i3=0;i3<=(20-8*i8-5*i5)/3;i3++)

for(i2=0;i2<=(20-8*i8-5*i5-3*i3)/2;i2++)

{

i1=20-8*i8-5*i5-3*i3-2*i2;

term=2000.0*pow((double)(1+0.0063*12),

(double)i1)*pow((double)(1+2*0.0063*12),

(double)i2)*pow((double)(1+3*0.0069*12),(double)i3)*pow((double)(1+5 *0.0075*12),(double)i5)*pow((double)(1+8*0.0084*12),(double)i8);/*计算到期时的本利合计*/

/////这句话不怎么理解请问下这句该怎么理解

if(term>max){ max=term; n1=i1; n2=i2; n3=i3; n5=i5; n8=i8; }

}

printf("%d %d %d %d %d\n",n8,n5,n3,n2,n1);

printf("%.2f\n",max);/*输出存款方式*/

return 0;

}

第8题

Title 整数位数

Time

Limit

1000MS

Memor

y Limit

10000KB

Descrip tion 编写程序输入一个数,输出其整数部分的位数(例如输入123.4则输出3,输入-

0.6则输出0)。Input 输入为实型。Output 输出为整型。

123.4

Sample

Input

Sample

3

Output

8.整数位数

#include

int main()

{

int x,n=0;

float c=2.0;

scanf("%f",&c);

x=int(c);

while(x!=0)

{n++;

x=x/10;

}

printf("%d\n",n);

return 0;

}

第9题

Title

1000MS

Time

Limit

10000KB

Memor

y Limit

Descrip

编写程序利用下面公式计算π的近似值:tion

Input

Output 输出π为实型,保留六位小数。Sample

Input

3.141591

Sample

Output

9.计算π的近似值

#include

#include

int main()

{

int a=1,f=1;

double p=0;

while(fabs(1.0/a)>=1e-6)

{ p=p+1.0/a*f;

a=a+2;

f=-f;

}

printf("pi=%.6lf\n",4*p);

return 0;

}

第10题

Title 级数和Time

Limit

1000MS

Memor

y Limit

10000KB

Descrip tion 编写程序求下面级数前n项的和,其中n 从键盘上输入。

Input 输入n为整型。

Output 输出和为实型,保留六位小数。Sample

Input

5

Sample 0.338462

Output

10.级数和

#include

#include

int main()

{

int i,n;

double s=0;

scanf("%d",&n);

for(i=1;i<=n;i++)

s=s+pow(-1,i-1)*pow(2,i)/(pow(2,i)+pow(-1,i))/(pow(2,i+1)+pow(-1,i+1)) ;

printf("s=%.6lf\n",s);

return 0;

}

第11题

Title 区间内素数

1000MS

Time

Limit

10000KB

Memor

y Limit

Descrip tion 编写程序计算500~800区间内素数的个数cnt,并按所求素数的值从大到小的顺序,再计算其间隔减、加之和,即第1个素数-第2个素数+第3个素数-第4个素数+第5个素数……的值sum。

Input

Output 一行内输出cnt和sum,用空格隔开。Sample

Input

Sample

Output

44 130

11.区间内素数

#include

#include

int main()

{

int i,n;

double s=0;

scanf("%d",&n);

for(i=1;i<=n;i++)

s=s+pow(-1,i-1)*pow(2,i)/(pow(2,i)+pow(-1,i))/(pow(2,i+1)+pow(-1,i+1)) ;

printf("s=%.6lf\n",s);

return 0;

}

第12题

Title 自然数立方的乐趣Time

Limit

1000MS

Memor

y Limit

10000KB

Descrip tion 编写程序验证下列结论:任何一个自然数n的立方都等于n个连续奇数之和。例如:

要求程序对每个输入的自然数计算并输出相应的连续奇数。

Input 输入自然数n为整数。

Output 输出n个连续奇数之和,格式如Sample Output显示。

Sample

Input

5

Sample

Output

5*5*5=125=21+23+25+27+29

12.自然数立方的乐趣

#include

int main()

{

int n,i,j,s,k;

scanf("%d",&n);

for(i=1;i<=n*n*n;i=i+2)

{ s=0;k=0;

for(j=i;j<=n*n*n;j=j+2)

{s=s+j;

k++;

if(s==n*n*n) break;

}

if(s==n*n*n && k==n) break;

}

printf("%d*%d*%d=%d=%d",n,n,n,n*n*n,i);

for(i=i+2;i<=j;i=i+2)

printf("+%d",i);

return 0;

}

第13题

Title 最次方数

Time

Limit

1000MS

Memor

y Limit

10000KB

Descrip tion 编写程序求一个整数的任意次方的最后三位数。即:

Input 输入均为整型,首先为x,其后为a,用空格隔开。

Output 输出为整型。

Sample

Input

13 13

Sample

Output

253

13.最次方数

#include

int main()

{ int x,a,i,t;

scanf("%d%d",&x,&a);

t=1;

for(i=0,t=1;i

{t=t*x;

t=t%1000;

C语言期末考试题(含答案)

《C 语言程序设计》期末试卷 一、单项选择题(10x2’=20’) 1、以下叙述正确的是() A )C 语言的源程序不必通过编译就可以直接运行。 B ) C 语言中的每条可执行语句最终都将被转换成二进制的机器指令。 C )C 语言源程序经编译形成的二进制代码可以直接运行。 D )C 语言中的函数不可以单独进行编译。 2、一个C 语言的源程序中() A )必须有一个主函数 B )可能有多个主函数 C )必须有除主函数外其它函数 D )可以没有主函数 3、以下不能定义为用户标识符的是() A )scanf B )Void C )_3com D )int 4、若以下选项中的变量已正确定义,则正确的赋值语句是() A )x1=26.8%3; B )1+2=x2; C )x3=0x12; D )x4=1+2=3; 5、设有定义:floata=2,b=4,h=3;以下C 语言表达式中与代数式h b a *)(2 1 的计算结果不.相符的是() A )(a+b)*h/2 B )(1/2)*(a+b)*h C )(a+b)*h*1/2 D )h/2*(a+b) 6、C 语言中用于结构化程序设计的3种基本结构是() A )顺序结构、选择结构、循环结构 B )if 、switch 、break C )for 、while 、do-while D )if 、for 、continue 7.在while (!x )语句中的!x 与下面条件表达式等价的是() A)x!=0B)x==1C)x!=1D)x==0

8、有以下程序: #include voidmain(){ inti=1,j=1,k=2; if((j++||k++)&&i++) printf(“%d,%d,%d\n”,i,j,k);} 执行后的输出结果是() A)1,1,2 B)2,2,1 C)2,2,2 D)2,2,3 9、有以下程序: #include voidmain(){ inti,s=0; for(i=1;i<10;i+=2) s+=i+1; printf(“%d\n”,s);} 程序执行后的输出结果是() A)自然数1~9的累加和B)自然数1~10的累加和 C)自然数1~9中奇数之和D)自然数1~10中偶数之和 10、有以下函数定义: voidfun(intn,doublex){……} 若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是()A)fun(inty,doublem); B)k=fun(10,12.5); C)fun(x,n);D)voidfun(n,x); 二、填空题(10x2’=20’) 11、C语言描述“x和y都大于或等于z”的表达式是:。 12、函数定义时涉及的基本要素是:、、。

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语言期末考试题(含答案)

《C 语言程序设计》期末试卷 一、单项选择题 (10x2’=20’) 1、以下叙述正确的是( ) A )C 语言的源程序不必通过编译就可以直接运行。 B ) C 语言中的每条可执行语句最终都将被转换成二进制的机器指令。 C )C 语言源程序经编译形成的二进制代码可以直接运行。 D )C 语言中的函数不可以单独进行编译。 2、一个 C 语言的源程序中( ) A )必须有一个主函数 B )可能有多个主函数 C )必须有除主函数外其它函数 D )可以没有主函数 3、以下不能定义为用户标识符的是( ) A )scanf B ) Void C ) _3com D ) int 4、若以下选项中的变量已正确定义,则正确的赋值语句是( ) A )x1=26.8%3; B )1+2=x2; C )x3=0x12; D ) x4=1+2=3; 5、设有定义: float a=2,b=4,h=3;以下 C 语言表达式中与代数式 1 (a b) * h 的计 2 算结果不 相符的是( ) . A )(a+b)*h/2 B )(1/2)*(a+b)*h C )(a+b)*h*1/2 D )h/2*(a+b) 6、C 语言中用于结构化程序设计的 3 种基本结构是( ) A )顺序结构、选择结构、循环结构 B )if 、switch 、break C )for 、while 、do-while D )if 、for 、continue 7.在 while (!x )语句中的 !x 与下面条件表达式等价的是( ) A) x!=0 B) x==1 C) x!=1 D) x==0 8、有以下程序: #include void main(){ int i=1,j=1,k=2; if( (j++||k++)&&i++ ) printf( “%d,%d,%d\n ”,i,j,k);} 执行后的输出结果是( ) A )1,1,2 B ) 2,2,1 C )2,2,2 D )2,2,3 9、有以下程序: #include void main(){ int i,s=0; for(i=1;i<10;i+=2) s+=i+1; printf( “%d\n ”,s);} 程序执行后的输出结果是( )

西北工业大学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语言期末上机考试题及答案

C语言上机考试题—01 1. //#include #include double fun( int n ) { double sum=0,a=1; for(;n>0;n--,a++) sum=sum+1/(a*(a+1)); return sum; } main() { // clrscr(); printf("%f\n", fun(10)); } 2. #include main() { int k,m,s=0,i,b=0; for(k=10000;k<=20000;k++ ) { if(k%10==7) { for(i=2,b=0;i main() { int a; printf("请输入一个需要判 断的年份:\n"); scanf("%d",&a); if(a%4==0&&a%100!=0) printf("是闰年\n"); else if(a%400==0) printf("是闰年 \n"); else printf("不是闰 年\n"); } C语言上机考试题—02 1. //#include #include double fun( int n ) { double sum=0,a=1; for(;n>0;n--,a++) sum=sum+1/(a*(a+1)); return sum; } main() { // clrscr(); printf("%f\n", fun(10)); } 2. #include fun(int n) { int i,j=0; for(i=2;i #include main() { char str[81]; int i,j=0,w=1,s=0; printf("请输入一串字符: \n"); gets(str); for(i=0;i

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语言程序设计期末考试试题及答案

C 语言程序设计 试 题 (2008 /2009 学年 第 二 学期) 一. 选择题(满分30分,每题2分) 1.若a 、b 、c 都定义为int 类型且初值为0,则以下不正确的赋值语句是 D 。 A. a=b=c+8; B. a+=y+3; C. c++; D. a+b+c 2. 已知int j ,i=1;执行语句“j=i++;”后,变量i 的值是 B 。 A. 1 B. 2 C. –1 D. -2 3.执行下面程序: #include "stdio.h" void main() { int a=1,b=2,c=3; c=(a+=a+2),(a=b,b+3); printf(“%d,%d,%d ”,a,b,c); } 则输出结果是: A 。 A. 2,2,4 B. 4,2,3 C. 5,5,3 D. 4,2,5 4.若要求在if 后一对圆括号中表示a 不等于0的关系,则能正确表示这一关系的表达式为 D 。 A. a< >0 B. !a C. a=0 D. a 5. for (j=0;j<11;j++);循环结束后,j 的值是 B 。 A. 12 B. 11 C. 10 D. 9 6. C 语言中函数返回值的类型由 D 决定的。 A. return 语句中的表达式类型 B. 调用该函数的主调函数的类型 C. 调用函数时临时决定 D. 定义函数时所指定的函数类型 7. 下列说法中正确的是 B 。 A 在调用用户自定义函数时,必须对其进行声明。 B 函数可以返回一个值,也可以什么值也不返回。 C 说明函数时,必须明确参数的类型和返回值。 D 在程序设计中空函数没有什么作用。 8. 若int i=10;执行下列程序后,变量i 的正确结果是 D 。 switch ( i ) {case 0: i+=1; case 10: i+=1; case 11: i+=1; default: i+=1; } A. 10 B. 11 C. 12 D. 13 9. 下列语句中不正确的字符串赋值或初始化的是 C 。 A . char str[10]={"strings"}; B.char str[8]={'s','t','r','i','n ','g','s','\0'}; C. char str[10]; str= "strings"; D. char str[]= "strings"; 10. 有如下程序: #include void main() { int a=1,b=0,c=0; if (a

西工大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语言大作业(图书管理)

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.wendangku.net/doc/775177121.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语言期末考试试题及答案

1. 一个C程序的组成部分可以是()。 A)一个主函数和一至若干个其他函数B)一至若干个主函数 C)一个主程序和一至若干个其他函数D)一个主程序和一至若干个子程序 2. 一个C程序的执行是从()。 (A)本程序的main函数开始,到main函数结束 (B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 (C)本程序的main函数开始,到本程序文件的最后一个函数结束 (D)本程序文件的第一个函数开始,到本程序main函数结束 3. C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()。 A)必须为字母B)必须为下划线C)必须为字母或下划线 D)可以是字母、数字和下划线中任一种字符 4. 设有定义:int m=1,n=-1;则执行语句printf("%d\n",(m--&++n);后的输出结果是()。 A)–1 B)0 C) 1 D) 2 5. 表达式11&10的结果用二进制表示为()。 A)11B)3C)1D)10 6. 设有语句int a=3;则执行语句a+=a-=a*a后,变量a的值是()。 (A)3(B)0(C)9(D)-12 7. 在下列选项中,不的赋值语句是()。 A)t/=5;B)n1=(n2=(n3=0));C)k=i==j;D)a=b+c=1; 8. 下列( )表达式不满足:当x的值为偶数时值为"真",为奇数时值"假"。 A)X%2==0B)!x%2!=0 C)(x/2*2-x)==0D)!(x%2) 9. 若有定义:int a=8,b= 5,c;执行语句c=a/b+0.4 后c的值为() A)1.4 B)1 C)2.0 D)2 10. 假设a=3,b=4,c=5,则逻辑表达式: !(a+b)+c-1&&b+c/2的值是()。 A)true B)false C)0D) 1 11. 若int a=3,b=4;则执行c=a++>2||b-->=4之后,b变量的值为()。 A)3B)0C)4D)2 12. 以下哪个表达式的值为4()

西工大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

相关文档