算法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教程)通俗易懂,深 ...
随机推荐
- 蓝牙协议中的SBC编解码原理和仿真
一.SBC的原理 SBC是subband codec的缩写,中文叫做次频带编码,也叫子带编码.其基本原理是把信号的频率分为若干子带,然后对每个子带进行编码,并根据每个子带的重要性及特点分配不同的位数( ...
- zsh: command not found: conda的一种解决方法
通过conda —version来验证conda命令是否可用,若出现下图 则需要修改.zshrc,如下: 第一步: 第二步: 注意,1:/Users/mac/是anaconda的安装路径,须根据自己情 ...
- springboot的war和jar包
本篇和大家分享的是通过maven对springboot中打war包和jar包:war通常来说生成后直接放到tomcat的webapps下面就行,tomcat配置自动解压war,而jar一般通过命令行部 ...
- 【Android Studio安装部署系列】二、Android Studio开发环境搭建
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 Android Studio开发环境安装步骤 下载Android Studio 下载地址: http://www.wanandroi ...
- java内存溢出的情况解决方法
内存溢出虽然很棘手,但也有相应的解决办法,可以按照从易到难,一步步的解决. 第一步,就是修改JVM启动参数,直接增加内存.这一点看上去似乎很简单,但很容易被忽略.JVM默认可以使用的内存为64M,To ...
- 你觉得 .NET 性能低,可能只是因为你的能力低
by Conmajia 本文由以下大佬赞助 加入赞助者行列 {{ sponsor.name }} 感恩,你们的赞助让我在抓耳挠腮写文章时不至于断了香烟. var s = [{ name: '◎梦想起航 ...
- IOS多态在项目中的应用
今天我们讲述一个知识点(大家可能遗漏的) 多态是面试程序设计(OOP)一个重要特征,但在iOS中,可能比较少的人会留意这个特征,实际上在开发中我们可能已经不经意的使用了多态.比如说: 有一个table ...
- .Net Linq与Lambda表达式中GroupBy以多个字段分组
一.引入 基本上熟悉C#语言的没有不知道Lambda表达式的,其对于数据的处理真的是太方便了.其中分组处理的GroupBy方法在List中的使用非常广泛.正式近期一个功能需求中又遇到了,而且是需要Gr ...
- 硬杠后端(后端坑系列)——Django前期工作
Django是一个开放源代码的Web应用框架,由Python写成,采用了MVC的框架模式. MVC MVC是一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个部件 ...
- 前端页面基于JQuery的点击事件
一,使用id选择器 1.方式一 $("#id").click(function(){ do something }) 2.方式二 $("#id").on(&qu ...