C语言实验报告参考答案(原).docx
《C语言实验报告参考答案(原).docx》由会员分享,可在线阅读,更多相关《C语言实验报告参考答案(原).docx(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言试验报告参考答案试验一 熟悉c语言程序开发环境与数据描述四、程序清单1 .编写程序实现在屏幕上显示以下结果:The dress is longThe shoes are bigThe trousers are black答案:#includemain ()(printf (/zThe dress is longn/z);printf (Z/The shoes are bign);printf (Z/The trousers are blackn/z);2 .编写程序:(1) a= 150,b=20, c=45,编写求 a/b、a/c (商)和 a%b、a%c (余数)的程序。(2)a=1
2、60, b=46, c=18, d=170,编写求(a+b) / (b-c) * (c-d)的程序。答案:(1) #include一个数X与因子之和相等,就是完数。五、程序清单1.编写程序:求 1+2+3+100 和 12+22+3,+10()2。#include#includeint main ()(int i, j, sum;sum = 0;for (i=l;i=100;i+)sum += i;printf (/zthe sum is:%dn,sum);sum =0;for(i=l;i=100;i+)j=pow(i, 2);sum +=j;printf (the square sum is
3、:%dnz,, sum);return 0;2. 一个数假如恰好等于它的因子之和,这个数就称为“完数”,编写程 序找出25000中的全部完数。#include#includemain ()(int i, j, sum=0;for (i=2; i=5000; i+) /遍历从 2 至I 5000 的全部数sum = 0;for (j=l; j=i/2;j+) 找出给定整数X的全部因子和(if(i%j = 0)sum +二j;if (i = sum) sum为因子和,假如和i相等,则输出 printf (,z%d ,i);return 0;3.编写程序:计算sinx的近似值,精确到10一.X3 X
4、5X1sinx = x11F3!5!7!8(2az1)其实sinxC-l)07-0m所以程序 M (2 -1)!ttinclude ttinclude main ()(float x, sinx, i, t;printf (请输入一个x值(弧度值):);scanf(%f, &x);sinx=0; t=x;i=l;while (fabs (t)=le-6) sinx=sinx+t;t二t* (-x*x/(2*i*(2*i+l);i+;printf (sin(%. 2f) -%. 6fn, x, sinx);六、调试和测试结果1:结果:the sum is: 5050the square sum
5、is: 3383502:结果:6284963、输入 0,输出 sin(0.00) =0.000000输入 1.57,输出 sin(L57)=L 000000输入 0.5,输出 sin(0. 50) =0.479426试验五函数和编译预处理、设计流程(算法描述)(请写出上机内容2的算法描述)求素数的方法就是:给定一个大于3的数x,从2到X的平方根遍历,只要有数可以被x整除,就不是素数五、程序清单1.编写自定义函数long power (int m, int n),计算小的值。利用此函 数编程序实现:从键盘输入两个整数m和n,计算出力的值。#includelong power (int m, in
6、t n)要返回的是 long 型int i;long s;因为是要返回的数,所以这里也定义为long型s=l;for(i=l;i=n;i+)s *=m;)return s;int main(void)(int m, n;scanf (%d%d, &m, &n);printf (s=%ldn,power ( m,n);return 0;)2 .编写自定义函数prime (int x),推断x是否为素数。利用此函数编写 程序找出35000中的全部素数,并输出素数的个数。#include#includeint prime(int m)(int i, k;k=sqrt(m);for(i=2;ik)re
7、turn 1;return 0;main ()(int i, k;k=0;for (i=3;i=5000;i+)if (prime (i)=l) k+;printf (,z%d is a prime muber n,i); printf (共有%d 个素数n, k);)3 .编写自定义函数count (int x),计算x的因子个数。利用此函数找出 并输出1-1000中有奇数个不同因子的整数。#include#includeint count (int x)int sum, i;sum=0;记住因子的个数for(i=l;i=x/2;i+)if (x%i = 0)sum +=1;return s
8、um+1;int main(void)(int i, y;for (i=l;i=100;i+) y=count(i);if (y%2=l)printf (/z%dtzz, i);)return 0;六、调试和测试结果1 .输入:2 3输出:s=82 .输出:共有668个素数二o czukenp sanan-pp 工 ng,x a 工 e166716691693X697X69917091721X723X733X741三753X7591.7777831.787X789X8 0X811X82383XX8-1718611867X87XX8 73X8 7718 79889X90X190*7193X931
9、193319491951X973X97998719931999200320112017202720292039205320632 06 92081208320872 08 92 099211121X32X29213X2372X4X2432X532X6X2 7922032 2 0722X3222223722392243225226722692273228228722932297230923XX23332339234123472351235*7237123772381238323892393239924112417242324372 44X2447245924672 4732 4772503252
10、1253X253925-132S492SSX255725792592S932 6 09267262X26332647265726592GG32G71267726832687268926932699270727112713271927292731274127492,75327672777278927912 ,7972801280328192833283728432852857286X2 8 79288728972903290929X72927293929532957296329692 9 7X29993 003 0113019302330373 0ent s and SettingsqzDebu
11、gal. exe*100S 49162536496481r.Press any key to continue.试验六数组四、设计流程(算法描述)(请写出上机内容1的算法描述)设置两个变量分别指示头和尾。第一个和最终一个元素值互换,然后头和 尾变量向里移动,最终到两变量相遇为止。五、程序清单1.编写程序:从键盘输入一串整数保存到数组中,调用函数antitoneO 将数组反序输出。自定义函数void antitone(int a, int n)实现将数组中的n个数据按逆序存放。void antitone(int a口, int n)int i, j;int k;i=0;j=n-l;while (
12、ij)k=ai;ai=aj;aj=k;i +=1;j -二1;)2.已知某数列的前两项为2和3,其后每一项为其前两项之积。 编程实现:从键盘输入一个整数x,推断并输出x最接近数列的第 几项?#include#includevoid Mad(int a口,int n)a0=2;al=3;for(i=2;iai;i+);kl = abs(x-ai-l);main ()int a, b, c, x, y;a=150;b=20;c=45;x=a/b;y=a/c;printf Ca/b的商二%dn,x);printf Ca/c的商二%dn”, y);x=a%b;y=a%c;printf (/za/b 的
13、余数=%dn, x);printf Ca/c的余数=%dn, y);(2)#include main ()if (klk2)printf (/zthe most similar x number is:%dn,ai); elseprintf (/zthe most similar x number is:%dn/z, ai-l);return 0;3.编程实现:输入10个学生5门课的成果并完成如下功能(1)求每个学生的平均分;求每门课程的平均分。#include#includemath h#define num 10typedef struct student(char name20;floa
14、t math;float englis;float computer;float Chinese;float history;STUDENT;int main(void)(STUDENT stunum;int i;float score, sum, average;char s 10;float scoreMath, scoreEng, scoreCom, scoreChi,scoreHis;for(i=0;inum;i+)printf(Name: );gets(stui. name);printf(math score: );scanf(f, &score);stui. math = sco
15、re;printf (/zenglis score: );scanf(%f, &score);stui. englis = score;printf(computer score: ); scanf(f,&score);stuiputer = score;printf (Chinese score: );scanf(f, &score);stui.Chinese = score;printf (history score: );scanf(f, &score);stui.history = score;gets(s);功能是接受最终一个回车符,然后下一次 gets(stui. name);才能
16、起到作用)求每个学生的平均分数for (i=0;inum;i+)(sum=0;sum +=stui. math;sum +=stui.englis;sum +=stui puter;sum +=stui. Chinese;sum +=stui. history;average = sum/5;printf (s s average score is:%fnz/, stui. name, average);求每门课的平均成果scoreMath=0;scoreEng=0;scoreCom=0;scoreChi=0;scoreHis=0;for(i=0;inum;i+)scoreMath += st
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 实验 报告 参考答案
限制150内