- 博客(117)
- 资源 (1)
- 收藏
- 关注
原创 直接插入排序。由小到大排序。
//直接插入排序。由小到大排序。#include <stdio.h>#define N 10int main(){ int a[N] = {5,7,3,4,8,4,9,3,8,4}; int temp,i,j; for (i = 1; i < N; i++) { if (a[i] < a[i - 1]) { temp = a[i]; a[i] = a[i - 1]; for (j = i - 1; temp<a[j]; j--)
2021-12-19 22:29:50 239
原创 C语言:输入4位整数,满足该数是完全平方数,该数减去1111后仍是完全平方数。
//输入4位整数,满足该数是完全平方数,该数减去1111后仍是完全平方数。#include <stdio.h>#include <math.h>int main(){ int jud(int n); int i,flag1,flag2; for (i = 1112; i <= 9999; i++) { flag1 = jud(i); flag2 = jud(i - 1111); //printf("%d %d ", flag1, flag2);
2021-12-19 21:53:38 974
原创 已有a,b两个链表,
失败案例 链表创立输入零无反应,未知原因!!//已有a,b两个链表,#include <stdio.h>#include <stdlib.h>#define LEN sizeof(struct student)struct student{ long num; int score; struct student *next;};struct student lista, listb;int n, sum = 0;int main(){ struct s
2021-12-19 21:53:00 224
原创 9.9+课后9.9 写一函数建立一个有3名学生数据的单向动态链表。
输出错乱问题未解决!!!!!//9.9 写一函数建立一个有3名学生数据的单向动态链表。#include <stdio.h>#include <stdlib.h>#define LEN sizeof(struct Student)struct Student{ long num; float score; struct Student *next;};int n;struct Student * creat(void) //定义建立链表函数。返回一个指向链表
2021-12-19 11:15:38 681
原创 C语言:9.6 3个人围成一圈, 从第1个人开始顺序报号1, 2, 3。凡报到3者退出圈子。 找出最后留在圈子中的人原来的序号。要求用链表实现。
/* 9.6 3个人围成一圈, 从第1个人开始顺序报号1, 2, 3。凡报到3者退出圈子。找出最后留在圈子中的人原来的序号。要求用链表实现。***解题思路:创建一个环形链表,给链表中的每一个节点从1~13编号,然后开始淘汰过程,对于淘汰的节点,序号置为0,淘汰完成之后,找到序号不为0的即为最后留下的。*/#include <stdio.h>#define NUM 13typedef struct people{ int num; struct people *next;
2021-12-19 11:13:58 603
原创 C语言:9.5 有10个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输入10个学生数据,要求输出3门课程总平均分成绩,以及最高分的学生的数据(包括学号、姓名、3门课程成绩、平均分数)。
//9.5 有10个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输入10个学生数据,//要求输出3门课程总平均分成绩,以及最高分的学生的数据(包括学号、姓名、3门课程成绩、平均分数)。#include <stdio.h>#define N 4struct Stu{ long num; char name[20]; float score[3]; float aver;}stu[N];int main(){ void input(struct Stu stu
2021-12-18 00:45:27 4168 1
原创 C语言:9.4 编写输入input函数与输出print函数,输入输出5个学生的数据记录, //包括num,name,score[3]。
//9.4 编写输入input函数与输出print函数,输入输出5个学生的数据记录,//包括num,name,score[3]。#include <stdio.h>#define N 5struct Stu{ long num; char name[20]; float score[3];}stu[N];int main(){ void input(struct Stu stu[]); void print(struct Stu stu[]); //input(st
2021-12-18 00:43:51 1384
原创 C语言:9.2 写一函数days实现9.1中输入年月日计算第几天。(未使用结构体)
//9.2 写一函数days实现9.1#include <stdio.h>int main(){ int days(int year, int month, int day); int y, m, d,th; printf("input year month day:\n"); scanf("%d%d%d", &y, &m, &d); th=days(y, m, d); printf("%d\n", th);}int days(int year, i
2021-12-18 00:04:27 301
原创 C语言 9.1定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题。
方法一 switch 语句。//9.1定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题。#include <stdio.h>struct{ int year; int month; int day;}date;int main(){ int days; printf("input year,month,day:\n"); scanf("%d%d%d", &date.year, &date.month, &dat.
2021-12-17 23:21:27 1250 1
原创 C语言:用指针处理链表代码示例
9.8 建立一个简单的链表,由三个学生数据的节点组成,要求输出个节点中的数据。//9.8 建立一个简单的链表,由三个学生数据的节点组成,要求输出个节点中的数据。#include <stdio.h>struct Stu{ int num; float score; struct Stu *next;};int main(){ struct Stu a, b, c, *head, *p; a.num = 1111; a.score = 45; b.num = 2222;
2021-12-17 22:14:21 1285
原创 结构体定义等示例。
结构体变量初始化。注意字母输入时用单引号’’ 如下M#include <stdio.h>int main(){ struct Student { long int num; char name[20]; char sex; //注意字母输入时用单引号'' 如下M。 char addr[20]; }a = {100010,"Li Ming",'M',"Beijing 123 road"}; printf(" NO:%d\n Name:%s\n sex:%c\
2021-12-17 20:03:52 298
原创 8.21 用指向指针的方法对n个整数排序并输出。要求将排序单独写成一个函数。 n个整数在主函数中输入,最后在主函数中输出
//8.21 用指向指针的方法对n个整数排序并输出。要求将排序单独写成一个函数。//n个整数在主函数中输入,最后在主函数中输出。#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main(){ void sort(int **p, int n); int n, i, **p, *pstr[20], date[20]; printf("input n:\n"); scanf("%d", &n); for (i
2021-12-17 00:26:42 430
原创 8.20 用指向指针的指针的方法对5个字符串排序并输出。
//8.20 用指向指针的指针的方法对5个字符串排序并输出。#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <string.h>#define LM 20 //定义字符串最大长度。int main(){ void sort(char **p); int i; char **p, *pstr[5], str[5][LM]; //*pstr[5]为 指针数组 是数组,数组里存放5个指针(
2021-12-17 00:04:15 250
原创 19.(2)写一函数free将前面用new函数占用的空间释放。free(p)表示将p(地址)指向的单元以后的内存段释放。
//19.(2)写一函数free将前面用new函数占用的空间释放。free(p)表示将p(地址)指向的单元以后的内存段释放。#include <stdio.h>#define N 1000char newbuf[N];char *newp = newbuf;void free(char *p){ if (p >= newbuf&&p < newbuf + N) { newp = p; }}int main(){ char *p; fr
2021-12-16 23:30:47 422
原创 8.19 (1)编写一个函数new,对n个字符开辟连续的存储空间,此函数应返回一个指针(地址), //指向字符串开始的空间。new(n)表示分配n个字节的内存空间。
//8.19 (1)编写一个函数new,对n个字符开辟连续的存储空间,此函数应返回一个指针(地址),//指向字符串开始的空间。new(n)表示分配n个字节的内存空间。#include <stdio.h>#define N 1000 //指定开辟储存区的最大容量。char newbuf[N]; //定义字符数组。char *newp = newbuf; //指针指向区域开始处。char *new(int n){ if (newp + n < newbuf
2021-12-16 23:22:47 666
转载 C语言输出指针变量地址(十六进制)
#include <stdio.h>#include <stdlib.h>int main(){ int a = 100; int *ap ;//定义一个int类型的指针 ap=&a;//ap是一个地址,*ap是一个值 printf("%p\n",&a);//输出的是a变量的地址 printf("%p\n",ap);//通过指针变量ap输出a变量的地址 printf("%p\n",&ap);//指针变量a
2021-12-16 23:21:12 5193
原创 8.18 编一程序,输入月份号,输出该月的英文名。要用指针数组处理。
//8.18 编一程序,输入月份号,输出该月的英文名。要用指针数组处理。#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main(){ char *(p[12]),* month_name[12] = { "january", "februry", "march", "april", "may", "june", "july", "august", "september", "october", "novenber", "d
2021-12-16 22:54:27 371
原创 8.17 写一函数,实现两字符串的比较。即自己写一个strcmp函数 //原型为 int strcmp (char *p1,char *p2) //返回两字符串第一个不同的字符的ASC码差值。
//8.17 写一函数,实现两字符串的比较。即自己写一个strcmp函数//原型为 int strcmp (char *p1,char *p2)//返回两字符串第一个不同的字符的ASC码差值。#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main(){ int strcmp(char *p1, char *p2); int m; //返回值。 char str1[20], str2[20],*p1,*p2; p
2021-12-16 21:11:17 296
原创 8.16 输入一个字符串,内有数字和非数字字符,例如: //A123x34sfdf 33 fdf?f34 将其中连续的数字作为一个整数,依次依次存放到一数组a中。 //例如,123存放在a[0],3
//8.16 输入一个字符串,内有数字和非数字字符,例如://A123x34sfdf 33 fdf?f34 将其中连续的数字作为一个整数,依次依次存放到一数组a中。//例如,123存放在a[0],34存放在a[1]中.... 统计共有多少个整数,并输出这些数。#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main(){ return 0;}...
2021-12-16 20:43:14 240
原创 8.15有一个班4个学生,5门课程。 //1.求第一门课程的平均分; //2.找出有两门课程以上2不及格的学生,输出他们的学号和全部课程成绩及平均成绩; //3.找出平均成绩在90分以上或全部课程成绩
//8.15有一个班4个学生,5门课程。//1.求第一门课程的平均分;//2.找出有两门课程以上2不及格的学生,输出他们的学号和全部课程成绩及平均成绩;//3.找出平均成绩在90分以上或全部课程成绩在85分以上的学生。//分别编3个函数实现以上要求。//#include <stdio.h>int main(){ void avsco(float *, float *); return 0;}...
2021-12-16 20:20:19 459
原创 //8.14 有n个数按输入时顺序的逆序排列,用函数实现。
//8.14 有n个数按输入时顺序的逆序排列,用函数实现。#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main(){ void sort(char *p,int m); char num[10], *p; int n,i; printf("输入n:"); scanf("%d", &n); //注意取地址符号不能少。 p = num; printf("输入%d个数:\n",n); for (i =
2021-12-16 19:39:33 246
原创 8.11 在主函数中输入十个等长的字符串。用另一函数对它们进行排序 //然后在主函数输出这10个已排好序的字符串。
//8.11 在主函数中输入十个等长的字符串。用另一函数对它们进行排序//然后在主函数输出这10个已排好序的字符串。#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <string.h>int main(){ void sort(char *s[]); int i; char str[10][20], *p[10]; for (i = 0; i < 10; i++) //将 { p[
2021-12-16 18:51:34 1494 3
原创 8.10 将一个5X5的矩阵中最大的元素放在中心,四个角分别放4个最小的元素(顺序为 //从左到右,从上到下依次从小到大存放),写一函数实现之。用main函数调用。
8.10 将一个5X5的矩阵中最大的元素放在中心,四个角分别放4个最小的元素(顺序为//从左到右,从上到下依次从小到大存放),写一函数实现之。用main函数调用。//8.10 将一个5X5的矩阵中最大的元素放在中心,四个角分别放4个最小的元素(顺序为//从左到右,从上到下依次从小到大存放),写一函数实现之。用main函数调用。#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main(){ void change(int
2021-12-15 21:54:33 1204
原创 8.9 写一函数,将3X3的整形矩阵转置。
//8.9 写一函数,将3X3的整形矩阵转置。#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main(){ void zhuanzhi(int *p); int a[3][3],*p,i; printf("输入3*3矩阵(每行一回车键间隔):\n"); for (i = 0; i < 3; i++) scanf("%d%d%d", &a[i][0], &a[i][1], &a[i][
2021-12-15 20:23:03 450 1
原创 8.8 输入一行文字,找出其中大写字母、小写字母、空格、数字以及其他字符各有多少。
//8.8 输入一行文字,找出其中大写字母、小写字母、空格、数字以及其他字符各有多少。#include <stdio.h>int main(){ int uper = 0, lower = 0, digit = 0, space = 0, other = 0, i = 0; char s[40], *p; printf("input string:\n"); while ((s[i] = getchar()) != '\n') i++; p = s; while (*p !=.
2021-12-15 19:19:35 944
原创 8.7 有一字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串。
//8.7 有一字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串。#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <string.h>int main(){ void copystr(char *p1, char *p2,int m); char ch1[30], ch2[30]; int m; printf("input a string :\n");
2021-12-15 18:00:59 410
原创 8.6 写一函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。
#define _CRT_SECURE_NO_WARNINGS 1//8.6 写一函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。#include <stdio.h>#include <string.h>int main(){ int strlength(char *p); int len; char str1[50]; printf("input a string:\n"); scanf("%s", &str1); len = st
2021-12-15 17:30:36 232
原创 8..5 n个人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报道3的人退出圈子,问最后留下来的是原来第几号的那位。
//8.5 n个人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报道3的人退出圈子,问最后留下来的是原来第几号的那位。#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main(){ int i, k, m, n, num[50], *p; printf("input the number of persen:\n"); //输入人数 scanf("%d", &n); p = num; for (i
2021-12-15 16:10:06 315
原创 8.4有n个整数,使前面各数顺序向后移动m个位置,最后m个数变成最前面m个数。
8.4有n个整数,使前面各数顺序向后移动m个位置,最后m个数变成最前面m个数。//8.4有n个整数,使前面各数顺序向后移动m个位置,最后m个数变成最前面m个数。#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main(){ void move(int [20], int , int ); int number[20],n,m,i; printf("数字个数:\n"); scanf("%d", &n); p
2021-12-14 22:46:24 274
原创 8.3输入十个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。 //写三个函数:1.输入十个数 2.进行处理 3.输出十个数。
8.3输入十个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。 //写三个函数:1.输入十个数 2.进行处理 3.输出十个数。//8.3输入十个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。//写三个函数:1.输入十个数 2.进行处理 3.输出十个数。#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#define N 4int main(){ void iput(int *p); void
2021-12-14 22:45:36 977 1
原创 8.2指针方法处理:输入三个字符串,按由小到大的顺序输出。
8.2指针方法处理:输入三个字符串,按由小到大的顺序输出。//8.2指针方法处理:输入三个字符串,按由小到大的顺序输出。#include <stdio.h>#include <string.h>int main(){ void swap(char *, char *); char str1[20], str2[20], str3[20]; printf("input three string:\n"); gets(str1); gets(str2); gets(
2021-12-14 22:45:00 6100 2
原创 谭浩强第八章指针 课后题
8.1指针方法处理:输入三个整数,按有小到大的顺序输出。#define _CRT_SECURE_NO_WARNINGS 1//8.1指针方法处理:输入三个整数,按有小到大的顺序输出。#include <stdio.h>int main(){ void jiaohuan(int *pt1, int *pt2); int a, b, c; int *p1, *p2, *p3; p1 = &a; p2 = &b; p3 = &c; printf("inp
2021-12-14 22:42:30 234
原创 5.10-前二十项分数序列和
//5.10分数序列和2/1 3/2 5/3 。。。。#include <stdio.h>int main(){ int i; double F1 = 1, F2 = 1, F3;//F1,F2,F3一定要使用double; double sum = 0; for (i=1; i <= 20; i++) { F3 = F1 + F2; sum = sum + (F3 / F2); printf("%lf/%lf\n", F3, F2); F1 = F2;
2021-11-29 23:51:29 152
原创 C语言:VS2013关于使用scanf函数警告的解决方法
在首行加上代码即可运行#define _CRT_SECURE_NO_WARNINGS 1
2021-09-28 23:02:33 134
原创 C语言:简单的计算器设计(多种方式尝试)
```c#include <stdio.h>void menu(){ printf("**************\n"); printf("**************\n"); printf("**************\n"); printf("**************\n");}int ADD(int x, int y){ return x + y;}int SUB(int x, int y){ return x - y;}int MUL(i.
2021-09-28 22:59:29 555
原创 C语言:数组指针的使用
//数组指针的使用#include <stdio.h>int main(){ int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int (*p)[10] = &arr; int i = 0; for (i = 0; i < 10; i++) { printf("%d ", *(*p + i));//*p==arr } return 0;}以上数组指针的使用并不方便不如直接像以下这样操作#include
2021-09-21 23:32:53 279
原创 C语言:数组指针的简单说明与举例
数组指针的简单说明;int main(){ //字符指针 char ch = 'w'; char* p = &ch; const char* p2 = "assdgd";// //指针数组-数组-存放指针的数组 //int* arr[10];//指针数组 //char* ch[5]; //数组指针-实际上是个指针 int *p = NULL;//整形指针-指向整形的指针-可以存放整形的地址 char* pc = NULL;//pc是字符指针-指向字符的指针-可以存放字符的地
2021-09-20 23:15:19 466
原创 C语言:编程练习题
#include <stdio.h>void reverse(int arr[],int sz){ int left = 0; int right = sz - 1; while (left < right) { int tmp=arr[left]; arr[left] = arr[right]; arr[right] = tmp; left++; right--; }}void Print(int arr[],int sz){ int i; .
2021-05-20 21:35:18 102
数控车床自动回转刀架.rar
2021-05-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人