- 博客(40)
- 收藏
- 关注
原创 素数筛算法
在这里插入代码片 ```#include <bits/stdc++.h> using namespace std; int main() { int a[1000000],b[1000000],k=1; int n; cin>>n; for(int i=1;i<=n;i++) { a[i]=1;//先将n个数都为素数 b[i]=0;//没有素数 } for(int i=2;i<=n;i++) { if(a[i])//当a[i]为素数时
2021-06-06 20:52:45
137
原创 快速幂算法
在这里插入代码片 ```#include <stdio.h> int main() { int n,m,ans=1; scanf("%d %d",&m,&n);//输入底数和指数 while(n)//指数不为零时 { if(n%2==1) {ans=(ans*m)%10007;}//奇数时要拆开一项 m=(m*m)%10007;//为奇为偶都得做这步 n/=2; } printf("%d",ans%10007)
2021-06-06 20:09:04
121
原创 高精度乘法
在这里插入代码片 ```#include <bits/stdc++.h> using namespace std; int a[100005],b[100005],c[100005],la,lb,lc; string x,y; int main() { cin>>x>>y; la=x.length(); lb=y.length(); for(int i=0;i<la;i++) { a[la-i]=x[i]-'0'; } for(int i=0;i&l
2021-05-23 19:18:10
118
原创 求链式线性表的倒数第K项
在这里插入代码片 ```给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字。 输入格式: 输入首先给出一个正整数K,随后是若干非负整数,最后以一个负整数表示结尾(该负数不算在序列内,不要处理)。 输出格式: 输出倒数第K个位置上的数据。如果这个位置不存在,输出错误信息NULL。 输入样例: 4 1 2 3 4 5 6 7 8 9 0 -1 输出样例: 7 ```c 在这里插入代码片 ```#include<stdio.h> #include<stdlib.h&
2021-02-06 15:33:17
369
原创 链表的基本操作
在这里插入代码片 ```本题要求实现链式表的操作集。 函数接口定义: Position Find( List L, ElementType X ); List Insert( List L, ElementType X, Position P ); List Delete( List L, Position P ); 其中List结构定义如下: typedef struct LNode *PtrToLNode; struct LNode { ElementType Data; PtrTo
2021-02-05 17:17:39
149
原创 单链表逆转
在这里插入代码片 ```3-2-链表 单链表逆转 (20 分) 本题要求实现一个函数,将给定的单链表逆转。 函数接口定义: List Reverse( List L ); 其中List结构定义如下: typedef struct Node *PtrToNode; struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /* 指向下一个结点的指针 */ }; typedef PtrToNode List; /* 定义单链
2021-02-05 16:04:17
176
原创 链表 学生成绩链表处理
在这里插入代码片 ```本题要求实现两个函数,一个将输入的学生成绩组织成单向链表;另一个将成绩低于某分数线的学生结点从链表中删除。 函数接口定义: struct stud_node *createlist(); struct stud_node *deletelist( struct stud_node *head, int min_score ); 函数createlist利用scanf从输入中获取学生的信息,将其组织成单向链表,并返回链表头指针。链表节点结构定义如下: struct stud_nod
2021-02-02 14:48:47
3971
原创 链表 建立学生信息链表
在这里插入代码片 ```本题要求实现一个将输入的学生成绩组织成单向链表的简单函数。 函数接口定义: void input(); 该函数利用scanf从输入中获取学生的信息,并将其组织成单向链表。链表节点结构定义如下: struct stud_node { int num; /*学号*/ char name[20]; /*姓名*/ int score; /*成绩*/ struct s
2021-02-02 13:58:59
1489
原创 学生管理系统
在这里插入代码片 ```#include <stdio.h> #include <stdlib.h> #include <string.h> #define pf printf #define sf scanf #define NNN 1000 //学生基本信息 typedef struct Student { char sno[9]; // 学号 char name[20];//姓名 char sex[3];//性别 char dept[30]; /
2021-01-27 18:12:25
262
原创 2021-01-27
在这里插入代码片 ```#include <stdio.h> #include <stdlib.h> #include <stdbool.h> #include <Windows.h> #include <time.h> #include <conio.h> /*键盘输入获取*/ bool gameOver; bool stop = false; bool hit = false; /*游戏的边框大小*/ const int widt
2021-01-27 18:05:35
115
原创 选择排序
在这里插入代码片 ```#include<stdio.h> int main() { int n,j,i,t,s; int a[100]; scanf("%d",&n); for(i=0;i<n;i++){ scanf("%d",&a[i]); } for(i=0;i<n-1;i++){ t=i; for(j=i+1;j<n;j++){\\从已选好的后一位开始筛选\\ if(a[j]<a[t]){ t=j;\\找出最小的
2021-01-12 20:45:27
94
原创 结构 有理数加法
在这里插入代码片 ```结构 有理数加法 (15分) 本题要求编写程序,计算两个有理数的和。 输入格式: 输入在一行中按照a1/b1 a2/b2的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数。 输出格式: 在一行中按照a/b的格式输出两个有理数的和。注意必须是该有理数的最简分数形式,若分母为1,则只输出分子。 输入样例1: 1/3 1/6 输出样例1: 1/2 输入样例2: 4/3 2/3 输出样例2: 2`在这里插入代码片` #include <stdio.h&
2020-12-29 16:54:12
420
原创 结构 按等级统计学生成绩
在这里插入代码片 ```实验9-6-结构 按等级统计学生成绩 (20分) 本题要求实现一个根据学生成绩设置其等级,并统计不及格人数的简单函数。 函数接口定义: int set_grade( struct student *p, int n ); 其中p是指向学生信息的结构体数组的指针,该结构体的定义为: struct student{ int num; char name[20]; int score; char grade; }; n是数组元素个数。学号num、姓名na
2020-12-29 16:32:58
469
原创 -结构 通讯录排序
在这里插入代码片 ```实验9-8-结构 通讯录排序 (20分) 输入n个朋友的信息,包括姓名、生日、电话号码,本题要求编写程序,按照年龄从大到小的顺序依次输出通讯录。题目保证所有人的生日均不相同。 输入格式: 输入第一行给出正整数n(<10)。随后n行,每行按照“姓名 生日 电话号码”的格式给出一位朋友的信息,其中“姓名”是长度不超过10的英文字母组成的字符串,“生日”是yyyymmdd格式的日期,“电话号码”是不超过17位的数字及+、-组成的字符串。 输出格式: 按照年龄从大到小输出朋友的信息
2020-12-27 14:46:11
298
原创 结构 查找书籍
在这里插入代码片 ```实验9-5-结构 查找书籍 (20分) 给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和最低的书的名称和定价。 输入格式: 输入第一行给出正整数n(<10),随后给出n本书的信息。每本书在一行中给出书名,即长度不超过30的字符串,随后一行中给出正实数价格。题目保证没有同样价格的书。 输出格式: 在一行中按照“价格, 书名”的格式先后输出价格最高和最低的书。价格保留2位小数。 ```c 在这里插入代码片 ```#include<stdio.h>
2020-12-27 14:27:49
236
原创 结构 有理数比较
在这里插入代码片 ```实验9-9-结构 有理数比较 (10分) 本题要求编写程序,比较两个有理数的大小。 输入格式: 输入在一行中按照“a1/b1 a2/b2”的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数。 输出格式: 在一行中按照“a1/b1 关系符 a2/b2”的格式输出两个有理数的关系。其中“>”表示“大于”,“<”表示“小于”,“=”表示“等于”。 输入样例1: 1/2 3/4 输出样例1: 1/2 < 3/4 输入样例2: 6/8 3/4 输出样例
2020-12-27 14:01:43
672
原创 指针 判断回文字符串
在这里插入代码片 ```本题要求编写函数,判断给定的一串字符是否为“回文”。所谓“回文”是指顺读和倒读都一样的字符串。如“XYZYX”和“xyzzyx”都是回文。 函数接口定义: bool palindrome( char *s ); 函数palindrome判断输入字符串char *s是否为回文。若是则返回true,否则返回false。 裁判测试程序样例: #include <stdio.h> #include <string.h> #define MAXN 20 typed
2020-12-17 08:42:30
1202
原创 指针 查找子串
本题要求实现一个字符串查找的简单函数。 函数接口定义: char *search( char *s, char *t ); 函数search在字符串s中查找子串t,返回子串t在s中的首地址。若未找到,则返回NULL。 裁判测试程序样例: #include <stdio.h> #define MAXS 30 char *search(char *s, char *t); void ReadString( char s[] ); /* 裁判提供,细节不表 */ int main() {
2020-12-16 23:07:46
1042
1
原创 指针 指定位置输出字符串
在这里插入代码片 ```char *match( char *s, char ch1, char ch2 ) { int i=0;//记录指针移动的次数 while(*s!=ch1&&*s!='\0')//寻找开头字符 s=s+1; if(*s!='\0')//若找到开头字符 { for(*s;*s!='\0'&&*s!=ch2;s++)//指针从开头字符开始,输出字符直到找到结尾字符 { if(*s==ch2)//若找到结尾字符 break;
2020-12-16 22:27:36
437
原创 指针 查找星期
在这里插入代码片 ```int getindex(char* s) { { int i; char*p[7] = { "Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday" };//存入地址// for (i = 0; i < 7; i++) { if (strcmp(s, p[i]) == 0) {//判断是否是相等的//
2020-12-16 21:21:03
478
原创 字符串 字符串排序
在这里插入代码片 ```#include <stdio.h> #include <string.h> int main() { int i, j; char a[5][85],t[85]; for (i = 0; i < 5; i++) { scanf("%s", &a[i]); } for (i = 0; i < 4; i++) { for (j = 0; j < 5 - 1 - i; j++) { if (strcmp(a[j],
2020-12-14 21:45:29
108
原创 字符串 删除重复字符
在这里插入代码片 ```#include <stdio.h> #include <string.h>//用字符函数时记得要加头文件// int main() { char ch,a[100], b[100],t; int i,l=0 ,j, cnt = 0,k=0,flag=1; ch = getchar(); for (i = 0; ch != '\n'; i++) { a[i] = ch; l++; ch = getchar(); } for (i = 0
2020-12-14 18:37:23
144
原创 点赞
在这里插入代码片 ```#include <stdio.h> int main() { int n, a[10000] = { 0 }, max = 0, s = 0, f, t, i; scanf("%d", &n); while (n > 0) { scanf("%d", &t); for (i = 0; i < t; i++) { scanf("%d", &f); a[f]++; } n--; } for (i =
2020-12-14 17:59:48
145
原创 猴子选大王
在这里插入代码片 ```#include <stdio.h> int main() { int n,a[1000000], s=0, i; scanf("%d", &n); for (i = 0; i < n; i++) {//给每个人序号// a[i] = i + 1; } int d = n; while (d > 1) { for (i = 0; i < n; i++) { if (a[i] == 0) {//若[i]==0说明此人已
2020-12-14 17:43:19
74
原创 求一批整数中出现最多的个位数字
在这里插入代码片 ```#include <stdio.h> int main() { int max=0,c,d,n,a[10]={0},i,j; scanf("%d",&n); for(i=0;i<n;i++){ scanf("%d",&d); while(d>0){ c=d%10; d=d/10; a[c]++;//利用数组进行出现的数累加// } } for(i=0;i<10;i++){ if(a[i]>=
2020-12-12 12:49:50
121
原创 字符串 输出大写英文字母
在这里插入代码片 ```#include <stdio.h> int main() { char a[100], b[100]; int i, j, k, cnt = 0, flag; for (i = 0; (a[i] = getchar()) != '\n'; i++) { b[i] = a[i]; } a[i] = '\0';//数组最后要补个‘0’// for (i = 0; a[i] != '\0'; i++) { flag = 1;//控制程序的进入//i i
2020-12-09 17:54:21
577
原创 一维数组 组个最小数
在这里插入代码片 ```#include <stdio.h> int main() { int a[10],i,j; for(i=0;i<10;i++){ scanf("%d",&a[i]); } for(i=1;i<10;i++){ if(a[i]!=0){//输出第一个不为零的数// printf("%d",i); a[i]--; break; } } for(i=0;i<10;i++){ while(a[i]!=0){/
2020-12-09 17:03:30
192
原创 7-5 简化的插入排序 (15分)
在这里插入代码片 ````#include <stdio.h> int main() { int n, a[100], x, flag = 1, i; scanf("%d", &n); for (i = 0; i < n; i++) { scanf("%d", &a[i]); } scanf("%d", &x); for (i = 0; i < n; i++) { if (x <= a[i] && flag) {//
2020-12-08 22:45:37
802
原创 找鞍点
在这里插入代码片#include <stdio.h> int main() { int a[6][6],n, i, j,y=0,o=0,p,flag=0; scanf("%d", &n); for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { scanf("%d", &a[i][j]); } } if (n == 1) {\\特判\\ printf("0 0"); retur
2020-12-07 22:43:07
79
原创 使用函数输出一个整数的逆序数
#本题要求实现一个求整数的逆序数的简单函数。 函数接口定义: int reverse( int number ); 其中函数reverse须返回用户传入的整型number的逆序数。 裁判测试程序样例: #include <stdio.h> int reverse( int number ); int main() { int n; scanf("%d", &n); printf("%d\n", reverse(n)); return 0; } /* 你的代码将被嵌在这里 */ 输入样
2020-12-02 17:18:08
654
原创 单词加密解析
在这里插入代码片 ``# 7-1 单词加密解析 (15分) 输入一个英文单词(由六个小写英文字母组成),按照下列过程将该单词加密:先将英文单词中的小写字母转换为对应的大写字母,再将该大写字母的ASCII码对10整除后取其余数,从而得到一个六位整数密码。 输入格式: 输入在一行中给出1个由六个小写英文字母组成的英文单词。 输出格式: 按照规则转换成一个六位整数密码,并输出转换的过程。 输入样例: friday 输出样例: f->F->0 r->R->2 i->I->
2020-12-02 16:45:31
1299
2
原创 报数
在这里插入代码片 ****#include <stdio.h> #define MAXN 20 void CountOff( int n, int m, int out[] ); int main() { int out[MAXN], n, m; int i; scanf("%d %d", &n, &m); CountOff( n, m, out ); for ( i = 0; i < n; i++ ) p
2020-12-01 20:56:03
109
原创 统计一行文本的单词个数
在这里插入代码片 ``##本题目要求编写程序统计一行字符中单词的个数。 所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。 #include <stdio.h> int main() { char ch; int cnt=0,word=0;//即使第一次不是空格也能执行else if// ch=getchar(); while(ch!='\n'){ if(ch==' '){ word=0; }//选择执行// else if(word==0)
2020-12-01 18:07:41
2186
4
原创 一维数组 数组循环右移
在这里插入代码片 ```#include <stdio.h> #define MAXN 10 int ArrayShift( int a[], int n, int m ); int main() { int a[MAXN], n, m; int i; scanf("%d %d", &n, &m); for ( i = 0; i < n; i++ ) scanf("%d", &a[i]); ArrayShift(a,
2020-11-30 22:36:44
834
原创 使用函数验证哥德巴赫猜想
在这里插入代码片 ```#include <stdio.h> #include <math.h> int prime( int p ); void Goldbach( int n ); int main() { int m, n, i, cnt; scanf("%d %d", &m, &n); if ( prime(m) != 0 ) printf("%d is a prime number\n", m); if ( m <
2020-11-30 21:52:27
349
原创 使用函数输出指定范围内的Fibonacci数
```c 在这里插入代码片 ```#include <stdio.h> int fib( int n ); void PrintFN( int m, int n ); int main() { int m, n, t; scanf("%d %d %d", &m, &n, &t); printf("fib(%d) = %d\n", t, fib(t)); PrintFN(m, n); return 0; } /* 你的代码.
2020-11-30 17:45:45
355
原创 冒泡排序
在这里插入代码片 ```#include <stdio.h> int main() { int n,a[100],j,i,t; scanf("%d",&n); for(i=0;i<n;i++){ scanf("%d",&a[i]); } for(i=1;i<n-1;i++){ for(j=0;j<n-i;j++){ if(a[j]>a[j+1]){ t=a[j]; a[j]=a[j+1]; a[j+1]=t;
2020-11-30 13:11:26
88
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅