C语言课程设计参考题目_第1页
C语言课程设计参考题目_第2页
C语言课程设计参考题目_第3页
C语言课程设计参考题目_第4页
C语言课程设计参考题目_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C语言课程设计参考题目一、基本要求题目1、一司机出车祸后驾车逃离现场,第一位目击者记得车牌号前两位数字相同, 且后两位数字也相同; 第二位目击者是一位数学家, 他看出车牌号是四位完全平方数。 试编程推算肇事车的车牌号。2、有 17个人围成一圈,从 0号的人开始报数,凡报到 3的倍数的人离开圈子,然 后再数下去。直到最后只剩下一个人为止。问此人原来的位置是多少号。3、编写一个程序,求3X4数组的转置矩阵。要求在 main函数里读数,在change 函数里把矩阵转置。4、编写函数,求取两个整数 m,n的最大公约数和最小公倍数。5、 用指向指针的方法对n个整数排序并输出。要求将排序单独写成一个函数。

2、N 个整数在主函数中输入。最后在主函数中输出。6有n个学生,每个学生的数据包括学号、姓名、年龄和两科成绩。请编程用结 构类型的数据处理方式实现如下目标:(1)在main函数中输入原始数据;(2)在count 函数中输出各学生的总分和平均分;(3)输出总分最高的学生;(4)编写sort函数 将各学生的数据按总分降序输出。7、编写求子串函数substr(s,n1,n2),在串s中从n1位置开始取n2个字符的子串8、 文件加密程序:将待加密文件以二进制打开,读入 32个字节,分别与口令异 或,在将4、5、6三个字分别与Oxaaaa异或,即完成加密,执行第二次就解密9、编写字串 str1 中找出所有小

3、写字母转成大写字母,大写字母转成小写字母 后,结果依次存入字符数组 str2 中, str1 不变仍为原字串的程序。例如,字符串 str1 为91A2BC. a1bc,调用函数fun 后,字符数组str2将存入91a2bc. A1BC: str1 仍然是91A2BC. a1bc。10、 编写一个将某个范围在-3276832767之间的整数转换为R进制(R=2 5, 8, 16)的通用程序。11 、 编写程序实现以下内容*C 语言课程设计 *1:输入学生记录 *2:输出学生记录 *3: 退出*12、从键盘上输入整数数组,并对数组中的元素进行排序。13、从键盘上输入字符数组,并对数组中的元素进行排

4、序。、14、打开文件“ file1.dat ”,并将文件中的内容输出到屏幕。15、定义一个结构体数组,输入结构体数组元素,并编写函数对结构体数组中插 入记录;16、定义一个结构体数组,输入结构体数组元素,并编写函数对结构体数组中删 除记录;17、定义一个结构体数组,并编写函数从文件中读入结构体数组元素;18、定义一个学生成绩的结构体数组,编写函数,根据学生成绩给出“优、良、 中、及格”的评定“ 90-100”-优、“80-90”- 良,“ 70-80 ”- 中,“ 60-70 ”-及格。19、定义一个学生成绩的结构体数组,编写函数对几门课程的成绩求平均成绩。20、编写一函数,将两个字符串连接起

5、来,不使用 strcat() 函数。21、编写函数讲一个字符串复制到另外一个字符串。22、从键盘上输入 2 个学生记录,并存入文件。23、编写函数,分别统计字串中字符和数字的个数。24、编写函数比较两个字符串的大小。25、键盘输入圆柱的底半径r和高h,计算表面积S和体积V并输出。输入输出 时要有文字说明,输出数取小数点后 2 位数字。26、键盘输入三个数,编写程序将他们从大到小输出。27、键盘输入一个字符,如果它是大写字母,则把它变成小写字母输出;若它是 小写字母,则变成大写字母输出;其它字符不改变输出。编写程序实现这一过程。28、编程实现:键盘输入一个整数,判断它是否能被 3, 5, 7 整

6、除,并输出以下 信息之一:(1) 能同时被 3, 5, 7 整除;(2) 能被其中两个数 ( 要指出那两个 )整除;(3) 能被其中一个数 ( 要指出那个数 )整除;(4) 不能被 3, 5, 7 整除。29、从键盘输入若干整数 (数据至多 100个) ,其值在 0至4范围,用-1 作为输入 结束标志,统计每个整数的个数。30、输出完整的乘法九九表:1*1=11*2=2 2*2=41*3=32*3=63*3=91*4=42*4=83*4=12 4*4=161*5=52*5=103*5=154*5=205*5=2531. 例如输入: 则输出: 若输入: 则输出:键盘输入一个字符串,反序输出How

7、 are you!uoy era woHHolle the world! !dlrow eht elloH32.编写程序,将键盘输入的两个字符串 (str1 和 str2) 连接起来,不要用 strcat 函数。例如输入: str1 :I am a boy.str2 :You are a girl. 连接后输出:I am a boy. You are a girl .33. 键盘输入十个数,用起泡法对它们由小到大排序。34. 输出 ASCII 码为 33127字符的列表。输出方式:每行输出 5 个字符信息; 对于每个字符,先输出十六进制转义字符方式,再输出普通字符方式。例如: x21 ! x2

8、 2“ x23 # x24$ x25%等等。其中x21 中,单引号()、斜线()和字符x也要输出。35. 输入某一科学生成绩,学生数少于 100人,当输入成绩为 0 时结束输入。 然后:(1) 求成绩平均值 xx;(2) 求平均相对误差wucha_x。方法:wucha_x=(|x0-xx|+|x1-xx|+ +|xn -1-xx|)/n其中 n 是学生个数,求绝对值函数 fabs() 在头文件 math.h 中包含。36、已有变量定义和函数调用语句:int a, b, h, l;h=hcf(a, b); l=lcd(a,b);hcf 函数的作用是求两个数的最大公约数, lcf 函数的作用是求两

9、个数的最小 公倍数。要求在主函数中从键盘输入两个整数分别赋值给变量a, b,然后调用两个函数求出最大公约数和最小公倍数,最后由主函数输出结果。37、已有变量定义和函数调用语句:char str180,str280;cpy(str1,str2) ;cpy 函数的作用是找出 str1 中的元音字母然后复制到 str2 中。要求在主函数 中实现字符串的输入,并存放到字符数组 str1 中,函数调用后输出字符数组 str1 和 str2 中的内容。38、给出年、 月、日,计算该日是该年中的第多少天。 其中计算过程由函数实现。39、输入长方形的长a和宽b的值,通过一个函数调用计算出长方形的周长 c 和面

10、积s,在主函数中输出长方形的周长和面积值。40、已有变量定义语句 double a ;int n ; 和函数调用语句 mypow(a , b);要求编写程序,用递归法求出a的n次方的值41、写一个函数,实现对输入的 10 个字符按由小到大的顺序排列。在主函数 中调用该函数并输出排序后的结果。42、编写程序,要求从键盘输入月份号,输出该月的英文名字。例如,输入 3,则输出“ Match”,输出要求用函数实现。43、编写一个函数, 统计出一个整数中包含的某一个数字的个数, 例如:11254 中包含有 1 个 2。、44、100以内的全部素数,每行输出 10 个数。要求判断一个数是否是素数由函数 实

11、现。45、用 scanf() 函数输入 20个整数组中,以每行 5个数打印出来,并打印输出其 中偶数的和二、程序改错题程序 1:main()int a b;a=2;b=3;c=a*b printf(c=%c,c);程序 2:main()int x=1; y;y=x+;printf(y=%d ,y); int z;z=+x;print(z=%dn,z);程序 3:#include main()int a;char ch; ch=A; scanf(%d,a); printf(%c+%d=%cn,ch,ch+a); 程序 4:#include #include main()int i,j;char

12、ch;while(ch=getch()!=r)i+;printf(%c,ch);printf(you type %d charactersn,i);程序 5:#include #include main()int i,j;int sum,k=0; for(i=0;i5;i+);printf(input a number:); scanf(%d,k); sum+=k; printf(the sum is %d,sum);程序 6:#include #include main()int i,j; clrscr(); for(i=0;i10;i+) for(j=0;j10;j+)if(i=j)bre

13、ak; printf(* ); printf(n);程序7:#include int fun( )int a33, sum;int i, j;for(i=0; i3; i+) for(j=0; j3; j+) scanf(%d aij); for(i=0; i3; i+) sum = sum * aii; printf(Sum=%dn, sum); main( ) fun( ); 程序 8:#include #include void fun(int a, b)int t;t = b; b = a ; a = t;main( )int a, b;clrscr( );printf(Enter a

14、,b :); scanf(%d%d, &a, &b); fun(&a, &b);printf(a=%d b=%dn, a, b); 程序 9:#include #include fun(double *a, *b)if(a*b 0.0) return 1;else return 0;main( )double n, m; clrscr( ); printf(Enter n , m : ); scanf(%lf%lf, &n, &m); printf(nThe value of function is: %dn, fun(&n, &m); 程序 10:#include #include #inc

15、lude int fun(char *s, char *t)int n; char *p, *r;n = 0;while(*s) p = s; r = t; while(*r) if(*r = *p)r+;p+elsebreak;if(r = 0)n+;s+;return n;main( )char s100, t100; int m;clrscr( );printf(nPlease enter string S: );scanf(%s, s);printf(nPlease enter substring t:);scanf(%s, t);m = fun(s, t); printf(nThe

16、result is : m = %dn, m);程序11:对候选人得票的统计程度。设由 3个候选人,每次输入一个得票的候选人的名字,要求最后输入各人得票结果。(总票数为 n)。程序如下:#includestruct personchar name20;int count;leader3=Li,0,Zhang,0,Fun,0;main()int i,j; /*error*/char leader_name20;scanf(%ddn,&n);for(i=0;i=n;i+) /*error*/scanf(%s,leader_name);for(j=0;j3;j+)/*error*/if(leader

17、_name=)printf(n);for(i=0;i3;i+)printf(%5s:%dn,,leaderi.count);程序 12:函数 str1 的功能是输入一个英文句子(字符串),将其中每个单词的最后一个字 母改写成大写,然后输出此句子。 (这里的 单词是指由空格隔开的字符串) 。例如: 若输入:this is a book ,则应输出:this iS A booK 请改正函数strl 中的两个错误,使程序能输出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。程序如下:#include stdio.h#inc

18、lude ctype.h#include conio.hvoid str1(char *p)int k=0;for(;*p;p+)if(k)if(p=)k=0;*p=toupper(*(p-1);elsek=1;void main()char str100;int d;clrscr();printf(n please input a string:);gets(str);changing:n %s,str);str1(str); printf(nafter程序 13:下列给定程序中,函数fun的功能是:分别统计字符串中大写字母和小写字母的个 数。例如:给字符串s输入:AAaaBBb123CCc

19、cccd则应该输出结果:upper=6,lower=8。 请改正程序中的错误,使程序能得出正确的结果。注意,不要改多main函数,不得增行或删行,也不得更改程序的结构。程序如下:#include #include void fun (char *s,int a, int b)a应为 *a,b 应为 *bwhile(*s)if (*s=A & *s=a & *s=z)b+; (*b)+;s+;main()char s100;int upper=0,lower=0;clrscr();printf(nPlease a string:);gets(s);fun(s,&upper, &lower);pr

20、intf(n upper=%d lower=%dn,upper,lower);程序 14:下列给定程序中,函数fun的功能是:逐个比较a、b两个字符串对应位置中的字 符,把ASCII值大或等于的字符一次存放到c数组中,形成一个新的字符串。例如,若 a中的字符串为aBCDeFgH,中的字符串为:ABcd,贝叱中的字符串为:aBcdeFgd请改 正程序中的错误,使程序能得出正确的结果。注意,不要改多main函数,不得增行或删行,也不得更改程序的结构程序如下:#include #include void; fun(char *p,char *q,char *c) 去分号int k=1;1改为 0wh

21、ile(*p!=*q) != 改为 |if (*p*q) ck=*q; 小于号改为小于等于else ck=*p;if (*p) p+;if (*q) q+;k+;main()char a10=aBCDeFgh,b10=ABcd,c80=;fun(a,b,c);printf(The string a:); puts(a);printf(The string b:); puts (b);printf(The result:); puts(c);程序 15:下列给定程序中,函数fun的功能是:依次取出字符串中所有数字字符,形成新的 字符串,并取代原字符串。请改正程序中的错误,使程序能得出正确的结果。

22、注意, 不要改多main函数,不得增行或删行,也不得更改程序的结构。程序如下 :#include #include void fun (char *s)int i,j;for (i=0,j=0;si!=0;i+)if (si=0 & si=9)sj=si;j 改为j + +sj=0; sj=0main()char item80;clrscr();printf(nEnter a string:);gets(item);printf(nnThe string is :%sn,item);fun (item);printf(nnThe string of changing is :%sn,item)

23、;程序 16:假定整数数列中的数不重复,并存放在数组中。下列给定程序中,函数fun的功能 是:删除数列中值为x的元素。n中存放的是数列中元素的个数。请改正程序中的错误, 使程序能得出正确的结果。注意,不要改多main函数,不得增行或删行,也不得更改程序的结构。程序如下:#include #define N 20fun (int *a,int n, int x)int p=0,i;an=x;while (x!=ap)p=p+1;if (p=n)return -1;elsefor (i=p;in;i+)ai+1=ai; ai=ai+1;return n-1;main()int wN=-3,0,1,

24、5,7,99,10,15,30,90,x,n,i;n=10;printf(The original data:n);for (i=0;in;i+)printf(%5d,wi);printf(nInput x (to delete):);scanf(%d,&x);printf(Delete:%dn,x);n=fun(w,n,x);if (n=-1)printf(*Nor be found!*nn);elseprintf(The data after deleted:n);for (i=0,in;i+)printf(%5d,wi);printf(nn);程序17:下列给定程序中,函数fun的功能是

25、:根据整型形参m的值,计算如下公式的值。t=1- 1/2 X2-1/3 X3- -1/mX m。例如,若m中的值为5,则应输出:0.536389。请改 正程序中的错误,使程序能得出正确的结果。注意,不要改多 main函数,不得增行或 删行,也不得更改程序的结构。程序如下:#include #include double fun (int m)double y=1.0;int i;for (i=2;im;i+)“” 改为“ =”y-=1/(i*i);“ 1”改为“ 1.0”return(y);main ()int n=5;clrscr();printf(nRhe result is %1fn,f

26、un(n);程序 18:n个元素按从小到大的注意,不要改多 main下列给定程序中,函数fun的功能是:用选择法对数组中的 顺序进行排序。请改正程序中的错误, 使程序能得出正确的结果 函数,不得增行或删行,也不得更改程序的结构。程序如下:#include #define N 20void fun(int a,int n)int i,j,t,p;for (j=0;jn-1;j+)p=j 加上“;”for (i=j;i,n;i+)j 改为j+1if (aiap)p=j; j 改为 it=ap;ap=aj;aj=t;main()int aN=9,6,8,3,-1,i,m=5;printf( 排序前的

27、数据: );for (i=0;im;i+)printf(%d,ai);printf(n);fun(a,m);printf( 排序后的数据: );for (i=0;im;i+)printf(%d,ai);printf(n);程序 19:给定程序M0DI1.C中,fun函数的功能是:先从键盘上输入一个3行3列矩阵的各个 元素的值,然后输出主对角线元素之积。请改正程序中的错误,或在横线处填上适当 的内容并把横线删除,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。程序如下:#include int fun ()int a 3 3, sum;int i, j;s

28、um = 1;for (i=0;i3;i+)for (j=0;j3;j+)scanf ( %d a i j); sca nf(%d, &aij);for (i=0; i3; i+)sum=sum*ai i;printf (Sum=%dn , sum);main () fun (); 程序20:下列给定程序中,函数fun的功能是:从低位开始取出长整型变量s中偶数位上的 数,一次构成一个新数放在t中。例如,当s中的数为7654321时,t是的数为642。请 改正程序中的错误,使程序能得出正确的结果。注意,不要改多 main函数,不得增行 或删行,也不得更改程序的结构。程序如下:#include #

29、include void fun (long s, long t) 1long sl=10;s/=10;*t=s%10;While(s0) 2 s=s/100; *t=s%10*sl+*t; sl=sl*10;main()long s,t;clrscr();printf(nPlease enter s:);scanf(%ld,&s);fun(s,&t);printf(The result is : %ldn,t);三、综合题目设计课题一:班级成绩管理系统一、问题描述:对一个有N个学生的班级,每个学生有M门课程。该系统实现对班级成绩的录入、显示、修改、排序、保存等操作的管理。二、功能要求:1.

30、本系统采用一个结构体数组,每个数据的结构应当包括:学号、姓名、M、1课程名称。2. 本系统显示这样的菜单:请选择系统功能项:a、成绩录入b、成绩显示c、成绩保存d、成绩排序e、成绩修改(要求先输入密码)f、成绩统计1) 显示每门课程成绩最高的学生的基本信息(2) 显示每门课程的平均成绩(3) 显示超过某门课程平均成绩的学生人数g、退出系统3. 执行一个具体的功能之后,程序将重新显示菜单4. 将学生成绩保存到文件中。三、算法提示:1. 数据结构:结构体类型数组。2. 数据库结构:下表构成该系统的基本数据库。姓名学号课程名称1课程名称2charCharfloatfloat四、测试数据:学生人数N=

31、10课程门数m=4课程名:数学、语文、英语、政治五、其它对该系统有兴趣的同学可以在实现上述基本功能后,完善系统的其它功能。设计课题二:班级档案管理系统一、问题描述:对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、 显示、修改、删除、保存等操作的管理。二、功能要求:1. 本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:学号、 姓名、性别、年龄、备注。2. 本系统显示这样的菜单:请选择系统功能项:a. 学生基本信息录入b. 学生基本信息显示c. 学生基本信息保存d. 学生基本信息删除e. 学生基本信息修改(要求先输入密码)f. 学生基本信息查询按学号查询按姓名

32、查询按性别查询按年龄查询g.退出系统3. 执行一个具体的功能之后,程序将重新显示菜单4. 将学生基本信息保存到文件中。5. 进入系统之前要先输入密码。三、算法提示:1. 数据结构:结构体类型数组2. 数据库结构:下表构成该系统的基本数据库。姓名学号性别年龄备注charcharcharintchar四、测试数据:学生人数N=10五、其它:对该系统有兴趣的同学可以在实现上述基本功能后,完善系统的其它功能。设计课题三:飞机订票系统、问题描述:假设某航空公司只有M架N个座位的飞机,每架飞机每天飞行一趟。通过该系统来 实现机票的订购问题、功能要求:1. 本系统采用一个包含N个数据的结构体数组,每个数据的

33、结构应当包括:起飞 地、目的地 航班号、座次号码、座次订出与否标记、订座者的姓名和订座者的身份证号码。2. 本系统显示这样的菜单:(1) 输入航班信息(2) 输出航班信息(3) 查找航班信息a. 显示空座的数量b. 显示空座的信息c. 显示已订座的信息d. 起飞时间(4) 订票预约(5) 删除定票预约(6) 退出系统3. 本系统成功执行菜单的每个信息,选项4)和5)将要求额外的输入,并且它 们都允许用户收回其输入。4. 查找航班信息既可按线路查,也可按目的地查。5. 在两次运行之间,数据被保存于一个文件里,当本程序重新开始的时候,它 首先从该文件读入数据.三、算法提示:1. 数据结构:结构体类

34、型数组2.数据库结构:下表构成该系统的基本数据库航班号起飞时间目的地座次号座次订出与否的标记订票者姓名订票者身份证号码intcharcharintCharcharchar四、测试数据:每架飞机的座位 N=12, M=5五、其它:对该系统有兴趣的同学可以在实现系统基本功能后,完善系统的其它功能。设计课题四:猜数字游戏一、问题描述:该游戏可以由程序随机产生或由用户输入四个 0到9之间的数字,且不重复。玩 游戏者通过游戏提示输入八次来匹配上面所输入的数字。A表示位置正确且数字正确,B表示数字正确而位置不正确。二、功能要求:1. 本游戏显示这样的菜单:(1)随机产生数据(2)用户输入数据(3)退出游戏

35、2. 游戏成功与否都能返回主菜单三、算法提示:1. 数据结构:数组2. 用简单的程序设计方法四、测试数据:测试数据:3792第一次输入:12340A2B第二次输入:56780A1B第三次输入:08670A1B第四次输入:97861A1B第五次输入:17942A0B第六次输入:27932A2B第七次输入:37924A0B游戏成功!五、其它: 对该系统有兴趣的同学可以在实现系统基本功能后, 完善系统的其它功能, 如: 破记录功能,若你所匹配的次数小于纪录保持者,则为破纪录。设计课题五:电子英汉词典设计一、问题描述: 英汉词典作为一个常用的学习工具,是我们经常要使用的。该系统能完成一个 简单的电子英

36、汉词典的功能,如:单词的查找、增词、删除、修改和维护等工作。二、功能描述:1. 在计算机中建立有限规模的电子英汉词典(文件),利用程序实现电子英 汉词典的查找、增词、删除、修改和维护工作。2. 词典的内容为:每行对应一个词条,每个词条由两个字符串组成,字符串 用若干空格符分开;前一个是单词字符串(英文),后一个是释义字符串(中文), 使用分号作为多个释义的分隔符(无空格)。3. 对单词和释义字符串长度的限定分别为不少于 20个与 40个字符,词条数限 定为不多于 200条。4. 采用菜单工作方式。 在一个操作执行之后, 程序询问是否继续执行该操作。 如输入Y或 y,贝U重复同一操作,不退回到菜单;如输入其它信息,则回到菜单等待 另一次选择。仅当选择退出操作时,程序应询问是否将修改后的词典存盘,并根据 用户选择存盘退出或不存盘退出。5. 要求整个设计以人为本,用户界面友好。三、算法提示:1. 数据结构:结构体数组2. 简单的程序设计3. 友好的窗口菜单的设计四、测试数据:要求被选用的词条有 200个左右,以中学的单词为主。五、其它: 对该系统有兴趣的同学可以在实现系统基本功能后,完善系统的其它功能。设计课题六:通讯录管理系统一、问题描述: 通过该系统实现对通讯录信息进行录入、显示、修改、删除、插入、排序、保 存等操作的管理。二、功

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论