版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 高级语言程序设计(C语言)实验报告。一、实验题目:语句与顺序结构控制程序设计1)编写程序,已知圆半径radius=1.25,求圆周长和面积。源代码: 运行结果:#include d=7.#define PI 3. s=4.void main()float r=1.25,d,s;d=2.0*PI*r;s=PI*r*r;printf(d=%fn,d);printf(s=%fn,s);2)编写程序完成大写字母的小写转换。源代码: 运行结果:#include 请输入一个大写字母:H void main() H hchar ch1,ch2;printf(请输入一个大写字母:);ch1=getchar(
2、);ch2=ch1+32;printf(%c %cn,ch1,ch2);3)任意从键盘输入一个三位整数,要求正确分离出它的个位、十位和百位数,并分别在屏幕上显示。源代码: 运行结果:#include 请输入一个整数 :123 void main() b=1,s=2,g=3int a,g,s,b;printf(请输入一个整数:);scanf(%d,&a);b=a/100;s=(a%100)/10;g=a%10;printf(b=%d,s=%d,g=%dn,b,s,g);二、实验题目:选择结构程序设计程序设计1)设变量a、b、c分别存放从键盘输入的3个整数。编写程序,按从大到小的顺序排列这3个整数
3、,使a成为最大的,c成为最小的,并且按序输出这3个整数。源代码: 运行结果:#include please input a,b,c:4,6,10void main() 10,6,4int a,b,c,t;printf(please input a,b,c: );scanf(%d,%d,%d,&a,&b,&c);if(ab) t=a,a=b,b=t;if(ac) t=a,a=c,c=t; if(bc) t=b,b=c,c=t;printf(%d %d %dn,a,b,c);2)输入某学生的考试成绩等级A、B 、C、 D,要求按照等级输出对应的分数段。A级对应分数段为80100,B级对应分数段70
4、79, C级对应分数段6069 , D级对应分数段为60分以下。源代码: 运行结果:#include 请输入成绩等级Bvoid main() B- 70 79 char c; printf(请输入成绩等级); c=getchar(); switch(c) case A: printf(%c - 80 100n ,c);break; case B: printf(%c - 70 79n,c);break; case C: printf(%c - 60 69n ,c);break; case D: printf(%c - 60分以下n,c);break; default: printf(输入错误n
5、); 三、实验题目:循环结构程序设计程序设计1) 找出100-900之间的无暇素数。所谓无暇素数是指本身为素数,且其逆序数也是素数的数。例如:113是一个素数,311也是一个素数,113就是无暇素数。源代码: 运行结果:#include 101 107 113 131 149void main() 151 157 167 179 181 191 199 311 313 337int i,j,flag1,flag2,g,s,b,r,count; 347 353 359 373 383count=0; 389 701 709 727 733for (i=100;i=900;i+) 739 743
6、751 757 761 769 787 797b=i/100; s=(i%100)/10; g=i%10;r=g*100+s*10+b;flag1=flag2=1;for (j=2;ji;j+)if (i%j=0) flag1=0;for (j=2;jr;j+)if (r%j=0) flag2=0;if (flag1&flag2)count+; printf(%5d ,i); if (count%5=0) printf(n);2) 编程:用迭代法求某数a的平方根。平方根的迭代公式如下: xn+1=(xn+a/xn)/2; 设x0=a/2;当迭代相邻两项差的绝对值小于10-5时,迭代结束。源代码
7、: 运行结果:#include 请输入一个实数:4#include 2.,2.void main()double a,x1,x2,d;printf(请输入一个实数:);scanf(%lf,&a);x1=a/2.0;do x2=(x1+a/x1)/2.0;d=fabs(x1-x2);x1=x2;while (d=1.0E-5);printf(%f,%fn,x2,sqrt(a);四、实验题目:数组程序设计1) 完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。编程找出 1000 以内的所有完全数
8、,并输出使该数成为完全数的因子。(例如6123。按照6, its factors are 1,2,3格式输出)。 源代码: 运行结果:#include 6,its facts are 1 2 3void main() 28,its facts are 1 2 4 7 14 496,its facts are 1 2 4 8 16 31 62 124 248int i,j,count,sum,f1000;for (i=2;i=1000;i+)count=0;sum=0;for (j=1;ji;j+)if (i%j=0)fcount=j;sum=sum+fcount;count+;if (i=su
9、m)printf(%d,its facts are ,i);for (j=0;jcount;j+) printf(%d ,fj);printf(n);2) 从键盘输入字符串a和字符串b,并在a串中的最小元素(不含结束符)后面插入字符串b。源代码: 运行结果:#include dfghj#include qwerty#define N 80 dqwertyfghjvoid main () char aN,bN,cN; int min,i,j,n; gets(a); gets(b); min=0; for(i=1;ai!=0;i+) if(aiamin) min=i; n=strlen(b); f
10、or(j=0,i=min+1;ai!=0;i+) cj+=ai; cj=0;amin+1=0; strcat(a,b); strcat(a,c); puts(a);五、实验题目:函数程序设计1) 编程实现求两个正整数的最大公约数,要求计算最大公约数用函数fun(int a,int b)实现。源代码: 运行结果:#include 请输入两个整数:12 6int hcf(int m,int n) /*求最大公约数的函数*/ a= 6 int t,r; if(nm) t=n;n=m;m=t; while (r=m%n)!=0) m=n; n=r; return (n);void main()int
11、m,n,a;printf(请输入两个整数:);scanf(%d%d,&m,&n);a=hcf(m,n);printf(a=%dn,a);2) 编程实现打印出2n之间的所有素数,要求判断素数过程用自定义函数实现。源代码: 运行结果:#include input n:20int isprime(int n) 2 3 5 7 11 13 17 19int i;for(i=2;in;i+)if(n%i=0)return 0;return 1;void main()int i,n; printf(input n:);scanf(%d,&n);for(i=2;i2)例如:当t=1000时,函数值为:159
12、7。源代码: 运行结果:#include Input n please:1000int fun(int t) n=1000,f=1597int f1,f2,f;f1=f2=1;f=f1+f2;while(f=t)f1=f2;f2=f;f=f1+f2;return f;void main() int n; printf(Input n please:); scanf(%d,&n); printf(n = %d, f = %dn,n, fun(n) ; 六、实验题目:指针程序设计1)分别求出数组中所有3的倍数之和以及5的倍数之和。形参n给了数组中数据的个数,利用指针three返回3的倍数之和,利用
13、指针five返回5的倍数之和。例如:数组中的值依次为:1,5,9,2,3,15,11,6,10;则利用指针three返回3的倍数之和33;利用指针five返回5的倍数之和30。请在下面空白处完善这一函数的功能,并且调试运行出结果。源代码: 运行结果:#include The original data is:#define N 20 1 5 9 2 3 15 11 6 10void fun(int *a,int n,int *three,int *five) 3的倍数之和:33 int i; 5的倍数之和:30*three=*five=0;for(i=0;in;i+)if(ai%3=0) *t
14、hree+=ai;if(ai%5=0) *five+=ai;void main() int aN=1,5,9,2,3,15,11,6,10,i,n=9,three,five;printf(The original data is:n);for(i=0;in;i+) printf(%5d,*(a+i); printf(nn);fun(a,n,&three,&five); printf(3的倍数之和:%dn,three);printf(5的倍数之和:%dn,five);2)从键盘输入一个字符串,实现利用字符指针将字符串的字符顺序逆置并输出。(例如输入abcdef,输出fedcba)。请编写相应的程
15、序代码,并调试运行出正确结果。源代码: 运行结果:#include 请输入一个字符串:#include abcdefgvoid reverse(char *p,int n) gfedcbachar *q,t;for (q=p+n-1;pq;p+,q-)t=*p;*p=*q;*q=t;void main()char s80;int n;printf(请输入一个字符串:n);gets(s);n=strlen(s);reverse(s,n);puts(s);七、实验题目:结构体和共用体程序验证:启动vc语言环境,输入并执行个 运行结果:#include Input students numberst
16、ruct stu 003 name=Aliceint num; sex=Wchar name10; age=22char sex; 79 78 96 97int age;int score4;students =001, David,M,25,80,78,92,94,002, Lily,W,23,90,84,89,95, 003, Alice,W,22,79,78,96,97,void main( )int i,j,number;printf(Input students numbern);scanf(%d,&number);for(i=0;i3;i+)if(number=studentsi.
17、num)break;printf(name=%snsex=%cnage=%dn,,studentsi.sex,studentsi.age);for(j=0;j4;j+)printf(%d ,studentsi.scorej);printf(n);程序设计:某单位进行选举,有5位候选人:李宁、王新、赵广、陈奇、六六。编写一个统计每人得票数的程序。要求每一个人的信息使用一个结构体表示,5个人的信息使用结构体数组。源代码: 运行结果:#include 请输入总票数3#include 李宁struct person 王新 赵广char name18; 李宁,1int cou
18、nt; 王新,1leader5=李宁,0,王新,0,赵广,0,陈奇,0,六六,0; 赵广,1void main () 陈奇,0 六六,0int i,j,k;char leader_name18; printf(请输入总票数);scanf(%d,&k);for(i=1;i=k;i+)scanf (%s,leader_name);for (j=0;j5;j+)if(strcmp(leader_name,)=0) leaderj.count+; printf (n);for (i=0;i5;i+)printf(%5s,%dn,,leaderi.coun
19、t);八、实验题目:文件1. 程序验证用记事本编辑文本文件file1.txt。分析一下程序的功能及结果,并验证。#include #include void main( ) FILE *in,*out; if(in=fopen(file1.txt,r)= =NULL) printf(Cant open this file.n); exit(0); if(out=fopen(file2.txt,w)= =NULL) printf(Cant open this file.n ); exit(0); while(!feof(in) fputc(fgetc(in),out); fclose(in);
20、fclose(out);程序功能:把文件file1.txt中的内容复制到文件file2.txt中。程序输出结果:(源文件file1.txt的内容为“wwww”)_出现文件file2.txt_且内容为“wwww”。2程序设计编程:有5个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学号,姓名,三门课成绩),计算出总成绩,将原有的数据和计算出的总分数存放在磁盘文件stu.txt中。源代码: 运行结果:#include stdio.h 请输入第1位同学的学号001#include stdlib.h 请输入第1位同学的姓名qvoid main() 请输入第1位同学的分数60 70 80 请输入第2位同学的学号002struct student 请输入第2位同学的姓名wint num; 请输入第2位同学的分数70 80 90char name20;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年甘肃省天水市石马坪中学等校中考英语二模试卷(含答案)
- 北师大版六年级数学上册《比赛场次》探究式教学设计
- 初中八年级地理下册《南方地区》中考专题复习教学设计
- 初中八年级道德与法治“公民基本义务:理解、认同与践行”单元教学设计
- 【讲义】2026高考地理大一轮复习精讲:第一章 核心素养导向的真题专练
- 道路旅客运输企业驾驶员安全教育培训试题及答案
- 八年级语文学段期中后家长会知识清单:学业诊断与共育策略
- 【苏教版】小学数学一年级下册 第四单元《认识2099》教学设计
- 八年级地理上册“山河脉络·指尖塑成”主题活动教学设计
- 初中八年级道德与法治《在社会中成长》单元整体教学设计导学案
- 2026年高考历史全国一卷真题试卷(+答案)
- 高考英语近6年高频考察300个长难句型(带解析版)
- 铁路专用线竣工验收管理方案
- 2026春粤教花城版三年级下册音乐期末练习卷含参考答案
- 2026年文献检索和科技论文写作练习题库及答案详解(易错题)
- 浙江省台州市2024-2025学年高二下学期6月期末数学试题
- 2026年高考(北京卷)化学试题及答案
- DB50∕T 1608-2024 槲蕨孢子育苗技术规程
- 园艺植物病虫防治参考题库
- 贵州国企招聘2025榕江县粮油购销有限公司招聘笔试历年常考点试题专练附带答案详解试卷3套
- 2025年数据中台建设合同协议
评论
0/150
提交评论