C
文章平均质量分 52
ARCHER-XIE
努力奋斗中~~
展开
-
要求输出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 · 8264 阅读 · 0 评论 -
求一个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 · 49180 阅读 · 5 评论 -
比较两个字符串长度,不使用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 · 14544 阅读 · 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 · 662 阅读 · 0 评论 -
用递归方法求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 · 10999 阅读 · 0 评论 -
将一个数组中的值按逆序重新存放。
【描述】将一个数组中的值按逆序重新存放。例如,原来顺序为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 · 23117 阅读 · 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 · 20647 阅读 · 2 评论 -
要求输出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 · 12843 阅读 · 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 · 753 阅读 · 0 评论 -
Hanoi(汉诺塔)问题。
【描述】Hanoi(汉诺塔)问题。这是一个古典的数学问题:古代有一个梵塔,塔内有3个座A,B,C,开始时A座上有64个盘子,盘子大小不等,大的在下,小的在上。有一个老和尚想把这64个盘子从A座移到C座,但每次只许移动一个盘子,且在移动过程中在3个座上都始终保持大盘子在下,小盘子在上。在移动过程中可以利用B座,要求编程序打印移动的步骤。【解题思路】要求:move(n,A,B,C)步骤原创 2015-06-28 11:47:08 · 980 阅读 · 0 评论 -
有一篇文章,共有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 · 11770 阅读 · 0 评论 -
有一行电文,已按下面规律译成密码
【描述】有一行电文,已按下面规律译成密码: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 · 35923 阅读 · 14 评论 -
编一程序,将两个字符串连接起来,不要用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 · 43491 阅读 · 1 评论 -
统计选票
【描述】有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 · 1325 阅读 · 0 评论 -
约瑟夫问题:有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 · 2031 阅读 · 0 评论 -
有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 · 4002 阅读 · 0 评论 -
用指向指针的指针的方法对字符串和整数排序
【问题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 · 1108 阅读 · 0 评论 -
用递归法将一个整数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 · 77125 阅读 · 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 · 2934 阅读 · 2 评论 -
写一个用矩形法求定积分的通用函数,分别求: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 · 12224 阅读 · 0 评论 -
给出年、月、日,计算该日是该年的第几天。
【描述】给出年、月、日,计算该日是该年的第几天。【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 · 1979 阅读 · 0 评论 -
写一个函数,输入一个十六进制数,输出相应的十进制数。
【描述】写一个函数,输入一个十六进制数,输出相应的十进制数。【输入输出示例】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 · 5820 阅读 · 1 评论 -
编写一个程序,将字符数组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 · 59518 阅读 · 1 评论 -
猴子吃桃问题
【描述】猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,然后又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个,以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩一个桃子了。求第一天共摘多少个桃子?【输出结果】第一天共摘桃子:1534【C语言】#includeint main() { int sum = 1; int i; f原创 2015-06-21 22:09:22 · 707 阅读 · 0 评论 -
用牛顿迭代法求下面方程在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 · 20339 阅读 · 3 评论 -
用二分法求下面方程在(-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 · 22639 阅读 · 1 评论 -
一个球从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 · 11635 阅读 · 5 评论 -
完数问题
【描述】一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,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 · 466 阅读 · 0 评论 -
水仙花数
【描述】输出所有“水仙花数”,所谓“水仙花数”是指一个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 · 406 阅读 · 0 评论 -
请输出以下4*5矩阵
【描述】请输出以下4*5矩阵。 12 3 4 524 6 8 1036 9 12 1548 12 16 20【C代码】#includeint main() { int i, j; for (i = 1; i<=4; i++) { for (j = 1; j <= 5; j++) { p原创 2015-06-17 12:09:30 · 3787 阅读 · 1 评论 -
精确度问题
【描述】用π/4≈1-1/3+1/5-1/7+……公式求π的近似值,知道发现某一项的绝对值小于10^6为止(该项不累加)。【C语言】#include#includeint main() { double n = 1.0, pi = 0.0; int flag = 1; while (fabs(flag / n) >= 1e-6) { pi = pi + flag / n原创 2015-06-17 12:52:17 · 559 阅读 · 0 评论 -
译密码
【描述】为使电文保密,往往按一定规律将其转换成密码,收报人再按约定的规律将其译回原文。例如,可以按以下规律将电文变成密码:将字母A变成字母E,a变成e,即编程其后的4个字母。eg:china变成glmre【C语言】#includeint main() { char c; c = getchar(); while (c != '\n') { if ((c >= 'a原创 2015-06-17 17:39:35 · 1529 阅读 · 0 评论 -
用迭代法求 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 · 53775 阅读 · 6 评论 -
数列问题: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 · 939 阅读 · 0 评论 -
两个乒乓球队进行比赛,各出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 · 16542 阅读 · 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 · 18319 阅读 · 0 评论 -
找出一个二维数组中的鞍点,即该位置上的元素在该行上最大、在该列上最小。也可能没有鞍点。
【描述】找出一个二维数组中的鞍点,即该位置上的元素在该行上最大、在该列上最小。也可能没有鞍点。【输入输出示例】【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 · 41108 阅读 · 1 评论 -
素数问题
【描述】输入一个大于3的整数,判定它是否为素数。【C语言】#includeint main() { int i; int j; scanf("%d", &i); for (j = 2; j < i; j++) if (i % j == 0) break; if(j<i) printf("Is not Prime."); else printf("I原创 2015-06-17 16:35:41 · 477 阅读 · 0 评论 -
输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。
【描述】输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。【思路分析】 若 当前字符=空格 YES 未出现新单词,使word=0,num不累加 NO 前一字符为空格(word=0),新单词出现,使num加1,word=1 前一字符为非空格(word=1),未出现新单词,num不加1【输入原创 2015-06-23 11:29:20 · 22714 阅读 · 1 评论 -
有一个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 · 49226 阅读 · 1 评论