算法01 C语言设计
8.21
#include <stdio.h>
void bubbleSort(int **p, int n);
int main(void){
int a[100];
int *b[100];
int n, i, **p;
printf("Input your n(n < 100)\n");
scanf("%d", &n);
printf("Input your a[n]\n");
for(i = 0; i < n; i++)
scanf("%d", a + i);
for(i = 0; i < n; i++)
b[i] = a + i;
p = b;
bubbleSort(p, n);
for(i = 0; i < n; i++)
printf("%d ", *b[i]);
printf("\n");
return 0;
}
void bubbleSort(int **p, int n){
int i, j, flag = 1;
int *temp;
for(i = 0; flag; i++){
flag = 0;
for(j = n - 1; j > i; j--){
flag = 1;
if(**(p + i) > **(p + j)){
temp = *(p + i);
*(p + i) = *(p + j);
*(p + j) = temp;
}
}
}
}
8.20
#include <stdio.h>
#include <string.h> void selectionSort(char **p); int main(void)
{
char a[5][30], *b[5], **p;
int i; for(i = 0; i < 5; i++)
b[i] = a[i];
for(i = 0; i < 5; i++)
scanf("%s", b[i]);
p = b;
selectionSort(p);
printf("\n");
for(i = 0; i < 5; i++)
printf("%s\n", b[i]);
return 0;
} void selectionSort(char **p)
{
int i, j, minj, n = 5;
char *temp; for(i = 0; i < n - 1; i++)
{
minj = i;
for(j = i; j < n; j++)
{
if(strcmp(*(p + j), *(p + minj)) < 0)
minj = j;
}
temp = *(p + i);
*(p + i) = *(p + minj);
*(p + minj) = temp;
} }
8.16
#include <stdio.h> int getnum(char str[], int a[]); int main(void)
{
char str[] = {}, *pstr;
int a[] = {}, total, *p, i;
p = a;
pstr = str;
printf("Input your string\n");
gets(pstr);
total = getnum(str, a);
for(i = ; a[i] != '\0'; i++)
printf("%d ", a[i]);
printf("total = %d\n", total);
return ;
} int getnum(char str[], int a[])
{
int count = , temp = ;
int i = , j = , k = , m = , e10;
char *p;
int *pa;
p = str;
pa = a;
while(*(p + i) != '\0')
{
if((*(p + i) >= '') && (*(p + i) <= ''))
{
j++;
}
else
{
if(j > )
{
temp = *(p + i -) - '';
k = ;
while(k < j)
{
e10 = ;
for(m = ; m <= k; m++)
e10 = e10 * ;
temp = temp + (*(p + i - - k) - '') * e10;
k++;
printf("2th while e10 temp = %d\n", temp);
} //while
*pa = temp;
printf("pa++ = %d\n", *pa);
pa++;
j = ;
count++;
} //if
} //else
i++;
} // while if(j > )
{
temp = *(p + i -) - '';
k = ;
while(k < j)
{
e10 = ;
for(m = ; m <= k; m++)
e10 = e10 * ;
temp = temp + (*(p + i - - k) - '') * e10;
k++;
printf("2th while e10 temp = %d\n", temp);
} //while
*pa = temp;
printf("pa++ = %d\n", *pa);
j = ;
pa++;
count++;
} //if
*pa = '\0';
return count;
}
算法01 C语言设计的更多相关文章
- 【算法】C语言趣味程序设计编程百例精解
C语言趣味程序设计编程百例精解 C/C++语言经典.实用.趣味程序设计编程百例精解(1) https://wenku.baidu.com/view/b9f683c08bd63186bcebbc3c. ...
- 【一月一本技术书】-【Go语言设计与实现】- 9月
Go : 2009.11.10 代表作:Docker.k8s.etcd 模仿C语言,目标:互联网的C语言 讲的晦涩难懂....硬板..放弃了好几次才读完.满分10分,打6分. 下个月:Python数据 ...
- SQL Server 进阶 01 数据库的设计
SQL Server 进阶 01 数据库的设计 本篇目录 课程内容回顾及介绍 为什么需要规范的数据库设计 设计数据库的步骤 绘制E-R(实体-关系)图 实体-关系模型 如何将E-R图转换为表 数据规范 ...
- 数据结构算法集---C++语言实现
//数据结构算法集---C++语言实现 //各种类都使用模版设计,可以对各种数据类型操作(整形,字符,浮点) /////////////////////////// // // // 堆栈数据结构 s ...
- PID算法(c 语言)(转)
PID算法(c 语言)(来自老外) #include <stdio.h> #include<math.h> //定义PID 的结构体 struct _pid { int pv; ...
- 01 C语言程序设计--01 C语言基础--第1章 C语言概述&第2章 GCC和GDB
走进嵌入式开发的世界,企业级项目课程让你达到企业嵌入式应用开发要求.名师在线答疑,解决疑难.科学评测体系,系统评估学习.核心项目实........ 30 门课程 241小时12分钟 824 人学习 学 ...
- 20155206赵飞 基于《Arm试验箱的国密算法应用》课程设计个人报告
20155206赵飞 基于<Arm试验箱的国密算法应用>课程设计个人报告 课程设计中承担的任务 完成试验箱测试功能1,2,3 . 1:LED闪烁实验 一.实验目的 学习GPIO原理 ...
- 【转载】常见十大经典排序算法及C语言实现【附动图图解】
原文链接:https://www.cnblogs.com/onepixel/p/7674659.html 注意: 原文中的算法实现都是基于JS,本文全部修改为C实现,并且统一排序接口,另外增加了一些描 ...
- 01. Go 语言简介
Go语言简介 引用原文地址:http://m.biancheng.net/golang/ Go语言也称 Golang,兼具效率.性能.安全.健壮等特性.这套Go语言教程(Golang教程)通俗易懂,深 ...
随机推荐
- Vue.js-05:第五章 - 计算属性与监听器
一.前言 在 Vue 中,我们可以很方便的将数据使用插值表达式( Mustache 语法)的方式渲染到页面元素中,但是插值表达式的设计初衷是用于简单运算,即我们不应该对差值做过多的操作.当我们需要对差 ...
- VS2017 无法连接到Web服务器“IIS Express”终极解决方案
今天日了gou了,一大早打开VS2017的时候出现无法连接到Web服务器"IIS Express"的错误,然后必应了一下,再谷歌了一下找到的解决方法也都千篇一律,奈何都没能解决,最 ...
- LogUtil【实现自由的控制日志的打印的封装类】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 主要用于控制项目开发和上线阶段日志的打印. 效果图 暂不需要. 代码分析 在LogUtil类中声明代表不同日志级别的常量值(VERB ...
- 警惕挂着开源的招牌到处坑蒙拐骗的垃圾项目,比如iBase4J
开源界,本是技术爱好者百花齐放.各显其能的地方.但是,不管什么好东西,到了这块奇葩的土地都能变了味.现在的开源界,真的是鱼龙混杂,有些开源软件,不知道是噱头喊得高,还是star刷得好,竟能凭借一身垃圾 ...
- 把ABP框架部署到Docker中
本文旨在将Abp项目部署到Docker容器中,借助Gitee存储,Jenkins持续构建,利用Docker Compose生成镜像.启动镜像,在官网给定的Abp项目中,虽然用到了Dockerfile. ...
- LVS(五)LVS的持久连接
什么是持久链接 把某个客户端的请求始终定向到同一应用服务器上.对于LVS来说持久连接和算法没有关系.也就是使用任何算法LVS都可以实现同一客户端的请求转发到之前选定的应用服务器,以保持会话.而且还能实 ...
- 强化学习(二)马尔科夫决策过程(MDP)
在强化学习(一)模型基础中,我们讲到了强化学习模型的8个基本要素.但是仅凭这些要素还是无法使用强化学习来帮助我们解决问题的, 在讲到模型训练前,模型的简化也很重要,这一篇主要就是讲如何利用马尔科夫决策 ...
- @vue-cli3创建项目报错:ERROR command failed: npm install --loglevel error --registry=https://registry.npm.taobao.org --di
使用@vue-cli3时 在你感觉所以配置都搞好开始创建项目时,不停的报错,就是创建不成功 清npm缓存也不行 改淘宝镜像也不行 就快奔溃了,最后最终(其实我在凑150字,为了能发到首页给更多采坑的兄 ...
- [深度概念]·K-Fold 交叉验证 (Cross-Validation)的理解与应用
K-Fold 交叉验证 (Cross-Validation)的理解与应用 我的网站 1.K-Fold 交叉验证概念 在机器学习建模过程中,通行的做法通常是将数据分为训练集和测试集.测试集是与训练独立的 ...
- pm2通过配置文件部署nodejs代码到服务器
一.pm2文档地址: http://pm2.keymetrics.io/ 二.在本地项目下新建ecosystem.config.js文件,并且推送到远端(记得node_modules这个文件夹也得推送 ...