C语言程序设计(第三版)何钦铭 颜晖主编 课后习题
0_Alan_0
。。。
展开
-
6-7 简单计算器
//简单计算器#includeint main(int argc,char const *argv[]){ int value1,value2; int sum=0; int flag=1; char ch; scanf("%d",&value1); while((ch=getchar())!='=') { scanf("%d",&value2); if(ch=='原创 2017-09-02 20:06:51 · 1791 阅读 · 0 评论 -
8-2 在数组中查找指定元素
//在数组中查找指定元素#include <stdio.h>int search(int list[], int n, int x);int main(void){ int n; int a[10]; int i; int searchnumber; // 要查找的整数 int index; // 下标 printf("请输入一个正整数n (1<...原创 2018-04-07 20:34:20 · 3467 阅读 · 1 评论 -
8-3 循环后移
//循环后移#include <stdio.h>#include <stdlib.h>void shift(int *sequence, int number, int movement);int main(void){ int n; // 整数个数 int m; // 向后移 m个位置 int i; int *seq; printf...原创 2018-04-08 21:53:26 · 3488 阅读 · 2 评论 -
8-4 报数
// 报数#include <stdio.h>#include <stdlib.h>int main(void){ int n; // n个人 int m; // 报到 m就退出 int i; int num = 0; // 报数 int count = 0; // 记录退出的人数 int *flag; printf("请输...原创 2018-04-08 23:55:30 · 687 阅读 · 4 评论 -
8-7 字符串排序
// 字符串排序 #include <stdio.h>#include <string.h>#define MAXLEN 100#define N 5void StringSort(char s[][MAXLEN], int n);int main(){ char s[N][MAXLEN]; int i; printf("请输入5个字符串:\n...原创 2018-09-23 22:10:25 · 2916 阅读 · 0 评论 -
8-8 判断回文
// 判断回文 #include <stdio.h>#include <string.h>#define MAXLEN 100int main(){ char s[MAXLEN]; int i; int len; int flag = 1; printf("请输入一串字符:\n"); scanf("%s",s); len = strlen...原创 2018-09-23 22:30:59 · 528 阅读 · 0 评论 -
8-9 分类统计字符个数
// 分类统计字符个数 #include <stdio.h>#include <string.h>#define MAXLEN 100int main(){ char s[MAXLEN]; int i,len; int num[5] = {0,0,0,0,0}; printf("请输入一行文字(按回车键结束):\n"); gets(s); ...原创 2018-09-24 11:12:40 · 1933 阅读 · 0 评论 -
8-10 输出学生成绩(动态分配)
// 输出学生成绩(动态分配) #include <stdio.h>#include <stdlib.h>int main(){ int n,i; double sum = 0; double aver; //平均成绩 double *p; printf("请输入学生人数:"); scanf("%d",&n); if((p=(d...原创 2018-09-24 11:49:07 · 5906 阅读 · 0 评论 -
9-1 时间换算
// 时间换算 #include <stdio.h>struct Time { int hour; int minute; int second;};void CalTime(struct Time *p, int n);int main(void){ int n; // n秒后 struct Time t; printf("请输入时: ")...原创 2018-09-27 16:19:01 · 1129 阅读 · 0 评论 -
8-5 使用函数实现字符串复制
// 使用函数实现字符串复制#include <stdio.h>#include <string.h>#define MAXN 100void RemoveBlank(char *t); // 去掉字符串末尾的空格 void strmcpy(char *s, char *t, int m);int main(){ char t[MAXN], s[...原创 2018-09-22 13:46:39 · 10978 阅读 · 1 评论 -
8-1 拆分实数的整数与小数部分
//拆分实数的整数与小数部分#include <stdio.h>void splitfloat(float x, int *intpart, float *fracpart);int main(void){ float realnumber; // 实数 int integerpart; // 整数部分 float fractionpart; // 小数部分 ...原创 2018-04-07 20:06:04 · 16122 阅读 · 1 评论 -
6-8 统计一行文本的单词个数
//统计一行文本的单词个数#includeint main(int argc,char const *argv[]){ char ch; int flag=0; int count=0; while((ch=getchar())!='\n') { if(ch!=' '&&flag==0) { count++; flag=1; } else if(ch==原创 2017-09-02 20:08:03 · 2427 阅读 · 0 评论 -
8-6 删除字符
// 删除字符#include <stdio.h>#include <string.h>#define MAXN 100void delchar(char *s,char c);int main(){ char s[MAXN]; char ch; printf("请输入一个字符串:"); gets(s); printf("你输入的字符串为...原创 2018-09-22 15:00:43 · 12711 阅读 · 3 评论 -
9-2 计算两个复数之积
// 计算两个复数之积 #include <stdio.h>#include <math.h>struct Complex { double real; double imag;};void Multiply(struct Complex *p, struct Complex c1, struct Complex c2);void Show(stru...原创 2018-09-28 19:42:03 · 3687 阅读 · 0 评论 -
10-8 递归实现顺序输出整数
// 10-8// 递归实现顺序输出整数 #include <stdio.h>void Sequence(int n);int main(void){ int n; printf("请输入一个正整数:"); scanf("%d", &n); while (1) { if (n>=0) { break; } else ...原创 2018-12-01 16:49:11 · 1869 阅读 · 0 评论 -
10-10 利用宏定义计算三角形面积
// 10-10// 利用宏定义计算三角形面积 #include <stdio.h>#include <math.h>#define s(a,b,c) ((a)+(b)+(c))/2.0#define area(a,b,c) sqrt((s(a,b,c))*((s(a,b,c))-(a))*((s(a,b,c))-(b))*((s(a,b,c))-(c)))...原创 2018-12-01 19:01:08 · 3128 阅读 · 0 评论 -
11-1 输出月份英文名
// 11-1 // 输出月份英文名 #include <stdio.h>int main(int argc, char *argv[]){ char *month[12] = {"January", "February", "March", "April", "May", "June", "July", "原创 2019-01-04 11:52:15 · 2237 阅读 · 2 评论 -
11-2 查找星期
// 11-2 // 查找星期 #include <stdio.h>#include <string.h>int main(int argc, char *argv[]){ char *week[7] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Frid原创 2019-01-04 15:40:11 · 1977 阅读 · 0 评论 -
11-3 计算最长的字符串长度
// 11-3// 计算最长的字符串长度#include <stdio.h>#include <stdlib.h>#include <string.h>int max_len(char *s[], int n);int main(int argc, char *argv[]){ int n=0; int len; char *s[...原创 2019-01-04 16:18:07 · 1594 阅读 · 1 评论 -
11-4 字符串的连接
// 11-4// 字符串的连接#include <stdio.h>char *strcat (char *s, char *t);int main(int argc, char *argv[]){ char s[50], t[20]; printf("请输入两个字符串:\n"); scanf("%s%s", s, t); strcat(s,t); prin...原创 2019-01-04 16:55:51 · 673 阅读 · 0 评论 -
11-5 指定位置输出字符串
// 11-5// 指定位置输出字符串#include <stdio.h>#define MAX 30char *match(char *s, char ch1, char ch2);int main(int argc, char *argv[]){ char s[MAX]; char ch1, ch2; char *p; printf("请输入一个字符串: ...原创 2019-01-04 19:01:24 · 3437 阅读 · 0 评论 -
11-6 查找子串
// 11-6 // 查找子串#include <stdio.h>char *search (char *s, char *t);int main(int argc, char *argv[]){ char s[30], t[20]; char *result; printf("请输入两个字符串:\n"); scanf("%s%s", s, t); re...原创 2019-01-04 19:47:17 · 1316 阅读 · 1 评论 -
11-7 奇数值结点链表
奇数值结点链表:输入若干个正整数(输入-1为结束标志)建立一个单向链表,头指针为L,将链表L中奇数值的结点重新组成一个新的链表NEW,并输出新建链表的信息。链表结点定义:struct ListNode { int data; struct ListNode *next;};函数接口定义:struct ListNode *readlist();struct ListNod...原创 2019-02-15 11:33:48 · 2623 阅读 · 3 评论 -
10-7 递归实现十进制转换二进制
// 10-7// 递归实现十进制转换二进制 #include <stdio.h>void dectobin(int n);int main(void){ int n; printf("请输入一个正整数:"); scanf("%d", &n); while (1) { if (n>=0) { break; } els...原创 2018-12-01 16:31:06 · 6857 阅读 · 1 评论 -
10-6 递归实现求Fabonacci数列
// 10-6// 递归实现求Fabonacci数列 #include <stdio.h>int Fabonacci(int n);int main(void){ int n; printf("请输入正整数n(n>1):"); scanf("%d", &n); printf("f(%d)=%d\n", n, Fabonacci(n)); ...原创 2018-12-01 11:10:16 · 1457 阅读 · 0 评论 -
9-3 平面向量加法
// 平面向量加法 #include <stdio.h>#include <math.h>struct Vector { double x; double y;};void Add(struct Vector *p, struct Vector V1, struct Vector V2);int main(void){ struct Vector...原创 2018-09-28 20:25:25 · 1410 阅读 · 0 评论 -
9-4 查找书籍
// 查找书籍 #include <stdio.h>#include <math.h>#define N 10struct Book { char name[20]; double price;};int main(void){ int n, i; int imax, imin; struct Book book[N]; printf...原创 2018-09-28 21:13:07 · 1465 阅读 · 0 评论 -
9-5 通信录排序
// 通信录排序 #include <stdio.h>#define N 10struct Birthday{ int year; int month; int day;} ;struct Contact { char name[10]; struct Birthday birthday; char phone[15];};int main(void)...原创 2018-09-28 23:18:21 · 2496 阅读 · 4 评论 -
9-6 按等级统计学生成绩
// 按等级统计学生成绩 #include <stdio.h>#define N 10struct Student { char num[15]; char name[15]; int score; char grade;};void set_grade (struct Student *p, int n, int *f);int main(void){...原创 2018-09-29 10:51:05 · 3676 阅读 · 0 评论 -
10-1 判断满足条件的三位数
// 判断满足条件的三位数 #include <stdio.h>#define N 50int Find(int n, int *p);int main(void){ int Number[N]; // 存放所有满足条件的三位数 int n; // 3位数n int count; int i; printf("请输入一个3位数:"); scanf...原创 2018-11-30 21:12:43 · 5287 阅读 · 1 评论 -
10-2 递归求阶乘和
// 递归求阶乘和 #include <stdio.h>double fact(int n); // 递归求阶乘 double sum(int n); // 递归求和 int main(void){ int n; printf("请输入一个整数n(n>0且n<=10):"); scanf("%d", &n); if (n == ...原创 2018-11-30 21:42:02 · 1861 阅读 · 0 评论 -
10-3 递归实现计算x^n
// 10-3// 递归实现计算x^n #include <stdio.h>double Exponential(int n, double x);int main(void){ int n; // 正整数n double x; // 实数x printf("请输入一个实数:"); scanf("%lf", &x); printf("请输入...原创 2018-12-01 09:40:55 · 6988 阅读 · 1 评论 -
10-4 递归求式子和
// 10-4// 递归求式子和#include <stdio.h>double Exponential(int n, double x);double sum(int n, double x);int main(void){ double x; // 实数x int n; // 正整数n printf("请输入一个实数:"); scanf(...原创 2018-12-01 10:17:34 · 1899 阅读 · 0 评论 -
10-5 递归计算函数ack(m, n)
// 10-5// 递归计算函数ack(m, n)#include <stdio.h>int ack(int m, int n);int main(void){ int m, n; printf("请输入m和n:"); scanf("%d%d", &m, &n); while (1) { if (m>=0 && n...原创 2018-12-01 10:54:41 · 5832 阅读 · 0 评论 -
11-8 删除结点
删除结点:输入若干个正整数(输入-1为结束标志)建立一个单向链表,再输入一个整数m,删除链表中值为m的所有结点。试编写相应程序。链表结点定义:struct ListNode { int data; struct ListNode *next;}; 函数接口定义:struct ListNode *readlist();struct ListNode *deletem(st...原创 2019-02-15 12:02:23 · 3335 阅读 · 2 评论 -
7-8 字符串转换成十进制整数
浙江大学C语言程序设计课后习题原创 2017-08-24 18:09:14 · 3767 阅读 · 2 评论 -
2-4 求交错序列前n项和
//求交错序列前n项和 #includeint main(int argc,char const *argv[]){ int n; scanf("%d",&n); int i; double flag=1.0,sum=0; for(i=1;i<=n;i++) { sum=sum+flag*i/(2*i-1); flag=-flag; } printf("%f",原创 2017-08-25 20:46:19 · 1057 阅读 · 0 评论 -
2-5 平方根求和
//平方根求和 #include#includeint main(int argc,char const *argv[]){ int n; scanf("%d",&n); int i; double sum=0; for(i=1;i<=n;i++) { sum+=sqrt(i); } printf("%.2f\n",sum); return 0;}原创 2017-08-26 01:09:29 · 3016 阅读 · 1 评论 -
2-6 求给定序列前 n 项和(1!+2!+...)
//求给定序列前 n 项和(1!+2!+...)#includedouble fact(int n);int main(int argc,char const *argv[]){ int i,n; scanf("%d",&n); double e=0; for(i=1;i<=n;i++) { e+=fact(i); } printf("%.0f\n",e);原创 2017-08-26 01:10:29 · 5279 阅读 · 2 评论 -
3-1 比较大小
//比较大小#includeint main(int argc,char const *argv[]){ int a,b,c; int min,middle,max; printf("请输入三个整数:"); scanf("%d%d%d",&a,&b,&c); if(a<=b) if(b<=c) { min=a; middle=b; max=c原创 2017-08-26 11:31:24 · 863 阅读 · 0 评论