征集经典的C程序设计的大习题,针对计算机专业本科生。

wt423 2005-12-05 03:15:30
若提供有用的习题,可以另开贴送分!
采用的是谭浩强的第二版
...全文
625 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
tian930 2005-12-06
  • 打赏
  • 举报
回复
同是学计算机的 我想你们也一定学过计算机操作系统把!
我给几个题目吧!都是关于计算机操作系统里哪几个算法的实现~

1:银行家算法
2:高响应比优先调度
3:最低松弛度优先(LLF)算法
4:最佳置换算法
5:先进现出(FIFO)页面置换算法
6:最近最久未使用置换(LRU)算法
用C C++ JAVA JSP 汇编 PB 这些语言都能实现!
Echone902 2005-12-06
  • 打赏
  • 举报
回复
mark
billjoy 2005-12-06
  • 打赏
  • 举报
回复
^_^
Youthllen 2005-12-06
  • 打赏
  • 举报
回复
1.做一个五子棋程序
2.双电梯控制系统
3.汉化tc2.0
4.简单的电路图编辑系统
5.简易文字编辑器(notepad)
。。。。。。
这些是我们做c课程设计的题目的一部分
都能写个一两千行的代码
manplus 2005-12-06
  • 打赏
  • 举报
回复
mark
jordan1 2005-12-06
  • 打赏
  • 举报
回复
关注
Rick_ang 2005-12-05
  • 打赏
  • 举报
回复
最长不减子序列...
Rick_ang 2005-12-05
  • 打赏
  • 举报
回复
最长不减子序列...
handsomerun 2005-12-05
  • 打赏
  • 举报
回复
随便找了点,希望对楼主有帮助,hoho
handsomerun 2005-12-05
  • 打赏
  • 举报
回复
3.设结点的数据结构定义如下:
Structg PNODE
{
Int x,y; PNODE *next;
};
函数padd的功能为一根据pa,pb指向的两个链表(按结点的y值升序排列)生成一个新链表(pc为链首指针),新生成链表仍按y值升序排列,生成新链的规则为:当在pa和pb链表中发现y值相同的结点时,则在pc链表中增加一个新结点,新结点的x取值为两链表中对应的两个结点的x值之和,新结点的y取值为pa或pb链表中对应结点的y值
[程序]
PNODE *pcr,*pt,*pc=0
While( )
{
If(pa->y==pb->y)
{
Pt=new( )
Pt->x=pa->x+pb->x;
Pt->y=pa->y;
Pt->next=Null;
If( )
Pc=pcr=pt;
Else
{
Pcr->next=pt;
;
}
Pa=pa->next;
Pb=pb->next;
Else
If( )
Pb=pb->next;
Else
Pa=pa->next;
}return ;
}

4.建立函数CommStr(char *str1,char*str2,int *len),判断str1及str2是否有公共子串,若有通过len返回最长公共子串的长度,
#include “string.h”
#include “iostream”
Using namespace .std;
Int CommStr(char *str1, char *str2, int *len)
{
Int len1,len2,ln,cout,I,k,p}
;
If((len1=strlen(strq))<( ))
{
St=str1;str1=str2;str2=st;
Ln=len;len1=len2;len2=ln;
}

For (ln=len2;ln>0;ln--)
{
For(k=0; ;k++)
{
For(p=0;p+ln<=len1;p++)
{
For(p=0;p+=ln<=len1;p++)
{
For(i=0;i<ln;i++)
If( )
Break;
If(i=ln)
Count++;
}
}
If(count)
Break;
}
;
Return count;
}
Void main()
{
Int c,len;
C=commstr(“Abc|AbcsAbc123”,”dAbcsAk”,&len);
If(c>0)
Cout<<”最长公共子串的长度:”<<len<<endl;
Else
Cout<<”无公共子串”<<endl;
}

5.计算某年某月某日是星期几
##include “iostream”
Using namespace std;
Exam Bool { };
Bool CeapYear (int year) // 判断是否润年,润年返TRUE,否则FALSE
{
If(year%400==0) return TRUE;
If(year%100==0) return FALSE;
If(year%4==0) return TRUE;
Return FALSE;
}
Void main()
{
Int year,month,day,count=0;
Cout<<”Please input data:”;
Cin>>year>>month>>day;
For(int i=1;i<year; i++)
{
If( )
Count t=366;
Else
Count t=365;
}
For( )
{switch(i)
{
Case 1;
Case 3;
Case 5;
Case 7;
Case 8;
Case 10;
Count+=31;
Break;
Case 2;
If(leap year(year))
Count+=29;
Else
Count+=28;
Break;
Case 4;
Case 6;
Case 9;
Case 11;
Count+=30;
Break;
}
Count+=day; cout<< }

6.在下面程序中,实现对一个4*4矩阵的逆时针旋转。
原矩阵为:
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
旋转后输出为:
13 9 5 1
14 10 6 2
15 11 7 3
16 12 8 4
#include “iostream”
Using namespace std;
{
Int a[4][4];
Public;
Rect( ),
{
For (int i=0; i<4;i++)
For(int j=0;j>4;j++)

}
Void f()
{
Int I,j;
Int a[4][4];
For (i=0;i<4;i++)

For(i=0;i<4;i++)
{
For(j=0;j<4;j++)
Cout<<a[i][j];

}
}
}
Void main()
{
Int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};
Rect r(a);
r.f();
}

handsomerun 2005-12-05
  • 打赏
  • 举报
回复
程序填空
下面的程序中,函数delstr的功能是:
将字符串str中所有出现的子串str1全部删除。如本程序的输出为:
“I am a, You are a,
He is a too.”
Include “string.h”
Include “iostream”
Using namespace std;
Char *delstr(char *str,char *str1)
{
char *p,*p1,*q1; int i;
if(*str==’\0’||*str1==’\0’)
return str;
p=str;
while (*p!=’\0’)
{
p1=p;
q1=str1;
while(*p==*q1&&*q1!=’\0’)
if (p!=&& *q1==’\0’)
{
For(i=0; *p!=’\0’; i++; p1++)
=*p1;
=’\0’;
}
P++;
{
Char *p, *p1, *q1; int I;
If(*str==’\0’||*str1==’\0’)
Return str;
P=str;
While(*p!=”\0”)
{
P1=p;
Q1=str1;
While(*p!=”\0”)
{
P1=p;
Q1=str1;
While(*p1==*q1&&*q1!=’\0’) ;
If(p!=p1&&q1==’\0’)
{
For(i=0;*p1!=’\0’;i++,p1++)
=*p1;
=’\0’;
}
P++;
}
Return ;
}
void main()
{
char line[80]=”I am a student, You are a student. He is a student too.”
Cout<<delstr(line,”student”)<<end1

sankt 2005-12-05
  • 打赏
  • 举报
回复
如果想更进一步学习算法,可以参看历年的acm大赛的习题,和一些著名公司的编程大赛里面的习题
sankt 2005-12-05
  • 打赏
  • 举报
回复
比如说实现最短路径,子集数求和,背包问题
还有一些排序算法有归并排序,堆排序,基数排序 快速排序 shell排序等等
都可以做为平时的练习题

shifu2005 2005-12-05
  • 打赏
  • 举报
回复
我就顺便出一个我们最近大作业要做的一个C的题目吧
要求实现一个高精度无符号整数乘法的函数,函数原型为void Multiply(WORD *R, WORD* A, WORD *B, unsigned int N),其中R为结果,A与B为两个乘数,N为乘数的长度(单位为WORD)。WORD为你们定义的存储长整数每一部分的类型,由你们自己定义。大作业的具体要求如下:
N可能会非常大,你们在设计该函数时候不能假设N的大小。
可以用小学生乘法或分治法递归做。
谁会也顺便传上来一下。
xwsn 2005-12-05
  • 打赏
  • 举报
回复
卖书的!
wt423 2005-12-05
  • 打赏
  • 举报
回复
对象是没有学过C++的,应该出一些难得题,比如八皇后问题等等,通过百行以上的大程序才能锻炼出能力来
dreambird1983 2005-12-05
  • 打赏
  • 举报
回复
c语言里最难的应该是指针了,可以考虑出点指针的题
具体的题我就不给了,论坛里有都是,而且我也是本科生,就更不难为同是本科生的其他兄弟了
healer_kx 2005-12-05
  • 打赏
  • 举报
回复
这个,这个...我出题怕太简单了,怕人家不爱做,

让它们拿C写个链表, 再改成C++可以体会一下封装的优势.

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧