自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 论坛 (1)
  • 收藏
  • 关注

原创 要求输出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 5461

原创 统计选票

【描述】有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 851

原创 约瑟夫问题:有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 1240

原创 有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 3023

原创 写一个用矩形法求定积分的通用函数,分别求: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 10899

原创 用指向指针的指针的方法对字符串和整数排序

【问题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 941

原创 给出年、月、日,计算该日是该年的第几天。

【描述】给出年、月、日,计算该日是该年的第几天。【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 1726

原创 用递归法将一个整数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 42154 20

原创 将字符串中最长的单词输出

【描述】写一个函数,输入一行字符,将此字符串中最长的单词输出。【输入】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 1382

原创 比较两个字符串长度,不使用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 9111 1

原创 折半查找法

【描述】有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 542

原创 要求输出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 9533 2

原创 杨辉三角

【描述】输出以下的杨辉三角:【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 684

原创 写一个函数,输入一个十六进制数,输出相应的十进制数。

【描述】写一个函数,输入一个十六进制数,输出相应的十进制数。【输入输出示例】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 5044

原创 用递归方法求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 6292

原创 Hanoi(汉诺塔)问题。

【描述】Hanoi(汉诺塔)问题。这是一个古典的数学问题:古代有一个梵塔,塔内有3个座A,B,C,开始时A座上有64个盘子,盘子大小不等,大的在下,小的在上。有一个老和尚想把这64个盘子从A座移到C座,但每次只许移动一个盘子,且在移动过程中在3个座上都始终保持大盘子在下,小盘子在上。在移动过程中可以利用B座,要求编程序打印移动的步骤。【解题思路】要求:move(n,A,B,C)步骤

2015-06-28 11:47:08 844

原创 编写一个程序,将字符数组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 44234

原创 编一程序,将两个字符串连接起来,不要用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 38690

原创 有一行电文,已按下面规律译成密码

【描述】有一行电文,已按下面规律译成密码: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 25965 13

原创 有一篇文章,共有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 7279

原创 找出一个二维数组中的鞍点,即该位置上的元素在该行上最大、在该列上最小。也可能没有鞍点。

【描述】找出一个二维数组中的鞍点,即该位置上的元素在该行上最大、在该列上最小。也可能没有鞍点。【输入输出示例】【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 37015 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 8865 3

原创 有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中

【描述】有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。【输出示例】【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 18302 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 33572 2

原创 选择排序

【描述】用选择法对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 326

原创 有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 5931

原创 输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。

【描述】输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。【思路分析】          若 当前字符=空格 YES       未出现新单词,使word=0,num不累加 NO       前一字符为空格(word=0),新单词出现,使num加1,word=1              前一字符为非空格(word=1),未出现新单词,num不加1【输入

2015-06-23 11:29:20 10905 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 2338

原创 有一个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 33939

原创 冒泡排序

【描述】输入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 489

原创 两个乒乓球队进行比赛,各出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 14458 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 12032

原创 用二分法求下面方程在(-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 16336 1

原创 用牛顿迭代法求下面方程在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 16878 1

原创 用迭代法求 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 38398 5

原创 猴子吃桃问题

【描述】猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,然后又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个,以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩一个桃子了。求第一天共摘多少个桃子?【输出结果】第一天共摘桃子:1534【C语言】#includeint main() { int sum = 1; int i; f

2015-06-21 22:09:22 467

原创 一个球从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 8752 3

原创 数列问题: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 413

原创 完数问题

【描述】一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,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 382

原创 水仙花数

【描述】输出所有“水仙花数”,所谓“水仙花数”是指一个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 333

空空如也

做《c和指针》课后练习时关于char型溢出的一个疑惑

发表于 2015-09-06 最后回复 2015-09-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除