


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验一 上机操作初步 (2 学时 )、实验方式:一人一机、实验目的:1、熟悉VC+语言的上机环境及上机操作过程。2、了解如何编辑、编译、连接和运行一个 C程序。3、初步了解C程序的特点。、实验内容: 说明:前三题为必做题目,后两题为选做题目。1 、输出入下信息: ( 实验指导书 P79)*Very Good*2、计算两个整数的和与积。 (实验指导书 P81)3、 从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输出到屏幕。(书 P3)4、在屏幕上显示一个文字菜单模样的图案:1输入数据2修改数据3查询数据4打印数据5、从键盘上输入两个整数,交换这两个整数四、实验步骤与过程:五、实验调
2、试记录:六、参考答案:1 、 #include <stdio.h>void main( ) printf();printf(“ Very Goodn ” );printf();2、#include <stdio.h>Please enter a,b: ”);void main( ) int a,b,c,d;printf(scanf(“%d,%d” ,&a,&b);c=a+b; d=a*b;printf( printf(“ %d+%d=%d”n ,a,b,c);“ %d*%d=%d”n ,a,b,d);3、#include <stdio.h>
3、#include <math.h> void main( ) double x,s; printf( scanf(“ Please input value of x:”);“%lf ”,&x);s=cos(x); printf(“ cos(%lf)=%lfn ”,x,s);4、#include <stdio.h>void main( ) printf(printf(printf(printf(“=”n); “1输入数据2修改数据 n ”);“3查询数据4打印数据 n ”);“=”n);5、#include <stdio.h> void main( )
4、 int x,y,t; printf( scanf(“ Please enter x and y: ”); “%d%”d ,&x,&y);t=x; x=y; y=t; printf(“ After swap:x=%d,y=%dn ” ,x,y);实验二 简单的C程序设计(4学时)、实验方式:一人一机、实验目的:1、掌握C语言的数据类型。2、学会使用C语言的运算符及表达式。3、掌握不同数据类型的输入输出方法。、实验内容: 说明:前四题为必做题目,后两题为选做题目。1 、输入 r1 、 r2 ,求出圆形垫片面积。 ( 实验指导书 P84)2、输入华氏温度h,输出摄氏温度c。(实验指
5、导书P85)3、从键盘输入一个 3位整数,将输出该数的逆序数。 (实验指导书 P89)4、输入并运行以下程序,分析运行结果。#include <stdio.h>void main( ) int i,j;i=8; j=10; printf(“%d,%dn”,+i,+j);i=8; j=10;printf(“%d,%dn”,i+,j+);i=8; j=10; printf(“%d,%dn”,+i,i);i=8; j=10;printf(“%d,%dn”,i+,i);5、 输入三角形三条边的边长,求三角形的面积。( 书 P55)( 书 P55)6、输入 3 个字符型数据,将其转换成相应的
6、整数后,求它们的平均值并输出四、实验步骤与过程:五、实验调试记录:六、参考答案:1、#include <stdio.h>#define PI 3.14void main( ) float r1,r2;double s1,s2,s;printf(“ Please enter r1,r2:n”);scanf(“%f%f”,&r1,&r2);s2=r2*r2*PI; s1=r1*r1*PI; s=s2-s1; printf( “ s=%lfn ” ,s);2、#include <stdio.h>void main( ) float h,c;printf(“请输
7、入华氏温度:” );scanf(“%f” ,&h);c=5.0/9*(h-32);printf(“n 摄氏温度: %fn ”,c);3、#include <stdio.h>void main( ) int a,b,c,x,y;printf(请输入一个 3 位的正整数: n ”);求 x 的百位数 */ 求 x 的十位数 */ 求 x 的个位数 */scanf(“%d” ,&x);a=x/100; /* b=(x-a*100)/10; /* c=x-a*100-b*10; /* y=c*100+b*10+a; printf( “ %d:%dn” ,x,y);4 、运行
8、结果: 9,118,10 9,8 8,85、#include <stdio.h>#include <math.h> void main( ) int a,b,c;double area,s;printf(“ Please enter a,b,c: ” );scanf(“%d,%d,%d” ,&a,&b,&c);s=(double)(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);printf( “ area=%.2lfn ”,area);6、#include <stdio.h>void main( ) c
9、har a,b,c;float x;printf( “ Please enter:n ”);a=getchar(); b=getchar(); c=getchar();x=(a+b+c)/3.0;printf(“ (a+b+c)/3=%.2fn ” ,x);实验三 选择结构程序设计 (2 学时 )、实验方式:一人一机、实验目的:1、熟练掌握if语句和switch语句。2、练习并掌握多分支选择结构的编程方法。3、学习调试和修改程序的步骤。三、实验内容:说明:前三题为必做题目,后两题为选做题目。1、读入3个分别表示箱子长、宽、高的整数值,判断并输出该箱子是立方体还是长方体。 (实验指导书P104)
10、2、 输入某一年月,输出该月的天数。(实验指导书P105)3、有一函数: x (x<1)y= - - 2x-1 (1 w x<10)3x-11 (x> 10)编写程序,输入x值,输出y值。4、从键盘输入一个字符,如果该字符为小写字母,则转换为大写字母输出;如果该字符为大写字母,则转换为小写字母输出;如果为其他字符,原样输出。(书P94)5、输入4个整数,要求按由小到大的顺序输出。四、实验步骤与过程:五、实验调试记录:六、参考答案:1、#include <stdio.h>void mai n() int l,w,h;printf(“请输入箱子的长、宽、高i: n ”
11、);scanf(“ %d%d%d,&I,&w,&h);if(l=w&&w=h)/*如果长、宽、高相等,则为立方体*/printf(“该箱子是立方体。”);elseprintf(“该箱子是长方体。”);2、#include <stdio.h>void mai n() int year,m on th,days;printf(“ Please enter year and month:n”);switch(m on th) case 2: if(year%4=0&&year%100!=0|year%400=0days=29;els
12、edays=28;break;case 1:case 3:case 5:case 7:case 8:case 10:case 12: days=31; break; case 4: case 6: case 9: case 11: days=30;printf(“ 旳d月有 %cRn ” ,year,month,days);3、#include <stdio.h>void mai n() float x,y;printf(“ Please in put x:n”);scanf(“ f',&x);if(x<1)y=x;else if(x<10)y=2*x-
13、1;elsey=3*x-11;printf(“ y=%fn ” ,y);4、#include <stdio.h>void mai n() char x;printf(“ Enter a char:n”);x=getchar();if(x>= a' &&x<='z')x=x-32;else if(x>= A' &&x<= ' Z')x=x+32;putchar(x);5、#include <stdio.h>void mai n() int a,b,c,d,t;print
14、f(“请输入4个整数:”);scanf(“ d%d%d%d&a,&b,&c,&d);if(a>b) t=a; a=b; b=t; if(a>c) t=a; a=c; c=t; if(a>d) t=a; a=d; d=t; if(b>c) t=b; b=c; c=t; if(b>d) t=b; b=d; d=t; if(c>d) t=c; c=d; d=t; printf(“排序结果如下:n ”);printf(“ d,%d,%d,%dS ,a,b,c,d);实验四循环结构程序设计(4学时)一、实验方式:一人一机二、实验目的:1
15、、熟练掌握while语句、do-while语句和for语句。2、练习并掌握循环结构的嵌套形式。3、掌握循环结构的程序设计方法。三、实验内容:说明:前四题为必做题目,后两题为选做题目。1、从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结 束输入。(实验指导书P117)2、求所有的水仙花数。水仙花数是一个 3位数的自然数,该数各位数的立方和等于该数 本身。(实验指导书P118)3、 判断输入的某个数是否为素数。若是,输出YES否则输出NQ (书P123)4、计算n的近似值。公式如下:n /4=1-1/3+1/5-1/7+,直到最后一项的绝对值小 于10-6为止。(书P12
16、3) 5、计算s=1!+2!+20!的值并输出。&输入10个整数,统计并输出其中正数、负数和零的个数。四、实验步骤与过程:五、实验调试记录:六、参考答案:1、#include <stdio.h>void mai n() float x,max, min;printf(“ Please in put scores: ” );scanf(“ f',&x);max=min=x;while(x>=0) if(x>max) max=x;if(x<min) min=x; scanf(“ %f” ,&x);printf( “ nmax=%fnmi
17、n=%fn ”,max,min);2、#include <stdio.h> void main( ) int x,y,z;int k=100; while(k<=999) x=k/100; y=(k-x*100)/10; z=k-x*100-y*10;if(k=x*x*x+y*y*y+z*z*z)printf(“ %dn”,k);k+;3、#include <stdio.h>#include <math.h>void main( ) int i,x,yes,a;printf( “ Enter integer number: ”); scanf(“%d”
18、 ,&x);yes=1;i=2;a=(int)sqrt(double)x);while(yes&&i<=a) if(x%i=0) yes=0; i+;printf( “%d” ,x); if(yes)printf( “ YESn”); elseprintf( “ NOn”);4、#include <stdio.h>#include <math.h>void main( ) float pi,t,n;int sign=1; pi=0; n=1; t=1;while(fabs(t)>=1e-6) t=sign/n; pi+=t; n+=2
19、; sign=-sign;pi=pi*4; printf( “ pi=%fn ” ,pi);5、#include <stdio.h> void main( ) float s=0,t=1;int n; for(n=1;n<=20;n+) t=t*n; s=s+t;printf( “1!+2!+ +20!=%fn ”,s);6、#include <stdio.h>void main( ) int x,i,a1=0,b1=0,c1=0;for(i=1;i<=10;i+) printf(“n 请输入第 d(数:” ,i);scanf( “ %d” ,&x)
20、; if(x>0)a1+;else if(x<0) b1+;elsec1+;printf( “整数有 (个,负数有 d(,零有 %d个n ”,a1,b1,c1); 实验五 综合实验 1:结构化程序设计 (2 学时 )、实验方式:一人一机、实验目的:1、进一步掌握选择结构、循环结构的编程特点。2、掌握C语言的结构化程序设计思想。3、学习利用循环结构实现的一些常用算法(如穷举、迭代、递推等) 。 、实验内容:说明:前两题为必做题目,后两题为选做题目。1、编一程序,对于给定的一个百分制成绩, 输出对应 A,B,C,D,E 表示的的等级成绩。 设: 90分以上为A, 80-89分为B, 7
21、0-79分为C, 60-69分为D, 60分以下为E。(书P93)2、百马百担问题。 ( 实验指导书 P121)3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。4、输出如下图案: *四、实验步骤与过程:五、实验调试记录:六、参考答案:1、#include <stdio.h>void main( ) int score,temp,logic;char grade;logic=1;while(logic) printf( “ Input score: ”);scanf(“ %d”,&score);if(score>100|score<0) pr
22、intf(“nError,Input again!n”);elselogic=0;printf(“ n ”);if(score=100)temp=9;elsetemp=score/10;switch(temp) case 9: grade=A'break;case 8: grade= B' ;break;case 7: grade= C'break;case 6: grade= D'break; default: grade= E' ;printf( “ Score is %d,the grade is %c.n” ,score,grade);2、#in
23、clude <stdio.h>void main( ) int m,n,k;int sum=0;printf( “各种驮法如下: n ” ); for(m=1;m<=100;m+) for(n=1;n<=100-m;n+) k=100-m-n;if(k%2=0&&m*3+n*2+k/2=100) printf(“大马 3dE;中马 3d匹;小马 3dE.n ” ,m,n,k);sum+;printf( “共有 d种驮法.n ”,sum);3、#include <stdio.h>void main( ) char c;int letter=0,
24、space=0,digit=0,other=0;printf(“请输入一行字符: n ” );while(c=getchar( )!= n ') if(c>=a'&&c<=z'|c>= A'&&c<=Z')letter+;else if(c= ')space+;else if(c>= 0'&&c<=9')digit+;elseother+;printf( “字母数=%d空格数=%dn”,letter,space); printf( “数字数=%d,
25、其他字符数=%dn”,digit,other);4、#include <stdio.h>void main( ) int i,j,k;printf(“ ”);printf(“* ”);for(i=0;i<=3;i+) for(j=0;j<=2-i;j+) for(k=0;k<=2*i;k+) printf(“ n ”);for(i=0;i<=2;i+) for(j=0;j<=i;j+)printf( “ ”);for(k=0;k<=4- 2*i;k+) printf(“*”);printf( “ n ”);实验六 函数程序设计 (4 学时 )、实
26、验方式:一人一机、实验目的:1、掌握C语言中函数的三要素:函数定义、函数调用和函数说明。2、掌握通过参数在函数间传递数据的方法。3、掌握全局变量、局部变量、动态变量、静态变量的概念和使用方法。 、实验内容:说明:前四题为必做题目,后两题为选做题目。( 实验( 实验指导1、从键盘输入三角形的 3 条边,调用三角形面积函数求出其面积,并输出结果 指导书 P130)2、输入整数n,输出高度为n的等边三角形。当n=5时的等边三角形如下: 书 P134)*3、输入并运行以下程序,分析运行结果#include <stdio.h>int a=5;int b=7; void main( ) int
27、 a=4,b=5,c;c=plus(a,b);printf(“a+b=%dn” ,c);plus(int x,int y) int z;z=x+y; return (z);4、 求500以内的所有亲密数对。若正整数 A的所有因子(包括1但不包括自身,下同) 之和为B,而B的因子之和为A,则称A和B为一对亲密数对。(实验指导书P136)5、输入并运行以下程序,分析运行结果。 #include <stdio.h>int d=1;fun(int p) static int d=5;d+=p;printf(“%d ”,d);return (d);void main( ) int a=3;p
28、rintf(“%d ”,fun(a+fun(d);&设计一个函数,输出整数n的所有素数因子。(书P157)四、实验步骤与过程:五、实验调试记录:六、参考答案:1 、 #include <stdio.h> #include <math.h> float area(float a,float b,float c) float s,p,area;s=(a+b+c)/2;p=s*(s-a)*(s-b)*(s-c);area=sqrt(p);return (area);void main( ) float x,y,z,ts;scanf(“ %f%f%f” ,&x,
29、&y,&z);if(x>0&&y>0&&z>0&&x+y>z&&y+z>x&&x+z>y) ts=area(x,y,z);printf(“ area=%fn ” ,ts); elseprintf( “ data error!n ” );2、#include <stdio.h>void trangle(int n) int i,j;for(i=0;i<n;i+)'); /* 打印每一行的空格 */'); /* 打印每一行的 * 号*
30、/ for(j=0;j<=n-i;j+) putchar( for(j=0;j<=2*i;j+) putchar( putchar( n ');void main( ) int n;printf( “ Please enter n: ”); scanf( “ %d” ,&n);printf( “n ” );trangle(n);3、a+b=94、#include <stdio.h>int facsum(int m) int sum=1,f=2; while(f<=m/2) if(m%f=0) sum=sum+f; f+;return sum;voi
31、d main( ) int m=3,n,k; while(m<=500) n=facsum(m); k=facsum(n); if(m=k&&m<=n) printf(“ %d,%dn”,m,n);m+;5 、 6 15 156、#include <stdio.h>int prime(int n) int i,flag=1;for(i=2;i<=n/2;i+) if(n%i=0) flag=0;retun flag; return flag;void factor(int n) int i;i=2; while(i<=n) if(n%i=0)
32、&&prime(i) printf(“%d ”,i);n=n/i;continue;i+;void main( ) int num;printf( “ Enter num: ” ); scanf(“%d” ,&num);printf(“ prime factor is:n”);factor(num);实验七 数组程序设计 (4 学时 )一、实验方式:一人一机二、实验目的:1、掌握数组的定义、赋值和输入输出的方法。2、学习用数组实现相关的算法(特别是排序算法) 。3、掌握C语言中字符数组和字符串处理函数的使用。三、实验内容: 说明:前四题为必做题目,后两题为选做题目。1、
33、下列程序的功能是:输入 10个整数,按每行 3个数输出这些整数,最后输出 10个整 数的平均值。程序中有几处错误,试找出它们后加以修改,并上机验证修改结果。#include <stdio.h>void main( ) int i,n,a10,avg;for(i=0;i< n;i+)scanf(“ %d”,ai);for(i=0;i<n;i+) if(i%3=0) printf(“n ”);printf(“%d ”,ai);for(i=0;i<n;i+)avg+=ai;printf( “navg=%fn ”,avg);2、写一个函数,对输入的 10 个整数按从小到大
34、的顺序排序(升序,用冒泡排序实现) 。 ( 实验指导书 P147)3、编写程序,判断某一字符串是不是“回文数” ,回文数是从左至右或从右至左读起来 都是一样的字符串。 (实验指导书 P153)4、输入一个 3 行 3 列矩阵的所有元素,然后求出主对角线元素之和 。5、 给定某年某月某日,将其转换成这一年的第几天并输出。(实验指导书 P152)6、编写程序,在有序的数列中查找某数,若该数在此数列中,则输出它所在的位置,否 则输出 no found 。 (书 P191)四、实验步骤与过程:五、实验调试记录:六、参考答案:1、#include <stdio.h> void main( )
35、 int i,n=10,a10; float avg=0;for(i=0;i<n;i+) scanf(“ %d”,&ai);for(i=0;i<n;i+) if(i%3=0) printf(“n ”);printf(“%d ”,ai); for(i=0;i<n;i+) avg+=ai; avg=avg/n; printf( “navg=%fn ”,avg);2、#include <stdio.h> void sort1(int s ,int n) int i,j;int t; for(i=0;i<n-1;i+) for(j=9;j>=i+1;j
36、-) if(sj<sj-1) t=sj;sj=sj-1;sj-1=t; void main( ) int i,a10;printf(“ Please input 10 numbers:n ”);for(i=0;i<10;i+) scanf( “%d” ,&ai);sort1(a,10); printf( “ The sorted 10 numbers:n ”); for(i=0;i<10;i+)printf( “ %d ” ,ai);3、 #include <stdio.h>#include <string.h>#define N 40void
37、 main( ) char strN,ch=Y' ;int i;int len;printf(“Input a string:n” );scanf(“%s” ,str);len=strlen(str);for(i=0;i<len/2;i+) if(stri!=strlen-1-i) ch= N' ;break;if(ch=Y' )printf(“s是一个回文数 n ”,str);elseprintf(“昇是一个回文数 n ” ,str);4、#include <stdio.h>void main( ) int a33,sum;int i,j;sum=0
38、;for(i=0;i<3;i+)for(j=0;j<3;j+)scanf(“%d” ,&aij);for(i=0;i<3;i+)sum=sum+aii;printf(“ sum=%dn” ,sum);5、#include <stdio.h>int day_tab213=0,31,28,31,30,31,30,31,31,30,31,30,31, 0,31,29,31,30,31,30,31,31,30,31,30,31;int day_year(int year,int month,int day) int i,j,s=0;if(year%4=0&
39、&year%100!=0|year%400=0) i=1; else i=0; for(j=1;j<month;j+)s=s+day_tabij;return (s+day);void main( ) int y,m,d;printf(“Input year,month and day:n” );scanf(“ %d%d%”d,&y,&m,&d);printf(“是这年的第 %od天n ”,day_year(y,m,d);6、#include <stdio.h>#define N 10void main( ) int aN;int num,i;
40、char ch=n'printf(“请输入一个数组: n ” );for(i=0;i<N;i+)scanf(“ %d” ,&ai);printf(“输出数组: n ” );for(i=0;i<N;i+)printf(“ %d ” ,ai);printf(“ n ” );printf(“请输入一个数:n ” );scanf(“ %d” ,&num);printf(“开始查找 n ” );for(i=0;i<N;i+)if(num=ai) ch= y'printf(“c在数组的第 4位n ”,num,i+1);if(ch=n' )print
41、f(“ no foundn ” );实验八 指针程序设计 (2 学时 )、实验方式:一人一机、实验目的:1、通过实验进一步掌握指针的概念,会定义和使用指针变量2、能正确使用指向数组和字符串的指针变量。3、熟悉指针作为函数参数的编程特点。三、实验内容:说明:前两题为必做题目,后两题为选做题目。要求用指针方法实现。1、 指针基础及指针运算。(实验指导书P168)2、 输入3个整数,按从小到大的次序输出。(书P234)3、 数据交换。实验要求:1)定义两个函数,分别为void swap 1(int a,int b) 和voidswap2(int *a,int *b),用于交换a,b的值。2)从主函数
42、中分别输入两个整型变量 a、 bo 3)从主函数中分别调用上述两个交换函数,并打印输出交换后a、b的结果。(实验指导书P169)4、 编写一个程序计算字符串长度的函数,模拟C的<string.h>函数库内的计算字符串长 度的函数strlen()。四、实验步骤与过程:五、实验调试记录:六、参考答案:1、#include <stdio.h>#include <malloc.h>#define N 5void mai n() int *p,*q,aN;int i,tmp;p=a;q=(i nt *)malloc(N*sizeof(i nt);printf(“ Pl
43、ease in put the first group:” );for(i=0;i<N;i+)scanf(“%d ,p+i);/* 使用指针p输入a的N个元素*/printf(“ Please in put the sec ond group:” );for(i=0;i<N;i+)scanf(“%d,&qi); /*使用数组输入指针q地址上的N个整数*/for(i=0;i<N;i+)if(*(p+i)>*(q+i) tmp=*(p+i); *(p+i)=*(q+i); *(q+i)=tmp; 交换printf(“ Result:n ”);for(i=0;i<
44、;N;i+)printf(“ %d ” ,*(a+i); /*按指针输出第一组数 */printf( “n ”); for(i=0;i<N;i+)printf(“ %d ” ,qi); /* 按数组输出第二组数 */printf(“ The memory address of p,a,q are:%x,%x,%xn” ,p,a,q);free(q);2、#include <stdio.h>void swap(int *p1,int *p2) int p;p=*p1; *p1=*p2; *p2=p;void main( ) int n1,n2,n3;int *p1,*p2,*p
45、3;printf( “ Please input three integer datas:” );scanf( “ %d%d%”d,&n1,&n2,&n3);p1=&n1; p2=&n2; p3=&n3;if(n1<n2) swap(p1,p2);if(n1<n3) swap(p1,p3);if(n2<n3) swap(p2,p3);printf( “ After swap: ”);printf(“%d %d %dn” ,n1,n2,n3);3、#include <stdio.h>void swap1(int x,i
46、nt y);void swap2(int *x,int *y);void main( ) int a,b;printf(“ Please input a=: ” );scanf( “%d” ,&a);printf(“ Please input b=: ” );scanf( “%d” ,&b);swap1(a,b);printf(“ nAfter call swap1:a=%d b=%dn”,a,b);swap2(&a,&b);printf(“ nAfter call swap2:a=%d b=%dn”,a,b);void swap1(int x,int y) i
47、nt temp;temp=x; x=y; y=temp;void swap2(int *x,int *y) int temp; temp=*x; *x=*y; *y=temp;4、#include <stdio.h> int strlength(char *s); void main( ) int n1,n2;char *list1=“See no evil,hear no evil.” ;char *list2=“ blind and deaf? ” ;n1=strlength(list1); n2=strlength(list2);puts(list1);printf(“ Th
48、e length of list1=%dn ”,n1);puts(list2);printf(“ The length of list2=%dn ”,n2);int strlength(char *s) int n=0; while(*s!= 0 ') n+; s+;return n;实验九 综合实验 2:函数、数组、指针的综合应用 (2 学时 )、实验方式:一人一机 、实验目的:1 、进一步掌握通过指针引用数组元素的方法。 2、综合运用函数、数组、指针的知识,实现复杂程序的编程。3、掌握调试复杂程序的技巧。、实验内容: 说明:前两题为必做题目,后两题为选做题目。要求用指针方法实现。1
49、、数组元素奇偶排列。实验要求: 1) 定义一个整型一维数组,任意输入数组的元素,其 中包含奇数和偶数。 2) 定义一个函数,实现将数组元素奇数排列在左,偶数排列在右的排列。3)在上述定义的函数中,不允许再增加新的数组。4)从主函数中分别调用上述函数,打印输出结果。(实验指导书P172)2、 编写函数lower()模拟标准函数strlwr(),调用形式为lower(char *st),其作用 是将字符串st中的大写字母转换成小写。(书P192)3、 编写函数,比较两个字符串是否相等。(书P234)4、 编写函数reverse() 模拟标准函数strrev(),调用形式为reverse(char
50、*st) ,其 作用是颠倒字符串st的顺序,即按与原来相反的顺序排列。(书P192)四、实验步骤与过程:五、实验调试记录:六、参考答案:1、#include <stdio.h>#define N 10void arrsort(i nt a ,i nt n);void mai n() int aN,i;for(i=0;i<N;i+)scanf(“%d,&ai);arrsort(a,N);for(i=0;i<N;i+)printf(“ %d ” ,ai);void arrsort(i nt a ,i nt n) int *p,*q,temp;p=a;q=a+n-1;
51、while(p<q) while(*p%2) p+; while(!(*q%2) q-;if(p<q) temp=*p; *p=*q; *q=temp; p+,q-;2、#include <stdio.h>#defi ne N 20 void lower(char *st) int i=0;while(sti!=0 ') if(sti>=A'&&sti<= Z' )sti+=32;i+;void main( ) char sN; printf(“ Input a string:n”);scanf( “%s” ,s);l
52、ower(s); printf(“ Output:%sn ”,s);3、#include <stdio.h> #include <string.h> int compare(char *p,char *q) int i,l=strlen(p); if(strlen(p)!=strlen(q) return 0;for(i=0;i<l;i+) if(pi!=qi) return 0;return 1;void main( ) char str180,str280;printf(“ Input first string:” );scanf(“%s” ,str1);pr
53、intf(“ Input second string:”);scanf(“%s” ,str2);if(compare(str1,str2)printf( “ Two strings equation!n” );elseprintf(“ Two strings no equation!n” );4、#include <stdio.h> #include <string.h> void reverse(char *st) int i=0,n;char t;n=strlen(st);for(;i<n/2;i+) t=sti; sti=stn-i-1; stn-i-1=t
54、; void main( ) char s80;printf( “ Input a string:n”);scanf( “%s” ,s);reverse(s);printf(“ Output:%sn ”,s);实验十 综合实验 3:结构体、文件程序设计 (6 学时 )一、实验方式:一人一机二、实验目的:1、掌握结构体类型变量的定义和使用。2、掌握结构体类型数组的概念和使用。3、学会使用文件打开、关闭、读、写等文件操作的函数。三、实验内容:说明:前三题为必做题目,后一题为选做题目。 1、在选举中进行投票,包含候选人姓名、得票数,假设有多位候选人,用结构体数组统 计各候选人的得票数。 ( 实验指导
55、书 P180)2、编写一个学生信息排序程序。要求:1)程序运行时可输入n个学生的信息和成绩(n预先定义)。2)学生信息包括:学号、姓名;学生成绩包括:高等数学、物理、计算机。3)给出一个排序选择列表,能够按照上述所列信息(学号、姓名、高等数学、物理、 计算机)中的至少一个字段进行排序,并显示其结果。4)使用函数方法定义各个模块。3、 将磁盘上一个文本文件的内容复制到另一个文件中。(实验指导书 P199)4、从键盘输入一行字符串,将其中的小写字母全部转换成大写字母,输出到一个磁盘文 件“ test.dat ”中保存,然后读出并输出在屏幕上。 ( 实验指导书 P204)四、实验步骤与过程:五、实验调试记录:六、参考答案:1、#include <stdio.h>#include <string.h>struct person
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 再生资源财务管理制度
- 民间防水补漏方案(3篇)
- 学校设备项目管理制度
- 学校红黄蓝牌管理制度
- 学校特异学生管理制度
- 工厂物流发货管理制度
- DB62T 4389-2021 西瓜品种 金瑞1号
- 企业收购谈判方案(3篇)
- 房屋改造物自制方案(3篇)
- 辞退赔偿方案(3篇)
- 人教版五年级数学下册各单元知识点总结
- 全站仪测角、测距记录表(自动计算)
- 肌肉注射课件(共45张课件)
- 四牙源性肿瘤课件
- 工贸企业重大事故隐患判断标准解读培训课件
- Unit 9 Section B 1a-1d 教学设计 2023-2024学年人教版英语八年级下册
- 直播违禁词培训
- 2025-2030年地下管道检测机器人行业跨境出海战略研究报告
- 中小学校食堂膳食经费管理制度
- 社会工作行政(第三版)课件汇 时立荣 第1-5章 社会服务机构- 领导与沟通、激励
- 应收账款审计之销售与收款循环
评论
0/150
提交评论