厦门理工学院c语言实验4_循环答案)
- 格式:doc
- 大小:137.50 KB
- 文档页数:12
第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例61.4.2C语言程序的结构101.5运行C程序的步骤与方法121.6程序设计的任务141-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n");printf(" Very Good!\n\n");printf ("**************************\n");return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max); return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.4.1用自然语言表示算法222.4.2用流程图表示算法222.4.3三种基本结构和改进的流程图262.4.4用N S流程图表示算法282.4.5用伪代码表示算法312.4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例373.2数据的表现形式及其运算393.2.1常量和变量393.2.2数据类型423.2.3整型数据443.2.4字符型数据473.2.5浮点型数据493.2.6怎样确定常量的类型513.2.7运算符和表达式523.3C语句573.3.1C语句的作用和分类573.3.2最基本的语句——赋值语句593.4数据的输入输出653.4.1输入输出举例653.4.2有关数据输入输出的概念673.4.3用printf函数输出数据683.4.4用scanf函数输入数据753.4.5字符数据的输入输出78习题823-1 #include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5); // 存活期存款。
《高级语言程序设计》实验报告实验序号:2 实验项目:数据类型、运算符和表达式09机制2 学号232 姓名叶志伟专业、班级实验地点1-511 指导教师胡亮实验时间 3.15一、实验目的及要求1.掌握C基本数据类型的基本概念、基本属性。
2.学会如何书写一个整型、字符型、实型常量。
3.掌握C算术运算符的基本概念、基本属性、运算规则。
二、实验设备(环境)及要求使用Visual C++ 6.0;windows系列操作系统的环境。
三、实验内容与步骤1.输入下列源程序,进行修改、编译、连接和运行。
程序:main ( ){ char c1,c2;c1=97;c2=98;printf("%c,%c\n",c1,c2);printf("%d,%d\n",c1,c2);}运行结果是:两行结果的不同是由什么引起的:程序定义了输出的类型,第一个输出字符型,另一个输出整型。
2.输入并运行下面的程序:#include<stdio.h>void main(){char c1,c2,c3;c1=getchar();c3=getchar();putchar(c1);putchar(c2);putchar(c3);}观察以下不同输入时的输出,分析不同输出的原因。
(↙表示回车)(1)123↙(2)12↙(3)1↙2↙运行结果是:分析运行结果:getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符.getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕.如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取.也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键.3.把以上程序改写如下,用于上面相同的输入运行,分析不同输出的原因。
第4部分部分参考答案测试11.(1) g=x[i]%10(2) y[n++]=x[i]2. float fun( int k )return s;3.void fun(int a[], int b[], int c[], int n) {int i;for (i=0;i<n;i++)c[i]=a[i]+b[n-1-i];}测试21. (1) if (s[i]>='0' && s[i]<='9')(2) s[i]-'0';(3) n;2. void fun(long s,long *t)while(s>0)3. int fun(int score[],int m,int below[]){int i,k=0;float ave,s=0;;for (i=0;i<m;i++)s=s+score[i];ave=s/m;printf("aver=%f\n",ave);for (i=0;i<m;i++)if (score[i]<ave)below[k++]=score[i];return k;}测试31.(1) *p;(2) i++;(3)‘\0’2. for (i=0, j=0; i<sl; i+=2)t[j] ='\0';3.void fun(int x, int pp[], int *n) {int i,j=0,k=0;for (i= 1;i<x;i++)if (x%i==0)pp[j++]=i;for (i=0;i<j;i++)if (pp[i]%2==1)pp[k++]=pp[i];*n=k;}测试41.(1)*p==ch(2) bb[n++]=i(3) n2. for (i=sl, j=0; i>=0; i-=2)t[2*j] = '\0';3. void fun(STREC a[ ]){STREC h;int i,j;for (i=0;i<N;i++)for (j=i+1;j<N;j++)if (a[i].s<=a[j].s){h=a[i];a[i]=a[j];a[j]=h;}}测试51.(1) "out.dat","w"(2) fputc(ch,fp)(3) fclose(fp)2.*u = '\0';for (i=0; i<ul/2; i++)3.void fun(char s[],char t[]) {int i,n=0;for (i=0;s[i]!='\0';i++)if (i%2==0)t[n++]=s[i];t[n]='\0';}习题1 数据运算、顺序结构一、选择题1. C2. C3. D4. C5. B6. A7. D8. C9. C 10.D 11.A 12.D 13.D 14.D 15.D 16.B 17.D 18.B 19.C 20.C 21.D 22.B 23.C 24.D 25.A 26.D 27.D 28.B 29.C 30.C 31.A 32.C 33.B 34.D 35.D 36.A 37.B 38.D 39.D 40.D 41.B 42.A 43.C 44.D 45.C二、填空题1. 9.52. 123%10,123/10%10、 123/1003. 0 0x4. ASCII、整习题2 选择结构一、选择题1. D2. C3. B4. D5. C6. B7. A 8. B 9. B A 10.D二、填空题1. 5 25 12. z=13. a1=1 a2=1b1=0 b2=14. 1,05. if(a>b){scanf(“%d”,&a);n++;}else {scanf(“%d”,&b);m++;}6. 输入两个数x,y,比较x+y和x*y哪个数大。
实验四编号1#include <stdio.h>void main(){int i=0;while(i++<=1)printf("%2d",i);printf("%2d",i);}实验四编号2#include <stdio.h>void main(){int i=0;doprintf("%2d",i);while(i++<=1);printf("%2d",i);}实验四编号3#include<stdio.h>void main(){int a,b;for(a=1,b=1;a<100;a++){if(b>=20)break;if(b%3==1){b+=3;continue;}b+=5;}printf("a=%d,b=%d",a,b);}实验四编号4#include <stdio.h>void main(){float i,sum;for(i=1;i<=100;i++)sum+=1/i;printf("1+1/2+1/3+...+1/100=%f",sum); }实验四编号5#include <stdio.h>void main(){int i,sum=0;i=0;while(1){i++;if(i>=100)break;if(i%2==0)continue;sum+=i;}printf("1+3+5+...+99=%d",sum);}实验四编号6#include <stdio.h>void main(){int i,sum=0,fac=1;for(i=1;i<=99;i+=2){fac=i*(i+1)*(i+2);sum+=fac;}printf("1*2*3+3*4*5+...99*100*101=%d",sum); }实验四编号7#include<stdio.h>void main(){ int i;for (i=1;i<=9;i++)if (i*i%10==i) printf("%d,",i);for (i=10;i<=99;i++)if (i*i%100==i) printf("%d,",i);if (100*100%1000==100) printf("%d,",100); }实验四编号8#include<stdio.h>main(){int m,a,b,c,i;for(m=100,i=0;m<=999;m++){a=m/100;b=m/10%10;c=m%10;if(a+b+c==11)i++;}printf("count=%d",i);实验四编号9#include<stdio.h>void main(){int a,s=0;scanf("%d",&a);while(a/10!=0){{if(a%10==2)s++;}a/=10;}if(a%10==2)s++;printf("count=%d",s);}实验四编号10#include<stdio.h>#include<math.h>main(){int i=200,j,num=0,sum=0;for(i;;){for(j=2;j<=sqrt(i);j++)if(i%j==0)break;if(j>sqrt(i)){sum+=i;num++;if(num>=10)break;}i++;}printf("大于200的素数之和:%d\n",sum);}实验四编号11#include <stdio.h>void main(){int a,b,c,x;for(x=100;x<=999;x++){ a=x/100;b=x%100/10;c=x%10;if(x==a*a*a+b*b*b+c*c*c)printf("%d\n",x);}实验四编号12#include<stdio.h>void main(){int i,j=0,a=0;for(i=0;i<5;i++)do{if(j%3)break;a++;j++;}while(j<10);printf("j=%d,a=%d",j,a);}实验四编号13#include <stdio.h>void main(){int m,n;scanf("%d%d",&m,&n);while(m!=n){while(m>n)m-=n;while(n>m)n-=m;}printf("m=%d\n",m);}实验四编号14#include <stdio.h>void main(){int i,j,k,count;count=0;for(i=1;i<=9;i++)for(j=0;j<=9;j++){if(i==j)continue;for(k=0;k<=9;k++)if( k!=i&&k!=j )count++;}printf("这样的三位数共有%d个",count); }实验四编号15#include<stdio.h>void main(){int a,b,c,d,n;for(n=1;n<=100;n++){a=n/10;b=n%10;c=a+b;d=a*b;if(d>c) printf(" %d",n);}}实验四编号16#include<stdio.h>void main(){int x=7,b;while(b!=0){if(x%2==1&&x%3==2&&x%5==4&&x%6==5&&x%7==0) break;b=1;x++;}printf("%d\n",x);}实验四编号17#include<stdio.h>void main(){int big,mid,small;for(big=1;big<=33;big++)for(mid=1;mid<=49;mid++){ small=100-big-mid;if(6*big+4*mid+small==200) printf("big=%d,mid=%d,small=%d\n",big,mid,small);} }实验四编号18#include<stdio.h>void main(){int n,sum,i;for(n=2;n<=1000;n++){sum=0;for(i=1;i<n;i++){if(n%i==0)sum+=i;}if(sum==n)printf("%d,",n);}}。
c语言循环实验报告C语言循环实验报告引言:C语言是一种广泛应用于程序设计和开发的高级编程语言。
而循环结构是C语言中最为重要和基础的语法之一,它可以帮助我们重复执行某些特定的代码块,提高程序的效率和灵活性。
本实验旨在通过实际编程实践,探索C语言中循环结构的使用方法和应用场景,并进一步加深对循环的理解。
实验一:for循环在C语言中,for循环是最常用的循环结构之一。
它的基本语法如下:```for (初始化表达式; 条件表达式; 更新表达式) {循环体语句;}```在本实验中,我们使用for循环来实现一个简单的九九乘法表打印程序。
通过嵌套的for循环,我们可以方便地控制行和列的输出,实现乘法表的格式化打印。
以下是代码示例:```#include <stdio.h>int main() {int i, j;for (i = 1; i <= 9; i++) {for (j = 1; j <= i; j++) {printf("%d * %d = %d\t", j, i, i * j);}printf("\n");}return 0;}```通过运行以上代码,我们可以得到一个完整的九九乘法表。
实验二:while循环除了for循环,C语言中的while循环也是常用的循环结构之一。
它的基本语法如下:```while (条件表达式) {循环体语句;更新表达式;}```在本实验中,我们使用while循环来实现一个简单的猜数字游戏。
游戏规则是计算机随机生成一个1到100的整数,玩家通过输入猜测的数字,计算机根据猜测结果给出相应的提示,直到猜中为止。
以下是代码示例:```#include <stdio.h>#include <stdlib.h>#include <time.h>int main() {int target, guess;srand(time(0));target = rand() % 100 + 1;printf("猜数字游戏开始!\n");printf("请输入一个1到100的整数:"); scanf("%d", &guess);while (guess != target) {if (guess > target) {printf("猜大了!请重新输入:"); } else {printf("猜小了!请重新输入:"); }scanf("%d", &guess);}printf("恭喜你,猜对了!\n");return 0;}```通过运行以上代码,我们可以体验到一个简单而有趣的猜数字游戏。
4.2练习题一、选择题1.D2.B3.A4.B和D5.C6.A7.B二、填空题1.//或/* */2.主或main3.函数首部和函数体4.编译和连接5.公号5.2练习题一、选择题1.A2.D3.B4.B5.C6.C7.D8.A9.B10.B11.D12.B13.A或B14.C15.B17.D18.D19.C20.D21.B22.A23.D24.C25.C26.B27.C28.D29.A30.B二、填空题1.102,102.#define 宏名字符串3.14.n=15.-46.a=1,b= ,c=27.c=A8.n1=%d\nn2=%d9.a+b>c&&a+c>b&&b+c>a10.ch>=’a’&&ch<=’z’|| ch>=’A’&&ch<=’Z’11.712.013.1111000014.8,46.2练习题一、选择题1.A2.C3.D4.C5.A7.A8.D9.B10.C11.A12.A13.C14.B15.正确答案为:12345678二、填空题1.102.y=1 x%i==03.屏幕中间输出一个由星号组成的菱形4.15.136.(cx=getchar())!=-1 front=cx; 7.m%n8.49.*p px=&x py=&y三、读程序,写结果1.-12.3,1,-1,3.a=16,y=604.x=12,y=45.597.2练习题一、选择题1.B2.C3.C4.A5.D6.C8.D9.C10.D11.D12.D13.A14.B15.C16.B17.B18.A19.A20.D21.B22.D23.C24.D25.D26.C二、填空题1.‘a’02.a[k] a[k] a[k]3.0 64.A B C D EA5.1,66.k=p;7.i<j8.189.4,some string * test 10.you&me三、读程序,写结果1.5 4 8 2 02.10 24 15 6 3.love china! H w l 4.66 66 555.Front一、选择题1. A2. A3. B4. B5. B6. A7. D8. C9. A10. A11. A12. B13. B14. A15. B16. B17. C二、填空题1.122.Itis3.fun(n-1)*n fun(k)4.s[i]-t[i]5.n%m i-1 x[d]6.x=n x%10 x7.m=f(a,4)+f(b,4)-f(a+b,3)8.a=1,b=1三、读程序,写结果1.s=72.s=373.bij12一、选择题1. B2. C3. B4. D5. B6. A7. B8. D9. D10. B11. D12. A13. B14. C15. C16. C17. A18. D19. B20. D二、填空题1.b->day (*b).day2.DDBBCC3.zhang 170.000000wang 150.0000004.995.max=i min=i stud[max].name,stud[max].score stud[min].name,stud[min].score6.&r 1 feof(fp) break7.BBB AAA 1238.rewind三、读程序,写结果1.2002,shangxian2.32。
《C语言程序开发》实验报告和参考答案1实实验报告课程名称:C语言程序开发学生姓名:学生学号:专业班级:指导教师:实验日期:2目录实验一循环结构程序设计(一)求1+2+3+.......+100,1100nn(二)输出100~200之间的不能被3整除的数。
实验二数组及其应用(一)有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。
(二)输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。
实验三函数及其应用(一)有5个学生坐在一起,问第5个学生多少岁,他说比第4个学生大2岁。
问第4个学生岁数,他说比第3个学生大2岁。
问第3个学生,又说比第2个学生大2岁。
问第2个学生,说比第1个学生大2岁。
最后问第1个学生,他说是10岁。
请问第5个学生多大。
(二)用选择法对数组中10个整数按由小到大排序,一维数组名作函数参数。
实验四指针及其应用(一)将若干字符串按字母顺序(由小到大)输出。
(二)有a个学生,每个学生有b门课程的成绩。
要求在用户输入学生序号以后,能输出该学生的全部成绩。
用指针函数来实现。
3实验一循环结构程序设计实验题目:(一)求1+2+3+.......+100,1100nn(二)输出100~200之间的不能被3整除的数。
实验目的1.掌握循环语句的执行过程及用法2.初步掌握循环程序设计的基本技巧3.掌握用while语句,do-while语句和for语句实现循环的方法4.掌握多重循环的使用(一)实验步骤1.题目分析2.源程序代码3.运行结果(二)实验步骤:1.题目分析源程序代码3.运行结果4实验二数组及其应用实验题目:(一)有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。
(二)输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。
实验目的1.掌握一维数组的定义及其元素的引用方法2.掌握利用一维数组实现一些常用算法的基本技巧3.掌握二维数组的定义及其应用4.掌握字符数组和字符串函数的使用5.掌握有关二维数组的基本编程技巧(一)实验步骤:1.题目分析2.源程序代码:3.运行结果(二)实验步骤:1.题目分析2.源程序代码3.运行结果5实验三函数及其应用实验题目:(一)有5个学生坐在一起,问第5个学生多少岁,他说比第4个学生大2岁。
循环习题集锦一.选择题1.for(i=0;i<10;i++);结束后,i 的值是;(10)A 9B 10C 11D 122.下面程序的循环次数是:(D)int k=0;while(k<10){if(k<1) continue;if(k==5) break;k++;}A. 5 B 6 C 4 D 死循环,不能确定循环次数3.下面程序的输出结果是(10)main(){int s,k;for(s=1,k=2;k<5;k++)s+=k;printf(“%d\n”,s);}A 1B 9C 10D 154.要使下面程序输出10 个整数,则在下画线处填入正确的数是:(c)for(i=0;i<= ;)printf(“%d\n”,i+=2);A 9B 10C 18D 205.运行下面程序:(B)main(){ int i=10,j=0;do{ j=j+i;i--;}while(i>5);printf(“%d\n”,j);}输出结果是:A 45B 40C 34D 556.运行下面程序#include “stdio.h”main(){ int k=0,a=1;while(k<10){for( ; ;){ if((k%10)==0)break;elsek--;}k+=11;a+=k;}printf(“%d %d\n”,k,a);}则输出的结果是(C)A 21 32B 21 33C 11 12D 10 117.以下叙述正确的是:(D)A.do---while 语句构成的循环不能用其他语句构成的循环来代替。
B.do---while 语句构成的循环只能用break 语句退出。
C.用do---while 语句构成的循环,在while 后的表达式为非零时结束循环。
D.用do---while 语句构成的循环,在while 后的表达式为零时结束循环。
8.有如下程序:main(){ int x=3;do{printf(“%d”,x--);}while(!x);}该程序的执行结果是:(C)A 3 2 1B 2 1 0C 3D 29.若k 为整型变量,则下面while 循环执行的次数为:(A)k=10;while(k==0) k=k-1;A 0B 1C 10D 无限次10.下面有关for 循环的正确描述是(D)A.for 循环只能用于循环次数已经确定的情况B.for 循环是先执行循环体语句,后判断表达式C.在for 循环中,不能用break 语句跳出循环体。
cÓïÑÔ³ÌÐòÉè¼ÆÖ¸µ¼ÊµÑé½Ì³Ì-¸ßµÈ½ÌÓý³ö°æÉç-ʵÑéËÄ-²Î¿¼´ð°¸ÎÄ¿â.txtÁ½ÈËÖ®¼äµÄ¸ÐÇé¾ÍÏñ֯ëÒ£¬½¨Á¢µÄʱºòÒ»ÕëÒ»Ïߣ¬Ð¡ÐĶøÂþ³¤£¬²ð³ýµÄʱºòÖ»ÒªÇáÇáÒ»À-¡£¡£¡£¡£ÊµÑé4.1.1#include <stdio.h>int main(void){int m,n,j,k;do{printf("Input m:");scanf("%d",&m);printf("Input n:");scanf("%d",&n);}while(m<0||n<0);j=m;while(j%n!=0)j=j+m;k=(m*n)/j;printf("×îС¹«±¶ÊýÊÇ%d\n×î´ó¹«±¶ÊýÊÇ%d\n",j,k);return 0;}ʵÑé4.1.2#include<stdio.h>#include<math.h>int main(void){int denominator,flag;double item,pi,eps;printf("Input eps:\a");scanf("%lf",&eps);flag=1;denominator=1;item=1.0;pi=0;while(fabs(item)>=eps){item=flag*1.0/denominator;pi=pi+item;flag=-flag;denominator=denominator+3;}printf("s=%.6f\n\a",pi);return 0;}ʵÑé4.1.3#include<stdio.h>int main(void){int num,sum;sum=0;printf("Input integers:\a");scanf("%d",&num);while(num>0){if(num%2!=0){sum=sum+num;}else{sum=sum;}scanf("%d",&num);}printf("The sum of the odd number is%d\n\a",sum);return 0;}ʵÑé4.1.4#include<stdio.h>int main (void){int n,count;printf("Input an integer:");scanf("%d",&n);count=0;if(n<0) n=-n;do{n=n/10;count++;}while(n!=0);printf("count=%d\n\a",count);return 0;}ʵÑé4.1.5#include<stdio.h>int main (void){int i,number,min,n;printf("Input n:");scanf("%d",&n);printf("Input numbers:");scanf("%d",&number);min=number;for(i=1;i<n;i++){scanf("%d",&number);if(min>number){min=number;}}printf("Min=%d\n\a",min);return 0;}ʵÑé4.1.6#include<stdio.h>int main(void){int n,count,sum,number;printf("Input an integer:");scanf("%d",&number);count=0;sum=0;if(number<0) n=-n;do{n=number%10;sum=sum+n;number=number/10;count++;}while(number!=0);printf("count=%d,sum=%d\n\a",count,sum);return 0;}ʵÑé4.1.7#include<stdio.h>int main(void){int i,n;double sum,demominator,numerator;printf("Input n:");scanf("%d",&n);sum=0;numerator=2;demominator=1;for(i=1;i<n;i++){sum=sum+numerator/demominator;numerator=numerator+demominator;demominator=numerator-demominator;}printf("s=%.2f\n\a",sum);return 0;ʵÑé4.1.8#include<stdio.h>int main(void){int a,n,i,partsum,sum;printf("Input a,n:");scanf("%d%d",&a,&n);sum=0;partsum=0;for(i=n;i>0;i--){partsum=a*i;sum=sum+partsum;a=a*10;}printf("s=%d\n\a",sum);return 0;}ʵÑé4.1.9#include<stdio.h>#include<math.h>int main (void){int n,i;double h,H,distance;printf("Input height:");scanf("%lf",&h);printf("Input n:");scanf("%d",&n);H=0;distance=h;for(i=1;i<=n;i++){distance=distance+2*(h/pow(2,i));}H=h/pow(2,n);printf("distance=%.1f\nheight=%.1f\n\a",distance,H);return 0;ʵÑé4.2.2#include<stdio.h>int main(void){int m,n,i,number,count;printf("Input m:");scanf("%d",&m);printf("Input n:");scanf("%d",&n);count=0;for(number=m;number<=n;number++){ for(i=2;i<=number/2;i++)if(number%i==0) break;if(i>number/2){printf("%d ",number);count++;if(count%6==0)printf("\n");}}printf("\n");return 0;}ʵÑé4.2.3#include<stdio.h>int main (void){int fen1,fen2,fen5,money,count;printf("Input money:");scanf("%d",&money);count=0;for(fen5=1;fen5<=money/5;fen5++){ for(fen2=1;fen2<=money/2;fen2++)for(fen1=1;fen1<=money;fen1++){if(5*fen5+2*fen2+1*fen1==money){printf("fen5:%d,fen2:%d,fen1:%d\n\a",fen5,fen2,fen1);count++;}}}printf("count=%d\n\a",count);return 0;}¡¢ÊµÑé4.2.4#include<stdio.h>int main(void){int m,n,i,number,a,b,c,n1;printf("Input m:");scanf("%d",&m);printf("Input n:");scanf("%d",&n);for(number=m;number<=n;number++){a=number%10;n1=number/10;b=n1%10;c=n1/10;if(a*a*a+b*b*b+c*c*c==number){printf("%6d(%d*%d*%d+%d*%d*%d+%d*%d*%d=%d)\n\a",number,a,a,a,b,b,b,c,c,c,numb er);}}printf("\n");return 0;}ʵÑé4.2.6#include<stdio.h>double prime(int number);int main(void){int m,n,i,number,count;printf("Input m:");scanf("%d",&m);printf("Input n:");scanf("%d",&n);count=0;for(number=m;number<=n;number++){if(number%2!=0) continue;else{for(i=3;i<=number-3;i++){if(prime(i)>0&&prime(number-i)>0)printf("%d=%d+%d ",number,i,number-i);count++;if(count%5==0)printf("\n");}}}printf("\n");return 0;}double prime(int number){int i;for(i=2;i<=number/2;i++){if(number%i==0)number=0;if(i>number/2)number=number;}return number;}。
实验3 循环结构姓名:学号:实验日期:1.实验目的和要求(1)掌握while,for,do while语句实现循环结构的方法;(2)掌握循环结构和选择结构嵌套的设计方法及多重循环的设计方法;(3)掌握break,continue,goto语句使用方法。
2.实验内容:实验指导书中的实验五3.实验内容和步骤3.1相关知识点若程序进入死循环,怎样退出:程序中使用br eak语句或按“Ctrl+Break”3.2 实验结果5-1 该程序的功能是:输入一个数,除2求余,若余数为1,输出“I said”,并继续输入一个数,直到输入的数除2求余且余数不为1,则输出“Thanks.I need that!”按照书中调试的要求,本程序运行结果的完整画面如下所示:#include<stdio.h>int main(){int n;while(1){printf("enter a number:");scanf("%d",&n);if(n%2==1){printf("i said");continue;}break;}printf("thanks,i needed that!");}5-2 该程序运行结果如下图所示:#include<stdio.h>main(){int c;while((c=getchar())!='\n'){if(c>='a'&&c<='x'||c>='A'&&c<='X')c+=2;else if(c=='y'||c=='Y'||c=='z'||c=='Z')c=c-24;printf("%c",c);}putchar('\n');}5-3 解决该问题的算法:把图像分成1、4行和2、3行,用for循环将1、4行输出6个*,2、3行可直接输出“* *”。
《高级语言程序设计》实验报告实验序号:4 实验项目:循环结构附源程序清单:1.#include <stdio.h>void main(){int a=0,b=0,c=0; // a->男, b->女, c->小孩,变量初始化为0while(a<=36){b=0;while(b<=36){c=36-a-b;if(c>=0){if((36==a*4+b*3+c/2)&&(0==c%2)) //小孩个数需要为偶数才成立printf("男人:%d 女人:%d 小孩:%d\n",a,b,c);}b++;}a++;}}2.#include "stdio.h"int main(){int i=0,count=0;while (count<10){if (i%3==2 && i%5==4 && i%7==3){printf("%d ",i);count++;}i++;}}3.#include<stdio.h>#include<math.h>main(){long int x;int i=0;printf("input:");scanf("%ld",&x);do{x=x/10;i++;}while(x>0);printf("the nubmer is:%d\n",i);}4.#include<stdio.h>main(){int i,x=3,y=0;for(i=1;i<=10;i++){x=(x-0.5)*2;y+=x;}printf("x=%d\n,y=%d\n",x,y);}5.#include "stdio.h"void main(){int i,a,b,c;int count=0;for(i=100;i<1000;i++){if(i%2==0){a=i%10;b=(i/10)%10;c=i/100;if((a==b && b!=c)||(a==c && b!=c)||(b==c && a!=c)){count++;printf("%d\t",i);}}}printf("\nTotally: %d\n",count);}6.#include<stdio.h>main(){float sum,term,a,b,c;int i;sum=0;a=2;b=1;i=1;while(i<=20){term=a/b;sum=sum+term;c=a+b;b=a;a=c;i++;}printf("数列前20项之和为%.2f\n",sum);}7.#include<stdio.h>int main(){int i,j;for (i=1;i<=7;++i){for(j=1;j<=(i<4?4-i:i-4);++j){printf(" ");}for(j=1;j<=(i<4?i*2-1:15-2*i);++j){printf("*");}for(j=1;j<=(i<4?4-i:i-4);++j){printf(" ");}printf("\n");}}8. #include<stdio.h>void main(){for(int i=0;i<=10;i++){for(int j=0;j<=5;j++){if(i*1+j*2==10)printf("10元可兑换成%d张1元和%d张2元\n",i,j);}}}。
C语言程序设计试题及答案(四)学号:一、单项选择题(20分,每题2分)1.若整型变量a、b、c、d中的值依次为:1、4、3、2。
则条件表达式(a<b?a:b)<(c<d?c:d)的值是。
AA)1 B)2 C)3 D)02.for(i=0;i<10;i++)if(i〈=5) break;则循环结束后i的值为CA)0 B)1 C)5 D)103.下面正确的字符常量是:AA)“c”B)‘\\’’C)‘W’D)‘’4.C语言中,运算对象必须是整型的运算符是:AA)% B)/ C)* D)+5.数字字符0的ASCII值为48,若有以下程序main(){char a='1', b='2';printf("%c,",b++);printf("%d\n",b-a);}程序运行后的输出结果是。
CA)3,2 B)50,2 C)2,2 D)2,506.以下选项中不能作为合法常量的是。
BA)1.234e04 B)1.234e0.4 C)1.234e+4 D)1.234e07.以下说法正确的是CA)C程序总是从第一个定义的函数开始执行B)在C程序中,要调用的函数必须在main()函数中定义C)C程序总是从main()函数开始执行D)C程序的main()函数必须放在程序的开始部分8.若有说明:char c=‘\72’;则变量c:AA)包含一个字符B)包含2个字符C)包含3个字符D)说明不合法,c的值不确定9.以下说法正确的是CA)C程序总是从第一个定义的函数开始执行B)在C程序中,要调用的函数必须在main()函数中定义C)C程序总是从main()函数开始执行D)C程序的main()函数必须放在程序的开始部分10.int *p1,*p2,a[10]; Cp1=a;p2=&a[5];<span style="font-family: 宋体; mso-fareast-font-family: 宋体; mso-font-kerning: 0pt; mso-hansi-font-family: Calibri;mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-fo。
《高级语言程序设计》实验报告实验序号:3 实验项目名称:顺序、选择结构09机制2班学号0908012232 姓名叶志伟专业、班级实验地点1-511 指导教师胡亮实验时间3月15日一、实验目的及要求1.掌握正确使用逻辑运算符和逻辑表达式表示逻辑判断;2.熟练掌握用if语句编写选择结构的程序;3.掌握switch语句的正确使用;4.初步了解调试程序的一般方法。
二、实验设备(环境)及要求使用Visual C++ 6.0;windows系列操作系统的环境。
三、实验内容与步骤1.输入一个华氏温度f,要求输出摄氏温度c。
公式为c=5/9(f-32)。
输出要求有文字说明,取2位小数。
【算法提示】1)定义实变量c,f2)提示输入"Please enter f:"3)读入f4)根据公式计算c5)打印两位精度的结果。
测试结果:华氏温度f 摄氏温度c100.250.523.782.有一函数x (x<1)y= 2x-1 (1<=x<10)3x-11 (x>=10)用scanf函输入x的值,求y值。
【算法提示】1)定义实变量x,y2)提示输入"Please enter x:"3)读入x4)判断x所在的区间,对应出y的计算公式并求值(进一步细化)5)打印结果。
运行结构截图:3.从键盘上输入一个正整数,判断这个数能否同时被3和5整除;运行结构截图:4.假设手机有两种收费方式,第一种是每分钟0.6元,无月租费;另一种是每分钟0.4元再收50元月租费,输入一个月打电话的时间(分钟),判断那一种更省钱。
运行结构截图:5.税收问题。
假设某国家收税是分段计费,标准如下:在1万元以上部分收税20%;5000-10000元部分收税10%;1000-5000元部分收税5%;1000元以下部分免税。
根据输入的金额计算应缴纳的税金。
如:某人收入是12000元,则应缴纳的税金为4000*5%+5000*10%+2000*20%=1100元【实验提示】①给你的变量起个好名字,不要什么变量都用a,b,c…等,变量最好用英文单词或单词的缩写命名,变量名字要体现变量在程序的含义和作用。