- 博客(50)
- 收藏
- 关注
原创 要求输出10个学生3门课总平均成绩,以及最高分的学生的数据
【描述】有10个学生,每个学生数据包括学号,姓名、3门课程的成绩,从键盘输入10个学生的数据,要求输出学生3门课总平均成绩,以及最高分的学生的数据。【输入输出示例】【C语言】#includestruct Student { int num; char name[20]; float score[3]; float aver;};int main()
2015-07-04 11:02:24
8354
原创 统计选票
【描述】有3个候选人,每个选民只能投票选一人,要求编一个统计选票的程序,先后输入备选人的名字,最后输出个人得票结果。【输入输出示例】Li Li Li Li Li Li Li Li Li Li Li:10Zhang:0 Sun:0【C语言】#include#includestruct Person { char name[20]; int coun
2015-07-04 10:12:51
1371
原创 约瑟夫问题:有n个人围成一圈,顺序报数(1~3),报到3退出
【描述】有n个人围成一圈,顺序排号,从第一个人开始报数(从1~3报数),凡报到3的人退出圈子,问最后留下的人原来排在第几号。【C语言】#includeint main() { int num[50]; int *p; int i, k, m, n; scanf("%d", &n); p = num; for (i = 0; i < n; i++) *(p + i
2015-07-03 21:53:37
2098
原创 有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数
【描述】有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数。在主函数中输入n个整数和输出调整后的n个数。【C语言】#includeint main() { void move(int[20], int, int); int number[20], n, m; int i; scanf("%d", &n); for (i = 0; i < n; i++)
2015-07-03 21:26:27
4050
原创 写一个用矩形法求定积分的通用函数,分别求:sin(x),cos(x),e^x
【描述】写一个用矩形法求定积分的通用函数,分别求:sin(x),cos(x),e^x【分析】【C语言】#include#includeint main() { float integral(float (*p)(float), float a, float b, int n ); float fsin(float); float fcos(float);
2015-07-03 10:15:32
12277
原创 用指向指针的指针的方法对字符串和整数排序
【问题1】用指向指针的指针的方法对5个字符串排序。【C语言】#include#includevoid sort(char **p) { int i, j, k; char *temp; for (i = 0; i < 4; i++) { k = i; for (j = i + 1; j < 5; j++) if (strcmp(*(p+k), *(p+j)
2015-07-02 16:44:32
1139
原创 给出年、月、日,计算该日是该年的第几天。
【描述】给出年、月、日,计算该日是该年的第几天。【C语言】#includeint sum_day(int month, int day) { int day_tab[13] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; int i; for (i = 1; i < month; i++) day = d
2015-07-02 12:11:47
2010
原创 用递归法将一个整数n转换成字符串
【描述】用递归法将一个整数n转换成字符串。例如,输入483,应输出字符串“483”。n的位数不确定,可以是任意位数的整数。【C语言】#includevoid convert(int n) { int i; if ((i = n / 10) != 0) convert(i); putchar(n % 10 + '0');}int main() { int num
2015-07-02 11:54:39
78077
39
原创 将字符串中最长的单词输出
【描述】写一个函数,输入一行字符,将此字符串中最长的单词输出。【输入】I am a student.【输出】student【C语言】#includeint main() { char str[30]; gets(str); int len = 0, length = 0, flag = 1, place = 0, point; int i; for (i
2015-07-02 11:48:51
3010
2
原创 比较两个字符串长度,不使用strcmp函数
【描述】 编写一个程序,将两个字符串s1和s2比较,如果s1 > s2,输出一个正数;s1 = s2,输出0,;s1 < s2输出一个负数。不要使用strcmp函数。两个字符串用gets函数读入。输出的正数或者负数的绝对值应是相比较的两个字符串相应字符的ASCII码的差值。例如“A”与“C”相比,由于“A” 【C语言】#include#includeint main() {
2015-06-28 17:14:16
14778
2
原创 折半查找法
【描述】有15个按由大到小顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则输出“无此数”。【C语言】#includeint main() { int a[15] = { 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 }; int i; for (i = 0; i <
2015-06-28 16:44:53
690
原创 要求输出1~n*n的自然数构成的魔方阵。(n<15且为奇数)
【描述】输出"魔方阵"。所谓魔方阵是指这样的方阵,它的每一行、每一列和对角线之和均相等。例如,三阶魔方阵为 8 1 6 3 5 7 4 9 2要求输出1~n*n的自然数构成的魔方阵。(n【解题思路】(1)第一个位置在第一行正中。(2)新位置应处于 最近一个插入位置右上方,但如果右上方位置已超出方阵上边界,则新位置应选 列的最下一个位
2015-06-28 16:11:10
12934
3
原创 杨辉三角
【描述】输出以下的杨辉三角:【C语言】#includeint main() { int i, j; int n; //height scanf("%d", &n); int a[n][n]; for (i = 0; i < n; i++) { a[i][0] = 1; a[i][i] = 1; } for (i = 2; i < n; i++)
2015-06-28 13:12:58
777
原创 写一个函数,输入一个十六进制数,输出相应的十进制数。
【描述】写一个函数,输入一个十六进制数,输出相应的十进制数。【输入输出示例】a5165【C语言】#includevoid convert(int n){ printf("%d",n);}int main() { int num; scanf("%x",&num); convert(num); return 0;}
2015-06-28 12:04:31
5876
1
原创 用递归方法求n阶勒让德多项式的值
【描述】用递归方法求n阶勒让德多项式的值,递归公式为:Pn(x) = 1 (n=0) = x (n=1) = ((2n-1)*x-Pn-1(x)-(n-1)Pn-2(x)/n (n>=1)【输入输出示例】2 1.5Input n and x : 1.000000【C语言】#include
2015-06-28 12:01:54
11207
原创 Hanoi(汉诺塔)问题。
【描述】Hanoi(汉诺塔)问题。这是一个古典的数学问题:古代有一个梵塔,塔内有3个座A,B,C,开始时A座上有64个盘子,盘子大小不等,大的在下,小的在上。有一个老和尚想把这64个盘子从A座移到C座,但每次只许移动一个盘子,且在移动过程中在3个座上都始终保持大盘子在下,小盘子在上。在移动过程中可以利用B座,要求编程序打印移动的步骤。【解题思路】要求:move(n,A,B,C)步骤
2015-06-28 11:47:08
1013
原创 编写一个程序,将字符数组s2中的全部字符复制到字符数组s1中。不用strcpy函数。
【描述】编写一个程序,将字符数组s2中的全部字符复制到字符数组s1中。不用strcpy函数。负值时,’\0’也要复制过去,’\0’后面的字符不用复制。【输入输出示例】HelloHello【C语言】#include#includeint main(){ char s1[20],s2[20]; gets(s1); int i; for(i=0;i<strlen(s
2015-06-28 11:45:07
59739
1
原创 编一程序,将两个字符串连接起来,不要用strcat函数。
【描述】编一程序,将两个字符串连接起来,不要用strcat函数。【输出示例】Hello world!【C语言】#include#includeint main() { char a[20]="Hello", b[20]=" world!"; int i; for (i = strlen(a)+1; i < 20; i++) a[i]= b[i-strlen(
2015-06-28 11:44:02
43752
1
原创 有一行电文,已按下面规律译成密码
【描述】有一行电文,已按下面规律译成密码:A →Z B→Y C→X ……a→z b→y c→x ……即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母,非字母字符不变。要求编程序将密码译回原文,并输出密码和原文。【输入输出示例】【C语言】 #includeint main() { char string[20];
2015-06-28 11:41:44
36224
14
原创 有一篇文章,共有3行文字,每行有10个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格及其它字符的个数
【描述】有一篇文章,共有3行文字,每行有10个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格及其它字符的个数。【输入输出示例】【C语言】#includeint main() { char string[3][10]; int i, j; for (i = 0; i < 3; i++) gets(string[i]); int lwr = 0, u
2015-06-28 11:39:18
11921
原创 找出一个二维数组中的鞍点,即该位置上的元素在该行上最大、在该列上最小。也可能没有鞍点。
【描述】找出一个二维数组中的鞍点,即该位置上的元素在该行上最大、在该列上最小。也可能没有鞍点。【输入输出示例】【C语言】#includeint main() { int n = 3; int a[3][3], b[3][3]; int i, j; //输入数组a的数据 for (i = 0; i < n; i++) { for (j = 0; j < n;
2015-06-28 11:31:11
41251
1
原创 将一个数组中的值按逆序重新存放。
【描述】将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,5,4,1。要求改为1,4,5,6,8。【输入输出示例】【C语言】#includeint main() { int t; int i; int n; scanf("%d",&n); int a[n]; for(i=0;i<n;i++) scanf("%d",&a[i]); for (i =
2015-06-28 11:27:44
24155
5
原创 有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中
【描述】有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。【输出示例】【C语言】#includeint main() { int i, j; int num; scanf("%d", &num); int a[10] = { 240, 105, 98, 82, 66, 27, 18, 9, 1 }; for (i = 0; i < 10;
2015-06-28 11:27:01
20734
2
原创 求一个3*3的整型矩阵对角线元素之和
【描述】求一个3*3的整型矩阵对角线元素之和。【输入输出示例】【C语言】#includeint main() { int a[3][3]; int i, j; int sum; for (i = 0; i < 3; i++) for (j = 0; j < 3; j++) scanf("%d", &a[i][j]); for (i = 0; i
2015-06-28 11:25:13
49721
6
原创 选择排序
【描述】用选择法对10个整数排序。【C语言】#includeint main() { int a[10]; int i, j; int t; for (i = 0; i < 10; i++) scanf("%d", &a[i]); for (i = 0; i < 10; i++) { for (j = i + 1; j < 10; j++) { if (a[
2015-06-23 18:15:52
376
原创 有3个字符串,要求找出其中最大者。
【描述】有3个字符串,要求找出其中最大者。【输入输出示例】【C语言】#include#includeint main() { char str[3][20]; char string[20]; int i; for (i = 0; i < 3; i++) { gets(str[i]); } if (strcmp(str[0], str[1]) > 0)
2015-06-23 12:43:23
10115
原创 输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。
【描述】输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。【思路分析】 若 当前字符=空格 YES 未出现新单词,使word=0,num不累加 NO 前一字符为空格(word=0),新单词出现,使num加1,word=1 前一字符为非空格(word=1),未出现新单词,num不加1【输入
2015-06-23 11:29:20
23065
1
原创 将一个二维数组行和列的元素互换,存到另一个二位数组中
【描述】将一个二维数组行和列的元素互换,存到另一个二位数组中。例如: a = { { 1, 2, 3 }, { 4, 5, 6 } } b={{1,4},{2,5},{3,6}}【输出结果】【C语言】int main() { int a[2][3] = { { 1, 2, 3 }, { 4, 5, 6 } }; int
2015-06-22 22:11:26
4063
原创 有一个3*4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。
【描述】有一个3*4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。【输出结果】max=10 row=2 colum=1【C语言】#includeint main() { int i, j; int max, row, colum; int a[3][4] = { { 1, 2, 3, 4 }, { 9, 8, 7, 6 }, {
2015-06-22 21:47:11
50229
1
原创 冒泡排序
【描述】输入10个数据,要求对它们按照由小到大的顺序排序。【输入输出示例】【C语言】#includeint main() { int a[10]; printf("Input 10 numbers:\n"); fflush(stdout); int i, j, t; for (i = 0; i < 10; i++) scanf("%d", &a[i])
2015-06-22 21:21:47
559
原创 两个乒乓球队进行比赛,各出3人。
【描述】两个乒乓球队进行比赛,各出3人。甲队为A、B、C 3人,乙队为X、Y、Z 3人。抽签决定比赛名单。有人向队员打听比赛的名单,A说他不和X比,C说他不和X、Z比,请编程序找出3对赛手的名单。【输出结果】a-zb-xc-y【C语言】因为此题比较简单,故采用穷举的方法。#includeint main() { int i, j, k; for (i =
2015-06-22 16:12:34
16663
1
原创 输出以下图案
【例题一】输出以下图案: 【C语言】#include#includeint main() { int i, j, k; for (i = 1; i < 5; i++) { for (j = 0; j < 4 - i; j++) printf(" "); for (k = 1; k < 2 * i; k++) printf("*");
2015-06-22 12:22:26
18790
原创 用二分法求下面方程在(-10,10)之间的根:2x^3-4x^2+3x-6=0
【描述】用二分法求下面方程在(-10,10)之间的根:2x^3-4x^2+3x-6=0【C语言】#include#includeint main() { double x1, x2, x0, fx1,fx0,fx2; x1 = -10, x2 = 10; do { printf("Please enter x1,x2:"); fflush(stdout);
2015-06-22 11:43:58
22759
原创 用牛顿迭代法求下面方程在1.5附近的根:2x^3-4x^2+3X-6=0
【描述】用牛顿迭代法求下面方程在1.5附近的根:2x^3-4x^2+3X-6=0【程序流程分析】① 赋值x0=1.5,即迭代初值; ② 用初值x0代入方程中计算此时的f(x0)及f’(x0),程序中用变量f描述方程的值,用fd描述方程求导之后的值; ③ 计算增量d=f/fd; ④ 计算下一个x,x=x0-d; ⑤ 把新产生的x替换x0,为下一次迭代做
2015-06-22 11:16:25
20468
2
原创 用迭代法求 x=根号a。求平方根的迭代公式为:X(n+1)=(Xn+a/Xn) /2。
【描述】用迭代法求 x=根号a。求平方根的迭代公式为:X(n+1)=(Xn+a/Xn) /2。要求前后两次求出的x的差的绝对值小于 10的负5次幂。【C语言】#include#includeint main() { double x1, x2; float a; scanf("%f", &a); x2 = 1.0; for (;;) { x1 = x2;
2015-06-22 10:36:43
54185
6
原创 猴子吃桃问题
【描述】猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,然后又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个,以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩一个桃子了。求第一天共摘多少个桃子?【输出结果】第一天共摘桃子:1534【C语言】#includeint main() { int sum = 1; int i; f
2015-06-21 22:09:22
740
原创 一个球从100m高度自由落下……
【描述】一个球从100m高度自由落下,每次落地后反跳回原高度的一半,再落下,再反弹。求它在第10次落地时,共经过多少米,第10次反弹多高。【输出结果】共经过:199.804688第10次反弹高度:0.097656#includeint main() { double h = 100.0, length; int i; for (i = 1; i < 11;
2015-06-21 21:38:56
11704
5
原创 数列问题:2/1,3/2,5/3,8/5,……
【描述】有一个分数数列:2/1,3/2,5/3,8/5,13/8,21/13……求出这个数列的前20项之和。【输出结果】32.660261#includeint main() { int i; double sum = 0.0, up = 2.0, down = 1.0; for (i = 1; i < 21; i++) { sum = sum + u
2015-06-21 18:44:42
977
原创 完数问题
【描述】一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1,2,3,而6=1+2+3,因此6是“完数”。找出1000之内的所有完数。【C语言】#include#includeint main() { int i, j; int t; for (i = 1; i <= 1000; i++) { t = 0; for (j = 1; j
2015-06-21 18:26:01
484
原创 水仙花数
【描述】输出所有“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153=13+53+33.【C语言】#include#includeint main() { int one, ten, hun; int i, n; for (i = 100; i < 1000; i++) { one = i % 10; hun = i /
2015-06-18 22:22:54
425
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人