西工大C语言程序作业

合集下载

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

西北工业大学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:************************ ");/*电子邮件*/p_s(11);puts("\n");p_s(76);puts("\n");/*再次引用p_s函数,程序说明部分结束*/附:print_star.cpp文件源代码#include<stdio.h>void p_s(int k){int i;for(i=1;i<=k;i++)/*连续输出ka个'*'*/printf("*");}输入模块:引导使用者输入要在其中查找数据的数表的数据个数和数表数据。

西工大2020年4月《C语言程序设计》作业机考参考答案

西工大2020年4月《C语言程序设计》作业机考参考答案

西工大2020年4月《C语言程序设计》作业机考试卷总分:100 得分:96一、单选题(共35 道试题,共70 分)1. 一个C程序的执行是从()。

A.本程序的main函数开始,到main函数结束B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序文件的第一个函数开始,到本程序main函数结束正确答案:A2. 在C语言中,只有在使用时才占用内存单元的变量,其存储类型是()。

A.auto和registerB.extern和registerC.auto和staticD.static和register正确答案:A3. 以下存储类型只有在使用时才为该类型变量分配内存的是()。

A.auto和staticB.auto和registerC.register和staticD.static和extern正确答案:B4. 运行程序:#includemain(){int n='c';switch(n++){ default: printf("error");break;case 'a':case 'A':case 'b':case 'B':printf("good");break;case 'c':case 'C':printf("pass");case 'd':case 'D':printf("warn");}}则输出结果是()。

A.goodB.passC.warnD.passwarn。

西北工业大学C语言大作业2

西北工业大学C语言大作业2

学院目录1 摘要 (3)1.1设计题目 (3)1.2设计内容 (3)1.3开发工具 (3)1.4应用平台 (3)2 详细设计 (3)2.1程序结构 (3)2.2主要功能 (4)2.3函数实现 (4)2.4开发日志 (5)3 程序调试及运行 (6)3.1程序运行结果 (6)3.2程序使用说明 (7)3.3程序开发总结 (7)4 附件(源程序) (8)1 摘要1.1 设计题目界面编程——简谐运动1.2 设计内容基于Windows界面编程下的SDK编程框架,设计一个带有对话框、GDI图形输出的Windows窗口的程序,实现求解简谐运动方程,能流密度,绘制简谐振动曲线。

运行程序,初始化,X0=V0=W=1时的简谐运动方程和简谐振动曲线。

当点击“运行|计算绘图”时,弹出对话框对简谐运动初相位X0,初速度V0和角频率W进行修改,点击“确认”,就能计算出简谐运动方程,能流密度,绘制简谐振动曲线,这些结果在窗口显示。

1.3 开发工具Visual C++ 6.0和Win32SDKApp1.4 应用平台Windows 2000/XP/Vista 32位2 详细设计2.1 程序结构一、程序的整体结构首先定义资源头文件resource.h;在进行资源描述文件,此过程可通过可视化操作;正式进入编写程序代码:1、由Win32SDKApp自动生成的SDK编程框架:头文件包含所有头文件或链接库文件全局定义应用实例、主窗口变量、数据结构等全局定义,固定不变消息处理函数原型给出所有消息处理函数的原型,增加/删除消息处理时变动消息映射表宏定义定义消息映射表,增加/删除消息处理时变动窗口过程窗口过程函数的实现,固定不变注册窗口类注册窗口类函数的实现,除非修改窗口属性,一般不动初始化窗口初始化窗口函数的实现,除非修改窗口初始化值,一般不动消息循环Windows应用程序主消息循环,一般不动主函数Windows应用程序基本结构,一般不动消息处理函数实现在这编写消息处理函数2、再对SDK编程框架进行修改:设置了快捷键就必须对消息循环函数修改在编写消息处理函数之前:在消息处理函数原型模块中加入要添加的消息处理函数(如WM_COMMAND、WM_ONPAIT)在消息映射表模块增加该消息映射在消息处理函数实现模块中给出该消息处理函数的实现如果消息处理函数之间有共享使用的变量,则将它定义为全局变量。

西北工业大学2020春机考《C语言程序设计》答案 -

西北工业大学2020春机考《C语言程序设计》答案 -

西北工业大学2020春机考《C语言程序设计》作业1单选题1.下面程序的输出结果是()。

main() { int a[10]={1,2,3,4,5,6,7,8,9,10,*p=a;A.3B.4C.1D.2答案:VX:34637870获取参考答案2.以下描述错误的是()。

A.break 语句不能用于循环语句和 switch 语句外的任何其他语句B.在 switch 语句中使用 break 语句或 continue 语句的作用相同C.在循环语句中使用 continue 语句是为了结束本次循环,而不是终止整个循环D.在循环语句中使用 break 语句是为了使流程跳出循环体,提前结束循环答案:VX:34637870获取参考答案3.下面程序的输出结果是()。

main() { int x=10; x+=(x=8); printf("%d\n",x); }A.10B.8C.18D.16答案:VX:34637870获取参考答案4.定义 int i=1; 则执行语句 while(i++<5); 后,i 的值为()。

A.3B.4C.5D.6答案:VX:34637870获取参考答案5.若有语句 scanf("%d%d",&a,&b);要使变量 a,b 分别得到 10 和 20,正确的输入形式为()。

A.10 20B.10,20C.1020D.10:20答案:VX:34637870获取参考答案6.有以下定义 #include char a[10],*b=a; 不能给 a 数组输入字符串的语句是()。

A.gets(a)B.gets(a[0]);C.gets(&a[0]);D.gets(b)答案:VX:34637870获取参考答案7.当 c 的值不为 0 时,在下列选项中能够将 c 的值赋给变量 a、b 的是()。

A.c=b=a;B.(a=c)||(b=c);C.(a=c)&&(b=c);答案:VX:34637870获取参考答案8.以下描述中正确的是()。

西安工业大学《C语言程序设计》2019-2020学年第一学期期末测试题

西安工业大学《C语言程序设计》2019-2020学年第一学期期末测试题

西安工业大学《C语言程序设计》2019-2020学年第一学期期末测试题一、单项选择题(1’×40=40分)1.下面哪种方法不能用来描述算法:【】A)自然语言B)流程图C)数据结构D)计算机语言编写的程序2.以下叙述中错误的是【】A)C语言源程序经编译后生成后缀为.obj的目标程序B)C程序经过编译、连接之后才能形成一个真正可执行的二进制机器指令文件C)用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D)C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令3.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是【】A)大写字母B)连接符C)数字字符D)下划线4.以下不合法的用户标识符是【】A)j2_KEY B)double C)f4d D)_8_5.以下叙述中错误的是【】A)C程序必须由一个或一个以上的函数组成B)函数调用可以作为一个独立的语句存在C)若函数有返回值,必须通过return语句返回D)函数形参的值也可以传回给对应的实参6.对于一个正常运行的C程序,以下叙述中正确的是【】A)程序的执行总是从main函数开始,在main函数结束B)程序的执行总是从程序的第一个函数开始,在main函数结束C)程序的执行总是从main函数开始,在程序的最后一个函数中结束D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束7.以下叙述中正确的是【】A)预处理命令行必须位于C源程序的起始位置B)在C语言中,预处理命令行都以"#"开头C)每个C程序必须在开头包含预处理命令行:#include<stdio.h>D)C语言的预处理不能实现宏定义和条件编译的功能8.以下叙述不正确的是【】A)分号是C语言的必要组成部分B)C程序的注释可以写在语句的后面C)函数是C程序的基本单位D)主函数的名字不一定用main表示9.下列说法不正确的是【】A)定义变量必须要有数据类型B)任何变量必须先定义后使用C)所有的变量定义时系统并不分配相应的内存,而是在使用的时候才分配D)常量可以赋值给一个变量10.设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式执行后k值不相同的是【】A)k++B)k+=1C)++k D)k+111.以下叙述中正确的是【】A)break语句只能用于switch语句体中B)continue语句的作用是:使程序的执行流程跳出包含它的所有循环C)break语句只能用在循环体内和switch语句体内D)在循环体内使用break语句和continue语句的作用相同12.在C语言中,函数返回值的类型最终取决于【】A)函数定义时在函数首部所说明的函数类型B)return语句中表达式值的类型C)调用函数时主函数所传递的实参类型D)函数定义时形参的类型13.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,以下不能将变量c中大写字母转换为对应小写字母的语句是【】A)c=tolower(c)/*tolower()是将大写字母转换为小写字母的函数*/B)c=c+32C)c=c-‘A’+‘a’D)c=(‘A’+c)-‘a’14.下面结构体的定义语句中,错误的是:【】A)struct student{char name[20];char sex;int age;};struct student s1;B)struct student{char name[20];char sex;int age;}struct student s1;C)struct student{char name[20];char sex;int age;}s1;D)struct{char name[20];char sex;int age;}s1;15.设有定义:char*p;以下选项中能够使字符型指针p正确指向一个字符串的是:【】A)char str[]=”China”;p=str[0];B)scanf(“%s”,p);C)p=getchar();D)p=”string”;16.阅读以下程序#include<stdio.h>void main(){int case;float printF;printf(“请输入2个数:”);scanf(“%d%f”,&case,&printF);printf(“%d%f”,case,printF);}该程序在编译时出现错误,其出错原因是:【】A)定义语句出错,case是关键字,不能用作用户自定义标识符B)定义语句出错,printF不能用作用户自定义标识符C)定义语句无错,scanf不能作为输入函数使用D)定义语句无错,printf不能输出case的值17.表达式3.6-5/2+1.2+5%2的值是【】A)4.3B)4.8C)3.3D)3.818.sacnf(“%s%d,%f”,s,&i,&f),要想s=“Cumtb”,i=30,f=5.0;下面哪种输入方式能使变量得到正确的结果:【】A)cumtb305B)Cumtb305.0C)Cumtb30,5D)cumtb30.05.019.以下数组定义中错误的是【】A)int x[][3]={0};B)int x[2][3]={{l,2},{3,4},{5,6}};C)int x[][3]={{l,2,3},{4,5,6}};D)int x[2][3]={l,2,3,4,5,6};20.定义数组int a[10],若整型类型变量长度是2个字节,数组a的首地址是0,则&a[5]的值是:【】A)5B)10C)6D)1221.要求通过while循环不断读入字符,当读入字母N时结束循环。

西北工业大学C大作业第题

西北工业大学C大作业第题

作业名称:学生通讯录管理系统学院:自动化学院班级:学号:姓名:团队组成:西北工业大学2022年4月27日请填写以下十项内容,将表格按页对齐(插入空行),勿删除任何部分。

1、问题与背景(描述程序所要解决的问题或应用背景)2、开发工具(列出所使用的开发工具和第3方开发库)3、主要功能(详细说明程序的功能)4、设计内容(详细描述解决问题的原理和方法、算法、数据结构等)5、程序文件与工程名称(标出程序中所有文件名、工程名称及其说明)6、函数模块(程序中各个函数的原型声明及其说明)7、使用说明(运行程序的小型说明书)8、程序开发总结(简要叙述编写本作业的收获与思考)9、运行截图(附上程序运行的截图画面,至少有1幅,截图越翔实得分越高)增加联系人修改联系人删除联系人按学生姓名查询联系人按学生学号查询联系人保存通讯录打开通讯录10、源程序(附上程序源代码,若是多个文件,标出文件名)#include<string>#include<fstream>#include<iostream>#include<vector>using namespace std;static int n=0;struct student{string name;string number;string address;string telephone;string post;string mail;};class information{private:student st[10];public:void add(string name, string number,string address,string telephone,string post,string mail);void print(int i){cout<<"\t\t姓名:"<<st[i].name<<endl;cout<<"\t\t学号:"<<st[i].number<<endl;cout<<"\t\t地址:"<<st[i].address<<endl;cout<<"\t\t电话:"<<st[i].telephone<<endl;cout<<"\t\t邮编:"<<st[i].post<<endl;cout<<"\t\t邮箱:"<<st[i].mail<<endl;}void findname(string name);void findnumber(string number);void correct(string name);void del(string);void save();void read();};void information::add(string name, string number,string address,string telephone,string post,string mail){static int i=0;st[i].address=address;st[i].mail=mail;st[i].name=name;st[i].number=number;st[i].post=post;st[i].telephone=telephone;i++;n++;}void information::findname(string name){int x=0;for(int i=0;i<10;i++){if(st[i].name==name){print(i);x=1;break;}}if(x==0)cout<<"the man can.t be found in the record!"<<endl;}void information::findnumber(string number){for(int i=0;i<10;i++){if(st[i].number==number){print(i);x=1;break;}}if(x==0)cout<<"the student can.t be found in the record!"<<endl; }void information::correct(string name){string number;string address;string telephone;string post;string mail;int x=0;for(int i=0;i<10;i++){if(st[i].name==name){cout<<"\t输入要修改的姓名:";cin>>name;st[i].name=name;cout<<"\t输入要修改的学号:";cin>>number;st[i].number=number;cout<<"\t输入要修改的地址:";cin>>address;st[i].address=address;cout<<"\t输入要修改的电话:";cin>>telephone;st[i].telephone=telephone;cout<<"\t输入要修改的邮编:";cin>>post;st[i].post=post;cout<<"\t输入要修改的邮箱:";cin>>mail;st[i].mail=mail;print(i);x=1;}if(x==0)cout<<"the man can.t be found in the record"<<endl;}void information::del(string name){int x=0;for(int i=0;i<10;i++){if(st[i].name==name){st[i].address="0";st[i].mail="0";st[i].name="0";st[i].number="0";st[i].post="0";st[i].telephone="0";x=1;print(i);}}if(x==0)cout<<"the student can.t be found in the record"<<endl;}void information::save(){string fileName;second:cout<<"\t输入要保存的文件名:";cin>>fileName;ofstream outFile(fileName.c_str());if(!outFile){cerr<<"\terror:unable to open output file: "<<fileName<<endl; goto second;}for(int i=0;i<n;i++){outFile << "姓名:"<<st[i].name<<"\t";outFile << "学号:"<<st[i].number<<"\t";outFile << "地址:"<<st[i].address<<"\t";outFile << "电话号码:"<<st[i].telephone<<"\t";outFile << "邮编:"<<st[i].post<<"\t";outFile << "E_MAIL:"<<st[i].mail<<endl;}outFile.close();}void information::read(){vector<string> svec;string fileName,s;cin>>fileName;ifstream inFile(fileName.c_str());if(!inFile){cerr<<"\terror:unable to open output file: "<<fileName<<endl;}while(getline(inFile,s))svec.push_back(s);for(vector<string>::iterator iter=svec.begin();iter!=svec.end();++iter)cout<<*iter<<endl<<endl;}int main(){information s;cout<<"\t★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★"<<endl; cout<<endl;cout<<"\t\t\twelcome to use the communication book"<<endl;cout<<"\t\t\t\t\t\tdesigned: 郭振超"<<endl;cout<<"\t\t----------------------------------------------------"<<endl;begin:cout<<"\t\t| 1.编辑通信录 2.查询联系人 |"<<endl;cout<<"\t\t| 3.保存通信录 4.打开通记录 |"<<endl;cout<<"\t\t----------------------------------------------------"<<endl;string name;string number;string address;string telephone;string post;string mail;int val1;cout<<"\t\t请选择功能号:";cin>>val1;switch(val1){case 1:cout<<"\t\t(1) 增加联系人"<<endl;cout<<"\t\t(2) 修改联系人"<<endl;cout<<"\t\t(3) 删除联系人"<<endl;int val2;cout<<"\t\t请选择选项:";cin>>val2;switch(val2){case 1:cout<<"\t 输入姓名: ";cin>>name;cout<<"\t 输入学号: ";cin>>number;cout<<"\t 输入地址: ";cin>>address;cout<<"\t 输入电话: ";cin>>telephone;cout<<"\t 输入邮编: ";cin>>post;cout<<"\t 输入邮箱: ";cin>>mail;s.add(name,number,address,telephone,post,mail); cout<<"\t\t按0键退出系统,按其他键返回主菜单:";int back_add;cin>>back_add;if(back_add!=0)goto begin;elsegoto end;break;case 2:cout<<"\t请输入要修改的学生姓名:";cin>>name;s.correct(name);cout<<"\t\t按0键退出系统,按其他键返回主菜单:";int back_correct;cin>>back_correct;if(back_correct!=0)goto begin;elsegoto end;break;case 3:cout<<"\t请输入要删除的学生信息的学生姓名:"; cin>>name;s.del(name);cout<<"\t\t按0键退出系统,按其他键返回主菜单:";int back_del;cin>>back_del;if(back_del!=0)goto begin;elsegoto end;break;}break;case 2:cout<<"\t\t(1) 按学生姓名查询"<<endl;cout<<"\t\t(2) 按学生学号查询"<<endl;int val3;cout<<"\t\t请选择选项:";cin>>val3;switch(val3){case 1:cout<<"\t请输入查询的学生姓名:";cin>>name;s.findname(name);cout<<"\t\t按0键退出系统,按其他键返回主菜单:";int back_findname;cin>>back_findname;if(back_findname!=0)goto begin;elsegoto end;break;case 2:cout<<"\t请输入查询的学生学号:";cin>>number;s.findnumber(number);cout<<"\t\t按0键退出系统,按其他键返回主菜单:";int back_findnumber;cin>>back_findnumber;if(back_findnumber!=0)goto begin;elsegoto end;break;}break;case 3:cout<<"\t确定保存修改的记录吗(请输入y或n进行选择):"; char val4;cin>>val4;if(val4=='n'){cout<<"放弃记录保存!"<<endl;cout<<"\t\t按0键退出系统,按其他键返回主菜单:";int back_save;cin>>back_save;if(back_save!=0)goto begin;elsegoto end;}else{s.save();cout<<"\t保存成功!"<<endl;cout<<"\t\t按0键退出系统,按其他键返回主菜单:";int back_save;cin>>back_save;if(back_save!=0)goto begin;elsegoto end;}break;case 4:cout<<"\t输入要打开的记录名:";s.read();cout<<"\t\t按0键退出系统,按其他键返回主菜单:";int back_read;cin>>back_read;if(back_read!=0)goto begin;elsegoto end;break;}end:cout<<"\t**********成功退出系统,欢迎再次使用!**********"<<endl; return 0;}。

西安工业大学C语言程序设计试题及参考答案-2019

西安工业大学C语言程序设计试题及参考答案-2019

计算机程序设计基础2018-2019学年第二学期一.选择题:(共30分,每题1分)1.关于C语言中的变量,以下说法正确的是______。

A)变量的类型可以根据需要随时改变B)变量的类型是在定义的时候确定的C)变量可以没有数据类型D)变量的取值范围与其类型没有关系2.以下数据定义中,有语法错误的是______。

A)double A,a; B)float _0,*q[7]; C)char For; D)int n=6,G[n];3.以下选项中,非法的C语言常量是______。

A)'\\'B)6.18e-5 C)0x5G D)0L4.如果要使x=3.1415926正确赋值,则x应定义为______。

A)int x; B)long x; C)float x; D)double x;5.下面定义的数组中,占用内存空间最大的是______。

A)char a[20]; B)int b[5]; C)float c[4]; D)double d[3];6.若有定义:int x=5, y=7;, 则表达式++(x+y)的值是______。

A)12 B)13 C)14 D)有语法错误7.若有定义:int x=18; 则执行语句x=5/9*x+5;后,变量s的值是______。

A)5 B)10 C)15 D)08.若有定义:int x;,能使表达式 5<x<10的值为1的所有数据是______。

A)6,7,8,9 B)大于5的所有整数C)所有的整数D)小于10的所有整数9.若有定义:int m=3.8, n=3; ,则以下表达式值为0的是______。

A)m||n B)m/n C)m==n D)m>n && n>0 10.下面的C语言运算符中,优先级高于“!=”但低于“+”的运算符是____。

A)&& B)>= C)/ D)=11.若int x=5, y=6, p=0 ; 则执行以下语句后p值是______。

西工大20年10月机考《C语言程序设计》作业参考答案非免费

西工大20年10月机考《C语言程序设计》作业参考答案非免费

西工大20年10月机考《C语言程序设计》作业试卷总分:100 得分:96答案网叫福到(这四个字的拼音)一、单选题(共35 道试题,共70 分)1.{设有以下程序段int x=0,s=0; while(!x!=0) s+=++x; printf("%d",s); 则()。

A.运行程序段后输出0B.运行程序段后输出1C.程序段中的控制表达式是非法的D.程序段执行无限次正确答案:2. feof函数用来判断文件是否结束,如果文件没有结束,则返回值是()。

A.-1B.0C.1D.EOF正确答案:3. 以下程序的输出结果是()。

main(){int c=35; printf("%d\n",c&c);}A. 0B.70C.35D.1答案:4. 若变量已正确定义,有以下程序段int a=3,b=5,c=7;if(a>b) a=b; c=a;if(c!=a) c=b;printf("%d,%d,%d\n",a,b,c);其输出结果是()。

A.程序段有语法错B.3,5,3C.3,5,5D.3,5,7正确答案:5. 以下不构成无限循环的语句或语句组是()。

A.n=0;<br/>do{++n;}while(n<=0);B.n=0;<br/>while(1){n++;}C.n=10;<br/>while(n);{n--;}D.for(n=0,i=1; ;i++)n+=i;6. 要判断char类型变量m是否是数字,可以使用下列表达式()。

A.0<=m&&m<=9B.’0’<=m&&m<=’9’C.”0”<=m&&m<=”9”D.前面3个答案均是错误的正确答案:7. 以下程序的输出结果是()。

main(){ char c='z';printf("%c",c-22);A.dB.eC.cD.f正确答案:8. 若二维数组a由m列,则在a[i][j]之前的元素个数为()。

西北工业大学 c语言 POJ 题目及答案_第六季

西北工业大学 c语言 POJ 题目及答案_第六季

T051#include <stdio.h>#include <string.h>int n;int stringcompare(char S1[],char S2[]) {int i;if(strcmp(S1,S2)==0) n=0;elsefor(i=0;;i++){if(S1[i]!=S2[i]){n=S1[i]-S2[i];break;}}return(n);}int main(){char S1[81],S2[81];gets(S1);gets(S2);printf("%d\n",stringcompare(S1,S2));return 0;}T052#include <stdio.h>#include <string.h>#include <math.h>int gcd(int a,int b){if(a==0){return b;}else if(b==0){return a;}else{int i=a>b?b:a;while(a%i!=0||b%i!=0){i--;}return i;}}int main(){char A[1000];int a=0,b=0,i,m;gets(A);m=strlen(A);for(i=0;i<m;i++){if(A[i]=='S'){printf("WA\n");break;}if(A[i]=='U')a++;if(A[i]=='D')b++;}if(a+b!=m) return 0;else{if(fabs(((double)a)/m-0.5)>0.003) printf("Fail\n");elseprintf("%d/%d\n",a/gcd(a,m),m/gcd(a,m));return 0;}}T053#include <stdio.h>#include <string.h>int main(){char A[3][80];int n,m,i=0,j=0,k=0,a=0,b=0;for(n=0;n<3;n++){gets(A[n]);for(m=0;m<80&&A[n][m]!='\0';m++){if(A[n][m]=='\n') break;else if(A[n][m]>='A'&&A[n][m]<='Z') i++;else if(A[n][m]>='a'&&A[n][m]<='z') j++;else if(A[n][m]>='0'&&A[n][m]<='9') k++;else if(A[n][m]==' ') a++;else b++;}}printf("%d %d %d %d %d\n",i,j,k,a,b);return 0;}T054#include <stdio.h>#include <string.h>int main(){int i=0,j=0,k=0;char s[1000]={0},t[100][100]={0};gets(s);while(s[i]!=0){if(s[i]!=' '&&s[i]!=','&&s[i]!='.') t[k][j]=s[i],j++;else{k++;j=0;}i++;}for(i=k-1;i>=0;i--)printf("%s ",t[i]);printf("\n");return 0;}T055#include <stdio.h>#include <string.h>void Left(char str[],int n,char dest[]){int i;for(i=0;i<n;i++)dest[i]=str[i];}void Right(char str[],int n,char dest[]) {int i,m,j=0;m=strlen(str);for(i=m-n;i<=m;i++){dest[j]=str[i];j++;}}void Mid(char str[],int loc,int n,char dest[]) {int i,j=0;for(i=loc;i<loc+n;i++){dest[j]=str[i];j++;}}int main(){int n,i,loc;char str[81],dest[81];gets(str);scanf("%d %d",&n,&loc);Left(str,n,dest);for(i=0;i<n;i++)printf("%c",dest[i]);printf("\n");Right(str,n,dest);puts(dest);Mid(str,loc,n,dest);puts(dest);return 0;}T056#include <stdio.h>#include <string.h>int main(){int i,j,n;char A[81],t;gets(A);n=strlen(A);if(n%2==0){for(j=0;j<n/2-1;j++)for(i=0;i<n/2-1-j;i++)if(A[i]<A[i+1])t=A[i],A[i]=A[i+1],A[i+1]=t;for(j=0;j<n/2-1;j++)for(i=n/2;i<n-1-j;i++)if(A[i]>A[i+1])t=A[i],A[i]=A[i+1],A[i+1]=t;for(i=n/2;i<n;i++)printf("%c",A[i]);for(i=0;i<n/2;i++)printf("%c",A[i]);printf("\n");}else{for(j=0;j<(n-1)/2-1;j++)for(i=0;i<(n-1)/2-1-j;i++)if(A[i]<A[i+1])t=A[i],A[i]=A[i+1],A[i+1]=t;for(j=0;j<(n-1)/2-1;j++)for(i=(n+1)/2;i<n-1-j;i++)if(A[i]>A[i+1])t=A[i],A[i]=A[i+1],A[i+1]=t;for(i=(n+1)/2;i<n;i++)printf("%c",A[i]);printf("%c",A[(n+1)/2-1]);for(i=0;i<(n+1)/2-1;i++)printf("%c",A[i]);printf("\n");}return 0;}T057#include <stdio.h>int main(){char A[10000],B[10000];int i,j=0,t;gets(A);while(A[j]!='='){B[j]=A[j];j++;}t=j-1;for(i=0;i<=t;i++){A[i]=B[j-1];j--;}for(i=0;i<=t;i++)printf("%c",A[i]);printf("\n");return 0;}T058#include <stdio.h>int main (){int test_case = 0;char note[1000];while (gets( note ) != NULL){test_case ++;if (note[0] == 'A' && note[1] == ' '){printf( "UNIQUE\n");break;}else if (note[0] == 'A' && note[1] == '#'){note[0] = 'B';note[1] = 'b';printf("%s\n",note);break;}else if (note[0] == 'B' && note[1] == 'b'){note[0] = 'A';note[1] = '#';printf("%s\n",note);break;}else if (note[0] == 'B' && note[1] == ' '){printf( "UNIQUE\n");break;}else if (note[0] == 'C' && note[1] == ' '){printf( "UNIQUE\n");break;}else if (note[0] == 'C' && note[1] == '#'){note[0] = 'D';note[1] = 'b';printf("%s\n",note);break;}else if (note[0] == 'D' && note[1] == 'b'){note[0] = 'C';note[1] = '#';printf("%s\n",note);break;}else if (note[0] == 'D' && note[1] == ' '){printf("UNIQUE\n");break;}else if (note[0] == 'D' && note[1] == '#'){note[0] = 'E';note[1] = 'b';printf("%s\n",note);break;}else if (note[0] == 'E' && note[1] =='b'){note[0] = 'D';note[1] = '#';printf("%s\n",note);break;}else if (note[0] == 'E' && note[1] == ' ') {printf("UNIQUE\n");break;}else if (note[0] == 'F' && note[1] == ' ') {printf("UNIQUE\n");break;}else if (note[0] == 'F' && note[1] == '#'){note[0] = 'G';note[1] = 'b';printf("%s\n",note);break;}else if (note[0] == 'G' && note[1] == 'b'){note[0] = 'F';note[1] = '#';printf("%s\n",note);break;}else if (note[0] == 'G' && note[1] == ' ') {printf("UNIQUE\n");break;}else if (note[0] == 'G' && note[1] == '#'){note[0] = 'A';note[1] = 'b';printf("%s\n",note);break;}else if (note[0] == 'A' && note[1] == 'b'){note[0] = 'G';note[1] = '#';printf("%s\n",note);break;}else {printf("false");break;}}return 0;}T059#include <stdio.h>#include <string.h>int main(){char A[100],B[100];int i,m,n,j=0;gets(A);n=strlen(A);scanf("%d",&m);for(i=m;i<n;i++){B[j]=A[i];j++;}for(i=0;i<j;i++)printf("%c",B[i]);printf("\n");return 0;}T060#include <stdio.h>int main(){char C[100],*p=C;int A[50],*q=A,num=0,i;gets(C);for(;*p!='\0';p++)if(*p>='0'&&*p<='9'){*q=(*p)-'0';p++;while(*p>='0'&&*p<='9')*q=(*q)*10+(*(p++)-'0');num+=1;q+=1;}printf("%d\n",num);for(i=0,q=A;i<num;i++,q++)printf("%d ",*q);printf("\n");return 0;}。

c语言大作业(西工大)

c语言大作业(西工大)

标准型大作业题目下面10个题目中任选其一完成。

【难度系数:7】1.设计一个简单的学生成绩管理程序,要求根据菜单处理相应功能。

(1)管理功能包括列表,求平均成绩、查找最高分。

(2)可以实现按指定的性别筛选列表,或按高于指定的个人平均分筛选列表;(3)可以实现按平均成绩排序;(4)求平均成绩可按个人或科目进行;(5)查找可按最高个人平均分进行,或按指定科目的最高分进行;(6)每个学生的信息包括:序号、学号、性别、成绩1、成绩2、成绩3、成绩4;(7)基本功能为:建立文件、增加学生记录、新建学生信息文件、删除/修改学生记录2.先建立一个有三个学生的链表,每个结点包含:学号、姓名、3门考试成绩(英语、数学、计算机)。

要求利用菜单的形式进行管理。

菜单为:1.排序(按学号);2.插入(输入一个学生的信息将它插入链表中,假定链表按学号有序);3.查找(输入一个学生学号,输出其各科成绩);4.删除(从链表中按输入的学号删除该学生)5.统计(若按1,则输入学生的学号统计该生的总分及平均分;若按2,则输入课程求该门课程的总平均分)6.存盘(将建立起来的链表以文件的形式存盘)7.读入(将原来已经存盘的文件读入内存,进行管理)3.设计菜单处理程序,对一维数组进行不同的操作。

(1)操作项目包括求数组最大植、最小植、求和、求平均值、排序、二分查找、有序插入;(2)设计并利用字符菜单进行操作项目的选择,程序一次运行可根据选择完成一项或多项操作;通过菜单“退出”来结束程序的运行;(3)数组的输入、输出可支持命令行输入文件名、界面输入文件名从数据文件中输入和输出;也支持界面录入;4.打印指定年份的公历表和农历表(1)输入年份为1990~2050;(2)可以选择输出公历表或农历表;(3)农历表包括二十四节气;5.请设计一个学生证的管理程序。

该程序应该具有下列功能:(1) 通过键盘输入某位学生的学生证信息。

学生证包含的信息请参看自己的学生证;(2) 给定学号,显示某位学生的学生证信息;(3) 给定某个班级的班号,显示该班所有学生的学生证信息;(4) 给定某位学生的学号,修改该学生的学生证信息;(5) 给定某位学生的学号,删除该学生的学生证信息;(6) 提供一些统计各类信息的功能。

C语言大作业西工大

C语言大作业西工大

五、程序源代码及注释
#include<stdio.h> #include<malloc.h> #include<windows.h> #define MAX_VERTEX_NUM 20 typedef struct ArcNode{
int adjvex;
struct ArcNode* nextarc; }ArcNode; typedef struct VNode{
return 1; } void DFS(ALGraph ag,int start) {
LinkNode* Stack = (LinkNode*)malloc(sizeof(LinkNode)); LinkNode* pStack = (LinkNode*)malloc(sizeof(LinkNode)); LinkNode* temp; ArcNode* p; int i; if(!pStack||!Stack)
DFS(ag,choose);
i = 0; while(Visited[i]!='\0') {
int i;
if(!Queue || !pQueue)
return;
Queue->next = NULL;
printf("\n 输出广度优先遍历次序:");
printf(" %c ",ag.vertices[start].cData);
p = ag.vertices[start].firstarc;
last->next = pQueue;
last = last->next;
}
p = p->nextarc;
}
temp = Queue->next;

西工大20年4月机考随机试题-C语言程序设计作业答案

西工大20年4月机考随机试题-C语言程序设计作业答案

C???????????20204??试卷总分:100 得分:92一、单选题(共35 道试题,共70 分)1. 当顺利执行了文件关闭操作时,fclose函数的返回值是()。

A.0B.TrueC.-1D.1正确答案:A2.假定w、x、y、z、m均为整型变量,且w=1, x=2, y=3, z=4则执行语句:m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;后,m的值是()。

A.4B.3C.2D.1正确答案:D3. 有以下程序main(){ int i,s=1;for (i=1;i<50;i++)if(!(i%5)&&!(i%3)) s+=i;printf("%d\n",s);A.409B.277C.1D.91正确答案:D4. 以下叙述中错误的是()。

A.在程序中凡是以"#"开始的语句行都是预处理命令行B.预处理命令行的最后不能以分号表示结束C.#define MAX 是合法的宏定义命令行D.C程序对预处理命令行的处理是在程序执行的过程中进行的正确答案:D5. 已知字母A的ASCII代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是()。

A.kk>=′A′&& kk<=′Z′B.!(kk>=′A′︱︱kk<=′Z′)C.(kk+32)>=′a′&&(kk+32)<=′Z′D.isalpha(kk)&&(kk<91)正确答案:B6. 有以下定义#includechar a[10],*b=a;不能给a数组输入字符串的语句是()。

A.gets(a)B.gets(a[0]);C.gets(&a[0]);D.gets(b)正确答案:B7. 已知int i, x[3][4]; 则不能将x[1][1]的值赋给变量i的语句是()。

西工大C语言POJ作业

西工大C语言POJ作业

T071、大数乘法#include <stdio.h>#include <string.h>#include <stdlib.h>void cheng(char a[],char b[]){int i,j,ca,cb,*s;ca=strlen(a);cb=strlen(b);s=(int *)malloc(sizeof(int)*(ca+cb)); //分配存储空间for (i=0;i<ca+cb;i++) s[i]=0; // 每个元素赋初值0for (i=0;i<ca;i++)for (j=0;j<cb;j++)s[i+j+1]+=(a[i]-'0')*(b[j]-'0');for (i=ca+cb-1;i>=0;i--) // 这里实现进位操作if (s[i]>=10){s[i-1]+=s[i]/10;s[i]%=10;}i=0;while(s[i]==0) i++; // 跳过头部0元素for (;i<ca+cb;i++) printf("%d",s[i]);printf("\n");free(s);}int main(){char a[100],b[100];gets(a),gets(b);if(a[0]=='-'&&b[0]!='-'){printf("-");cheng(&a[1],b);}else if(a[0]=='-'&&b[0]=='-'){cheng(&a[1],&b[1]);}else if(a[0]!='-'&&b[0]=='-'){printf("-");cheng(a,&b[1]);}elsecheng(a,b);return 0;}T072、创建与遍历职工链表#include <stdio.h>#include <stdlib.h>struct member{int data;struct member*next;};struct member *creat(struct member*head){struct member *p1,*p2=NULL;int i,n;scanf("%d",&n);for(i=0;i<n;i++){p1=(struct member*)malloc(sizeof(struct member));scanf("%d",&p1->data);if(i==0)head=p1;elsep2->next=p1;p2=p1;}p2->next=NULL;return head;}void list(struct member*head) {struct member *p=head; while(p!=NULL){printf("%d ",p->data);p=p->next;}printf("\n");}int main(){struct member *head; head=creat(head);list(head);return 0;}T073、幸运儿#include <stdio.h>int main(){int a[51]={0},b[20],x,count=0,num=0,j=0,n,i,flag=0; scanf("%d%d",&n,&x);for(i=0;i<20;i++)scanf("%d",&b[i]);while(1){for(i=1;i<=n;i++){if(a[i]==0) num++;if(num==b[j]){a[i]=1;num=0;count++;}if(count==n-x){flag=1;break;}}if(flag==1)break;j++;num=0;}for(i=1;i<=n;i++)if(a[i]==0)printf("%d ",i);printf("\n");return 0;}T074、插入链表节点#include <stdio.h>#include <stdlib.h>struct member{int data;struct member*next;};struct member *creat(struct member*head){struct member *p1,*p2=NULL;int i,n;scanf("%d",&n);for(i=0;i<n;i++){p1=(struct member*)malloc(sizeof(struct member));scanf("%d",&p1->data);if(i==0)head=p1;elsep2->next=p1;p2=p1;}p2->next=NULL;return head;}struct member *insert(struct member*head){struct member *p0=head,*p1;p1=(struct member *)malloc(sizeof(struct member)); scanf("%d",&p1->data);while(p0->next!=NULL){if(p0->data<p1->data&&p0->next->data>p1->data) {p1->next=p0->next;p0->next=p1;}p0=p0->next;}return head;}void list(struct member*head){struct member *p=head;while(p!=NULL){printf("%d ",p->data);p=p->next;}printf("\n");}int main(){struct member *head;head=creat(head);head=insert(head);list(head);return 0;}T075、毕业设计论文打印#include <stdio.h>int main(){int n,m,a[100]={0},count=0,flag=0,i,j; scanf("%d%d",&n,&m);for(i=0;i<n;i++)scanf("%d",&a[i]);while(1){for(i=0;i<n&&a[i]!=0;i++){for(j=i;j<n;j++)if(a[j]>a[i])break;if(j==n){a[i]=0;count++;if(i==m){flag=1;break;}}}if(flag==1)break;}printf("%d\n",count);return 0;}T076、链表动态增长或缩短#include <stdio.h>#include <stdlib.h>#define LEN sizeof(struct student) int a[10000];struct student{int age;struct student *next;};int n;struct student *creat(int num){struct student *head;struct student *p1,*p2;n=0;p1=p2=(struct student*)malloc(LEN);scanf("%d",&p1->age);head=NULL;while(n<num){n=n+1;if(n==1)head=p1;elsep2->next=p1;p2=p1;p1=(struct student *) malloc(LEN);if(n<num)scanf("%d",&p1->age);}p2->next=NULL;return head;}struct student *del(struct student *head){struct student *p1,*p2,*p3,*p4,*p5;p1=head;p5=head;do{if(a[p1->age]==1&&p1->next!=NULL){p2->next=p1->next;p3=p5;while(p3!=NULL){if(p3->age==p1->age){ if(p3==head)head=p3->next;elsep4->next=p3->next;}p4=p3;p3=p3->next;}}else if(a[p1->age]==1&&p1->next==NULL){p2->next=NULL;p3=p5;while(p3!=NULL){if(p3->age==p1->age){if(p3==head)head=p3->next;elsep4->next=p3->next;}p4=p3;p3=p3->next;}}else a[p1->age]=1;p2=p1;p1=p1->next;} while(p1!=NULL);return head;}int main(){int num;scanf("%d",&num);struct student *p;p=creat(num);p=del(p);do{printf("%d ",p->age);p=p->next;}while(p!=NULL);return 0;}T077、大数减法#include <stdio.h>#include <string.h>#define max(a,b) a>b?a:b#define min(a,b) a>b?b:aint sum[101];void jia(char a[],char b[]){int flag=0,i,len1,len2,lenmax,lenmin;len1=strlen(a),len2=strlen(b);lenmax=max(len1,len2),lenmin=min(len1,len2); for(i=1;i<=lenmax;i++){if(i<=lenmin){sum[lenmax-i]=a[len1-i]+b[len2-i]-'0'-'0'+flag;if(sum[lenmax-i]>=10){sum[lenmax-i]=sum[lenmax-i]-10;flag=1;}else flag=0;}else{if(len1>len2){sum[lenmax-i]=a[len1-i]-'0'+flag;if(sum[lenmax-i]>=10){sum[lenmax-i]=sum[lenmax-i]-10;flag=1;}else flag=0;}else{sum[lenmax-i]=b[len2-i]-'0'+flag;if(sum[lenmax-i]>=10){sum[lenmax-i]=sum[lenmax-i]-10;flag=1;}else flag=0;}}}if(flag==1)printf("1");for(i=0;i<lenmax;i++)printf("%d",sum[i]);printf("\n");}void jian(char a[],char b[]){int flag=0,i;int len1,len2;len1=strlen(a),len2=strlen(b);for(i=1;i<=len1;i++){if(i<=len2){if(a[len1-i]-b[len2-i]-flag>=0){sum[len1-i]=a[len1-i]-b[len2-i]-flag;flag=0;}else{sum[len1-i]=a[len1-i]-b[len2-i]-flag+10;flag=1;}}else{if(a[len1-i]-flag-'0'>=0){sum[len1-i]=a[len1-i]-flag-'0';flag=0;}else{sum[len1-i]=a[len1-i]-flag+10-'0';flag=1;}}}for(i=0;i<len1&&sum[i]==0;i++);for(;i<len1;i++)printf("%d",sum[i]);printf("\n");}void compare(char a[],char b[]){int len1,len2;len1=strlen(a),len2=strlen(b);if(len1>len2||(len1==len2&&strcmp(a,b)>0))jian(a,b);else if(strcmp(a,b)!=0){printf("-");jian(b,a);}elseprintf("0\n");}int main(){char a[100],b[100];gets(a);gets(b);if(a[0]=='-'&&b[0]!='-'){printf("-");jia(&a[1],b);}else if(a[0]=='-'&&b[0]=='-')compare(&b[1],&a[1]); else if(a[0]!='-'&&b[0]=='-')jia(a,&b[1]);elsecompare(a,b);return 0;}T078、大数除法#include<stdio.h>#include<string.h>int len1,len2;int re[105];void sub(char s1[],char s2[]) {int i=0;int j;while(1){if(s1[i]=='0')i++;{j=i;break;}}for(;i<len2;i++){s1[i]=s1[i]-s2[i]+'0';}for(i=len2-1;i>j;i--) //低位开始检测是否小于0{if(s1[i]<'0'){s1[i]+=10;s1[i-1]--;}}}void chu(char s1[],char s2[]){int p,i;len1=strlen(s1);len2=strlen(s2);if(len1<len2||(len1==len2&&strncmp(s1,s2,len2)<0)) //如果a<b,直接输出0 {printf("0\n");return;}p=0;while(1){re[p]=0;while(strncmp(s1,s2,len2)>=0)//一直进行减法,直到不能减为止{sub(s1,s2);re[p]++;}p++;if(len1==len2)break;for(i=len2-1;i>=0;i--)//在s2前面补0,以便进行减法运算s2[i+1]=s2[i];}s2[0]='0';len2++;s2[len2]='\0';}i=0;while(1){if(re[i]==0)i++;elsebreak;}for(;i<p;i++)printf("%d",re[i]);printf("\n");}int main(void){char s1[105];char s2[105];gets(s1),gets(s2);if(s1[0]=='-'&&s2[0]!='-') {printf("-");chu(&s1[1],s2);}else if(s1[0]=='-'&&s2[0]=='-')chu(&s1[1],&s2[1]);else if(s1[0]!='-'&&s2[0]=='-') {printf("-");chu(s1,&s2[1]);}elsechu(s1,s2);return 0;}T079、链表节点删除#include <stdio.h>#include <stdlib.h>struct student{int no;char name[12];int age;struct student *next;};struct student *deletelist(struct student *head,int n) {struct student *p=head,*q;if(p->no==n){head=p->next;free(p);}else{while(p->next!=NULL&p->next->no!=n)p=p->next;if(p->next->no==n){q=p->next;p->next=q->next;free(q);}}return head;}void list(struct student *head){struct student *p=head;while(p->next!=NULL){printf("%d ",p->no);p=p->next;}printf("\n");}int main(){int n,i=0;struct student *head,*p1,*p2;p1=p2=(struct student *)malloc(sizeof(struct student)); for(i=0;;i++){if(i==0) head=p1;elsep2->next=p1;p2=p1;scanf("%d",&p1->no);if(p1->no==0) break;scanf("%s %d",p1->name,&p1->age);p1=(struct student *)malloc(sizeof(struct student)); }p2->next=NULL;scanf("%d",&n);list(head);head=deletelist(head,n);list(head);return 0;}T080、行程编码压缩算法#include <stdio.h>#include <stdlib.h>int main(void){char line[100],a;int i,k,m;k=1;m=0;gets(line);a=line[0];for(i=1;line[i]!='\0';i++){if(a!=line[i]){if(m==0&&k==1){printf("1");m=1;}if(a=='1'&&m==1) printf("11");if(m==1&&a!='1') printf("%c",a);if(k!=1){printf("%d%c",k,a);k=1;}}else{if(m==1){printf("1");m=0;}if(k==9){printf("9%c",a);k=1;}else k++;}a=line[i];}if(k!=1){printf("%d%c",k,a);}else{if(m==0){if(a=='1')printf("1111");elseprintf("1%c1",a);}else{if(a=='1')printf("111");elseprintf("%c1",a);}}return 0; }。

西工大20春《C语言程序设计》在线作业参考答案

西工大20春《C语言程序设计》在线作业参考答案
A.4,4
B.4,2
C.2,4
D.2,2
答案:C
29.{图}
1
A.62,75
B.56,70
C.40,0
D.0,0
答案:C
30.以下函数定义首部形式正确的是()。
A.double fun(int x;int y)
B.double fun(int x.int y);
C.double fun(int x,y)
A.=
B./
C.*
D.%
答案:D
4.{图}1
A.stutype是用户定义的结构体类型名
B.struct是结构体类型的关键字
C.struct stu是用户定义的结构体类型
D.a和b都是结构体成员名
答案:A
5.{图}
1
A.D
B.C
C.B
D.A
答案:C
6.{图}
1
A.语句void prt_char();有错,它是函数调用语句,不能用void说明
C.数值运算算法
D.形式运算
答案:AC
39.C程序注释是由( )所界定的文字信息组成的。
A./*
B.*/
C.&
D.#
答案:AB
40.函数体一般包括( )两部分。
A.操作
B.执行
C.形式
D.声明
答案:BD
以下内容不需要的请自行删除
德国企业是欧洲企业的代表
1.企业培训。德国企业培训的突出特点是注重能力的培养,解决实际存在的问题。通过探讨和实验寻求解决问题的最佳途径和方法,给每个员工充分的自由发挥的空间,极大地调动了他们的积极性,也大大地提高了参训学员的素质和解决问题的能力。德国企业培训工作还有一个十分重要的任务,就是让员工认同企业的价值观。

西工大C语言POJ习题答案.docx

西工大C语言POJ习题答案.docx

一.1.第一季10题全(注:第五题问题已经解决,确认AC!)#include <stdio.h>int main(){int a,b,sum;scanf("%d%d",&a,&b);sum=a+b;printf("%d\n",sum);return 0;}2.#include <stdio.h>#define PI 3.1415926int main(){double r,h,l,s,sq,vq,vz;scanf("%lf%lf",&r,&h);l=2*PI*r;s=PI*r*r;sq=4*PI*r*r;vq=4*PI*r*r*r/3;vz=s*h;printf("%.2lf\n%.2lf\n%.2lf\n%.2lf\n%.2lf\n", l,s,sq,vq,vz);return 0; }3.#include <stdio.h>int main(){int a,b,c;double d,e;scanf("%d%d%d",&a,&b,&c); d=a+b+c;e=d/3;printf("%lf\n%lf\n",d,e);return 0;}4.#include <stdio.h>int main(){int a,b,c;scanf("%d%d%d",&a,&b,&c); if(a<b)a=b;if(a<c)a=c;printf("%d\n",a);return 0;}5.#include<stdio.h>int main(){int i=0,j=0,k=1;char a[6];while((a[i]=getchar())!='\n') {i++;}for(;i>0;i--){if(a[j]==a[i-1]){ j++;continue;}else {k=0;break;}}if(k==1)printf("yes\n"); elseprintf("no\n"); }6.#include<stdio.h>int main(){double a,c;scanf("%lf",&a);switch((int)a/10){case0:c=a*0.1;break;case1:c=(a-10)*0.075+10*0.1;break;case2:case3:c=(a-20)*0.05+10*0.075+10*0.1;break;case4:case5:c=(a-40)*0.03+20*0.05+10*0.075+10*0.1;break;case6:case7:case8:case9:c=(a-60)*0.015+20*0.03+20*0.05+10*0.075+10*0. 1;break;default:c=(a-100)*0.01+40*0.015+20*0.03+20*0.05+10*0. 075+10*0.1;}printf("%lf\n",c);return0;}7.#include<stdio.h>int main(){double a,b,c;scanf("%lf",&a);c=(int)a;if(a>c)a=c+1;if(a>15)b=(a-15)*2.1+7+13*1.5;else{if(a>2)b=(a-2)*1.5+7;else b=7;}printf("%lf\n",b); return0;}8.#include <stdio.h>int main(){int a,b,c,e,f=30,g=31,n;scanf("%d-%d-%d",&a,&b,&c);if((a%400==0)||(a%100!=0&&a%4==0)) e=29;elsee=28;switch (b){case 1:n=c;break;case 2:n=g+c;break;case 3:n=g+e+c;break;case 4:n=g+e+g+c;break;case 5:n=g+e+g+f+c;break;case 6:n=g+e+g+f+g+c;break;case 7:n=g+e+g+f+g+f+c;break;case 8:n=g+e+g+f+g+f+g+c;break;case 9:n=g+e+g+f+g+f+g+g+c;break;case 10:n=g+e+g+f+g+f+g+g+f+c;break; case 11:n=g+e+g+f+g+f+g+g+f+g+c;break; default: n=g+e+g+f+g+f+g+g+f+g+f+c;}printf("%d\n",n);return 0;}9.#include <stdio.h> int main(){int x;scanf("%d",&x);if(x>=90&&x<=100) printf("A\n");else if (x>=80)printf("B\n");else if (x>=70)printf("C\n");else if (x>=60)printf("D\n");elseprintf("E\n");return 0;}10.#include<stdio.h>int main(){double x,y,s;scanf("%lf,%lf",&x,&y);s=(x+2)*(x+2)+(y-2)*(y-2); if(s>1){s=(x+2)*(x+2)+(y+2)*(y+2); if(s>1){s=(x-2)*(x-2)+(y+2)*(y+2);if(s>1){s=(x-2)*(x-2)+(y-2)*(y-2);if(s>1){printf("0\n");return1;} }}}printf("10\n");return0;}二。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第2季:循环第1题1.完全数#include<stdio.h>int main(){int m,i,j,s;for(m=6;m<1000;m++){s=1;for(i=2;i<m;i++)if(m%i==0) s=s+i;if(m-s==0){printf("%5d its fastors are 1 ",m);for(j=2;j<m;j++) if(m%j==0) printf("%d ",j);printf("\n");}}}第2题Title迭代求根Time1000MSLimit10000KBMemoryLimitDescriptionInput输入a为实型Output输出根为实型,保留五位小数。

Sample 22.迭代求根#include<stdio.h>#include<math.h>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题Time1000MSLimit10000KBMemoryLimitDescripti请编写程序,用二分法求下面方程在(-10,10)之间的根:onInput输入区间数据为实型、用空格隔开输出均。

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

-10 10SampleInputSample2.00Output3.二分求根#include<stdio.h>#include<math.h>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题4.VOL大学乒乓球比赛#include<stdio.h>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题5.两个整数之间所有的素数#include <stdio.h>#include <math.h>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奇特的分数数列Time1000MSLimit10000KBMemoryLimitDescripti有一个分数数列:on求出这个数列前20项之和。

InputOutput输出保留六位小数。

SampleInput32.660261SampleOutput6.奇特的分数数列#include<stdio.h>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你会存钱吗?Time1000MSLimit10000KBMemoryLimitDescripti假设银行整存整取存款不同期限的月息利率分别为:on利息=本金*月息利率*12*存款年限。

现在某人手中有2000元钱,请通过计算选择一种存钱方案,7.你会存钱吗?#include<stdio.h>#include<math.h>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题8.整数位数#include<stdio.h>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题TitleTime1000MSLimit10000KBMemoryLimitDescripti编写程序利用下面公式计算π的近似值:onInputOutput输出π为实型,保留六位小数。

SampleInputSample3.141591Output9.计算π的近似值#include<stdio.h>#include<math.h>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级数和1000MSTimeLimit10000KBMemoryLimitDescripti编写程序求下面级数前n项的和,其中n从键盘上输入。

onInput输入n为整型。

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

Sample5Input0.338462SampleOutput10.级数和#include<stdio.h>#include<math.h>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题11.区间内素数#include<stdio.h>#include<math.h>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自然数立方的乐趣TimeLimit1000MSMemoryLimit10000KBDescription编写程序验证下列结论:任何一个自然数n的立方都等于n个连续奇数之和。

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

Input输入自然数n为整数。

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

SampleInput5SampleOutput5*5*5=125=21+23+25+27+2912.自然数立方的乐趣#include<stdio.h>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题Limit10000KBMemoryLimit编写程序求一个整数的任意次方的最后三位数。

相关文档
最新文档