瑞星卡卡安全论坛技术交流区系统软件 想挑战自我吗?就做做以下三十道难题吧?

12   1  /  2  页   跳转

想挑战自我吗?就做做以下三十道难题吧?

想挑战自我吗?就做做以下三十道难题吧?

顺序程序设计
1.输入三角形的边长,求三角形面积。(面积=sqrt(s(s-a)(s-b)(s-c)), s=(a+b+c)/2)
2.输入一个非负数,计算以这个数为半径的圆周长和面积。
3.输入任意一个三位数,将其各位数字反序输出(例如输入123,输出321).
4.输入任意大小的三个整数,判断其中是否有两个奇数一个偶数。若是,则输出“YES”,不是则输出“NOT”
5.求前驱字符和后继字符。输入一个字符,找出它的前驱字符和后继字符,并按ASCII码值,按从大到小的顺序输出这三个字符及其对应的ASCII码值。

分支和循环程序设计
1.输入两个字符,若这两个字符之差为偶数,则输出它们的后继字符,否则输出它们的前趋字符。这里的前趋和后继是指输入的两个字符中,较小字符前面的和较大字符后面的那个字符。
2.输入整数a和b,如果a 能被b整除,就输出算式和商,否则输出算式、整数商和余数。
3.输入某个点A的平面坐标(x,y),判断(输出)A点是在圆内、圆外还是在圆周上,其中圆心从标为(2,2),半径为1 。
4.输入年号和月份,输出这一年的该月的天数。 (一个年份,先判断是否闰年)
5.输出9*9乘法表。
6.求爱因斯坦数学题。有一条长阶,若每步跨2阶,则最后剩余1阶;若每步跨3阶,则最后剩2阶;若每步跨5阶,则最后剩4阶;若每步跨6阶,则最后剩5阶;若每步跨7步,最后正好一阶不剩。
7.输入一串字符,直到输入一个星号(*)为止,统计(输出)其中的字母个数和数字字符个数。
8.计算斐波那契分数序列前n项之和(n是某个常数).( 2/1,3/2,5/3,8/5,13/8,21/13,......
前一项的分子作为后一项的分母。前一项的分分母和作为后一项的分母。)。
9.输入一个正整数,各输出n行的正(倒)三角形宝塔图案.
10.输出2---n之间的所有素数(即质数).
11.从键盘输入一个正整数n,编程判断这个数是否同时含有奇数字和偶数字。
12.输入一个正整数,判断其中各位数字是否奇偶数交替出现。是,输出"YES",不是输出"NOT"。(例:2134和1038都是奇偶数交替出现;而22345不是.)
13.设某县2000年工业总产值为200亿元,如果该县预计平均年工业总产值增长率为4.5%,那么多少年后该县年工业总产值将超500亿元?
14.输入一个三位数,判断是否是一个“水仙花数”。水仙花数是指三位数的各位数字的立方和等于这个三位数本身。例如:  153=1*1*1+5*5*5+3*3*3
15.输出1-999中能被3整除,而且到少有一位数字是5的所有数字。
16.输入一串字符,直到输入一个星号为止,统计(输出)其中的正整数和负数个数,以及所有正整数的平均值和所有负数的平均值。
17.一个整数等于该数所有因子之和,则称该数是一个完数。例如:6和28都是完数。因为:6=1+2+3,28=1+2+4+7+14. 输出三位数中所有完数。

数组的应用
1. 设数组int a[N]的元素全不相等,求出a中最大元素和次大元素.
2. 输入10个数,将10个整数按生序排列输出,并且奇数在前,偶数在后。如果输入的10个数是:10 9 8 7 6 5 4 3 2 1 ,则输出:1 3 5 7
8 2 4 6 8
10。(编程提示:可利用2个数组变量,一个用来存放输入的整数,输入后,对这个数组进行排序,然后将数据复制到另一个数组中,先复制奇数再复制偶数)。
3.将数组a[n]的每一个元素依次循环向后移动一位。
4.将输入数组a[n]中的n个元素,再输入另一个数x,查看a中是否有值为x的元素,若有,则输出其下标,若没有,则输出-1。
5. 编写一个程序,其功能是给一维数组a输入任意6个整数,假设为:5 7 4 8 9 1,然后建立一个具有以下内容的方陈,并打印出来(屏幕输出)。
5 7 4 8 9 1
1 5 7 4 8 9
9 1 5 7 4 8
8 9 1 5 7 4
4 8 9 1 5 7
7 4 8 9 1 5
6.求数组int a[n]中奇数的个数和平均值,以及偶数个数和平均值。
7.统计输入的一串字符(“假设以‘\n’结束”)中,大写字母A,B,...,Z各出现的次数。
(提示,用一个数组count[26]计数各个字母出现的次数,count[0]表示A出现的次数,count[1]表示B出现的次数,...,count[25]表示字母Z出现的次数。初始时count的各元素值为0。以后,每读入一个字符ch
,若它是一个大写字母,就让相应计数单元count[ch-'A']加1。)
8.将一个正整数n(长整型)输出成“千分位”形式,即从个位数起,每三位之间加一个逗号,例如,将7654321输出成7,654,321.
(提示:需要先将n拆成一位一位的数字,然后再输出。然后,拆数时,只能从个位数拆起,而输出时,又得从高位数起输出,所以不得不将拆出的数字存放在一个数组中,然后再输出.

9.编制一个计算两个矩阵乘积的通用程序。
10.输入两串字符(假定不输入大写字母),每串以“&”结束,(1)输出在任一串中至少出现一次的字母。
((2)输出在两个串中的任一串中重复出现过的字母,(3)输出在两个串中都出现的字母。)
11.录入一段英文文章(存放在字符数组a[n]中),统计其中的单词个数,并按照单词长度由小到大次序输出各个单词。假定这段文章不超过1000个字符,单词不超过240个。请自我设计录入结束条件。
12.求出数组 int a[M][N]每行元素的平均值和平均最大的行号。
 

结构体编程:
1.用结构类型描述一个学生的有关数据,其中含有:姓名,学号,语文成绩,数学成绩,外语成绩,平均成绩,排名次序。输入全班学生(人数不超过50人)的数据(不包括平均成绩和排名次序),求出各人的平均成绩,并按平均成绩由高到低将学生排名次(要考虑并列名次),按名次顺序输出这些学生的所有数据。

函数编程:
1.编写函数getmax,它带有3个int 型参数a,b,c,返回a,b,c这三个数的最大值。 在main函数调用这个函数。
2.定义一个全局数组变量,定义函数getdata,负责向这个数组中输入数据;一个函数sort,负责将这个数组中的数据按降序排序。主函数先调用getdatat和sort函数,输出这个数组变量中全部单元的值。
3.编写一个判断一个数是否是素数的函数,若是返回1,否则返回0。
4.编写一个函数,返回某个字符在某个字符串中出现的次数。
5.编写一个函数,找出数a[n]中最大元素和最小元素所在的下标,并返回给主调函数。
6.编写一个函数,找出数A[m][n]中最大元素和最小元素所在的行列号,并返回给主调函数。
7.编写一个过程,统计一个字符串中共有多少个大写字母,多少个小写字母,多少个数字,多少个其它字符,将统计结果返回给主调函数。
8.编写一个函数,计算下面算式前100项之和,并将计算结果返回到主调函数。
1+1/3+1/5+1/7+......
9.编写一个函数,使给定的一个二维数组(3*3)转置,即行列互换.(指定的二维数组可由主程序输入,转置后输出)
10.给出年、月、日,计算该日是该年的第几天?
11.编写一个函数,输入一行字符,将此字符串中最长的单词输出。

指针的使用:
1.定义指针pa和pb,使它们分别指向变量int a和int b。通过指针pa和pb完成下列操作:
(1)输入变量a和b的值;
(2)输出这两个变量的和、差、积、商(包括整数商和实数商,但要判断除数是否为0).
(3)调整指针的指向关系,使pa总是指向值较大的变量,而pb指向值较小的变量.
2.编写3个函数,getdata函数的任务是获取数据,reversedata函数的任务是将数据逆顺存放,showdata函数的任务是输出数据。主函数旬下面这样调用这3个函数:
void getdata(int *a, int num);
void reversedata(int *a, int num);
void showdata(int *a, int num);
void main()
{
int a[10];
getdata(a,10);
reversedata(a,10);
showdata(a,10);
}
3.输入数组int a[N],b[N]的元素,用数组a和b构造数组c[n],使得:
    c=a-b 当a>b时;
  c=b-a 当a<=b时;
最后编辑2005-11-21 10:38:52
分享到:
gototop
 

??

先下载来试一下,然后再看看能做出来几个。
gototop
 

不错,但是如果能用C和C++,VB等语言分别编出来那就更好了。
gototop
 

即使有技术`!那也要时间啊!
gototop
 

其实汇编也不错的 我比较喜欢用!
gototop
 

汇编做前面几个应该没有问题
运算速度
更没有问题
gototop
 

试试吧
gototop
 

引用:
【峥嵘岁月稠的贴子】其实汇编也不错的 我比较喜欢用!
...........................


偶也喜欢汇编的。

PS:这就是楼主的难题了吗!

汗............
gototop
 

试试先
gototop
 

好像不是太难啊
gototop
 
12   1  /  2  页   跳转
页面顶部
Powered by Discuz!NT