读书人

几道做不出来的C语言试题希望大家帮

发布时间: 2012-03-21 13:33:15 作者: rapoo

几道做不出来的C语言试题,希望大家帮我做下!谢谢!
1、字符串处理:用一个字符数组保存着一个英文句子,要求:
(1) 删除该英文句子的前导空格、后导空格。并删除句子中多余的空格(单词之间只留一个空格);
(2) 统计该句子中,单词出现的频率;
(3) 查找并替换某个单词。
2、建立n阶方阵,任选一题完成打印:
(1) 螺旋方阵,如下图:
1   2   3   4
12  13  14  5
11  16  15  6
10  9   8   7
(2) 蛇形方阵,如下图:
1   2   6   7
3   5   8   13
4   9   12  14
10  11  15  16

3、已知2000年1月1日为星期六,请输入任一年的年份后,打印该年的年历;
4、长整数的处理。假定用一个整型数组表示一个长整数,数组的每个元素存储长整数的一位数字,则实际的长整数m表示为:
m=a[k]10k-1+a[k-1]10k-2+….+a[2]10+a[1]
其中a[0]保存该长整数的位数。求:
(1) 长整数乘普通整数;
(2) 长整数除普通整数。
5、对于题4描述的10进制长整数,要求:
(1) 转换为16进制数输出;
(2) 转换成8进制数输出。
6、文件处理:
(1)建立一个文本文件,每个单词不包含空格且不跨行,单词由字符序列构成且区分大小写;
(2) 统计给定单词在文本文件中出现的频度(总次数);
(2) 检索输出某单词出现在文本中的行号。
7、从下面三题中任选一题:(此题为必做题目,每位同学必须选择一道题目完成)
(1) 用C语言为学生宿舍管理人员编写一个宿舍管理软件。设某宿舍有:101,102,201,202四个房间,每个房间可住学生 <=4人,链表存储结构:学号、姓名、房间号、后续指针,按房间号有序,实现学生的入住、退房和查询,按给定学号、姓名、房号查询。
(2) 对学生的成绩信息进行管理,学生信息包括:学号、姓名、学期、每门课程的成绩、平均成绩、名次。实现:学生信息的录入;修改;删除和查询,按学期、学号、成绩不及格等查询。
(3)通讯录管理:包括创建单通讯录链表、通讯者的插入、通讯者的删除、按编号或按姓名查询通讯者的信息、通讯录链表的输出。其中,通讯者的信息包括:编号、姓名、性别、电话、地址。
8、八皇后问题:在国际象棋中,能否在空棋盘上摆放八个皇后,并使其中任意两个皇后不能在同一行或同一列或同一对角线上,并编写完整的摆放八皇后问题的程序。要求:第一个皇后的起始位置由键盘输入,国际象棋的棋盘为8*8的方格。
9、小学生数学测试软件的编写,要求:
(1) 可选择题型(+,-,*);
(2) 可选择每次答题的个数;
(3) 每次输入答案后应判断对错,若答案错误,应给出正确答案;
(4) 最后给出做对题目的总个数。
10. 输出”魔方阵”.若有方阵,它的每一行,每一列和对角线之和均相等,例如,三阶魔方阵为:
8 1 6
3 5 7
4 9 2
11、约瑟夫生者死者游戏:30个旅客同乘一条船,因为严重超载,非常危险,大家一致同意将一半的旅客投入海中。30个旅客围成一圈,由第一个人开始,依次报数,数到第9人,便把他投入大海中,然后从他的下一个人数起,数到第9人,再将他投入大海,如此循环,直到剩下15个乘客为止。问哪些位置是将被扔下大海的位置。试用数组和单循环链表来解决本问题,并比较两种数据结构在问题求解中的难易程度。


[解决办法]
做了第11题...剩下有空做
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
int people[30];
int i;
int flag = 0;
int sum = 30;
int num = 0;

for (i=0;i <30;i++){
people[i]=0;
}
while (!flag){
for (i=0;i <30;i++){
if(people[i]!=1){
num++;
if (num%9==0){
sum--;
people[i]=1;
}
}
}
if (sum==15){
flag = 1;
}
}

for (i=0;i <30;i++){
if(people[i]==0)
printf( "%d \n ",i+1);
}

system( "PAUSE ");
return 0;
}

读书人网 >C语言

热点推荐