最新C语言实验源代码.doc
《最新C语言实验源代码.doc》由会员分享,可在线阅读,更多相关《最新C语言实验源代码.doc(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品资料C语言实验源代码.C语言实验源代码C语言实验源代码大一下c语言实验源代码 021112122-白娟娟实验一 1.输入三个整数,使用指针按由小到大的顺序排序并输出。编程思路:先定义三个整型变量和三个指向整型数据的指针变量pi(i=1,2,3),然后用这三个指针分别指向三个整型变量,输入三个整型变量的值,采用*pi去比较大小和输出。 #include stdafx.h int _tmain(int argc, _TCHAR* argv)int a,b,c,*p1,*p2,*p3,max,min; scanf(%d,%d,%d,&a,&b,&c); p1=&a;p2=&b;p3=&c; if
2、(*p1*p2) min=*p2; *p2=*p1; *p1=min; if(*p1*p3)if(*p2*p2)temp=*p2;*p2=*p1;*p1=temp;实验二1.输入十个整数,放在数组list中,然后用指针法从后向前输出该数组中的整数。编程思路:定义int *p,list10;令p指向数组的最后一个元素:p=list+9; 或者p=&list0+9; 采用循环10次,每次输出*p,然后p-,即前移一个元素。#include main() int list10,*p,i; for(i=0;i=0;p-) printf(%3d,*p);2查找整数。定义一个函数 search(int *
3、p,int n,int x),在指针p所指向的整型数组中查找元素x,若找到则返回相应下标,否则返回-1。在main()函数中调用search()。要求实参用指向整型数组的指针变量,数组长度是10,数据从键盘上输入。#include stdafx.hint _tmain(int argc, _TCHAR* argv) int search(int *p,int n,int x); int a10,i,x,n,m; scanf(%dn,&x); for(i=0;i10;i+) scanf(%d,&ai); n=10; m=search(a,10,x); printf(%10d,m);int sea
4、rch(int *p,int n,int x)int i;for(i=0;is2,则函数返回1;若s1*p2返回1, *p1*p2) return 1; else return -1; return 0;实验四1.定义一个结构体类型表示每个学生的数据,包括学号、姓名、3门课的成绩,定义并输入1个学生的数据到结构体变量中,然后输出该学生的姓名、成绩和平均成绩(保留2位小数)。编程指导:定义结构体含No、name、score1、score2、score3、average共6个成员,其中No、name为字符数组,score1、score2、score3为整型变量,average为浮点型变量。#inc
5、lude stdafx.hint _tmain(int argc, _TCHAR* argv) struct student int num; char name20; int score1; int score2; int score3; float average; boy; scanf(%d%s%d%d%d,&boy.num,boy.name,&boy.score1,&boy.score2,&boy.score3); boy.average=(boy.score1+boy.score2+boy.score3)/3.0; printf(平均成绩为%3.2f,boy.average); re
6、turn 0;2.定义一个结构体类型,包括年月日三个成员变量,输入一个日期,计算是这一年的第几天。编程指导:定义一个整型数组存储各个月份的天数,注意闰年问题。#include main() struct date int year; int month; int day; d; int a12=31,29,31,30,31,30,31,31,30,31,30,31,b=0,c=0,i;if (d.year%4=0&d.year%100!=0|d.year%400=0) b=29;else b=28;a1=b;scanf(%d%d%d,&d.year,&d.month,&d.day);if(d.
7、year%4=0&d.year%100!=0|d.year%400=0) for(i=0;i=d.month-2;i+) c=c+ai;else for(i=0;i=d.month-2;i+) c=c+ai; c=c+d.day; printf(第%d天,c); return 0;3. 第2题用结构体指针变量来实现。#include main() struct date int year; int month; int day; *d,b; d=&b;int a12=31,29,31,30,31,30,31,31,30,31,30,31,e=0,c=0,i;if (*d).year%4=0&(
8、*d).year%100!=0|(*d).year%400=0) e=29;else e=28;a1=e;scanf(%d%d%d,&d-year,&d-month,&d-day);if (*d).year%4=0&(*d).year%100!=0|(*d).year%400=0) for(i=0;i=(*d).month-2;i+) c=c+ai;else for(i=0;i=(*d).month-2;i+) c=c+ai; c=c+(*d).day; printf(第%d天,c); return 0;实验五1有5个学生,每个学生的数据包括学号、姓名、3门课的成绩,用赋初值的方法输入5个学生
9、的数据到结构体数组中,输出每个学生3门课的平均成绩(保留2位小数)。输出格式为:No name score1 score2 score3 average 101 Zhou 93 89 87 -102 Yang 85 80 78 -103 Chen 77 70 83 -104 Qian 70 67 60 -105 Li 72 70 69 -编程思路:定义结构体含No.、name、score1、score2、score3、average共6个成员,其中No、name为字符数组,score1、score2、score3为整型变量,average为浮点型变量。然后再定义5个元素的结构体数组,并赋初值。
10、用一重循环计算average并输出结果。#include main() struct student char num3; char name20; int score1; int score2; int score3; float average; boy5; int i; for(i=0;i5;i+)scanf(%s%s%3d%3d%3d,boyi.num,boyi.name,&boyi.score1,&boyi.score2,&boyi.score3); for(i=0;i5;i+) boyi.average=(boyi.score1+boyi.score2+boyi.score3)/3
11、.0; printf(No. name score1 score2 score3 averagen);for(i=0;i5;i+)printf(%3s%4s%7d%8d%6d%6.2fn,boyi.num,boyi.name,boyi.score1,boyi.score2,boyi.score3,boyi.average);return 0;2,在上题中,按平均成绩由高到低排序后,输出每个学生的成绩,输出格式与上题相同。注意:在排序中交换average成员的数据时,其他成员的数据也要作对应的交换。 方法一:#include main() struct student char num4; ch
12、ar name20; int score1; int score2; int score3; float average; boy5; int i; int k,j; struct student temp; for(i=0;i5;i+) scanf(%s%s%d%d%d,boyi.num,boyi.name,&boyi.score1,&boyi.score2,&boyi.score3);for(i=0;i5;i+)boyi.average=(float)(boyi.score1+boyi.score2+boyi.score3)/3.0;for(i=0;i5;i+) k=i;for(j=i+1
13、;j=5;j+) if(boyk.averageboyj.average) k=j; temp=boyk; boyk=boyi; boyi=temp; printf(No. name score1 score2 score3 averagen);for(i=0;i5;i+)printf(%s%s%d%d%d%6.2fn,boyi.num,boyi.name,boyi.score1,boyi.score2,boyi.score3,boyi.average);return 0;方法二:#include stdafx.hint _tmain(int argc, _TCHAR* argv) struc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 语言 实验 源代码
限制150内