C语言课本实例

1. 将一维数组的内容倒顺

#include <stdio.h>
void func(int *s,int n)
{
int i,temp;
for(i=0;i<n/2;i++)
{
temp=s[i];
s[i]=s[n-1-i];
s[n-1-i]=temp;
}
}
void main()
{
int i,a[10];
for(i=0;i<10;i++)
a[i]=i;
func(a,10);
for(i=0;i<10;i++)
printf("%d\n",a[i]);
}

2. 数组遍历

#include <stdio.h>
#define N 5
int search(int *s,int x)//s[N]
{
int i;
for(i=0;i<N;i++) if(s[i]==x) break;
if(i<N) return 1;
else return 0;
}
void main()
{
int a[N],i,e;
printf("Enter the array:\n");
for(i=0;i<N;i++) scanf("%d",&a[i]);
printf("Enter the Element:\n");
scanf("%d",&e);
if(search(a,e)==1) printf("The element %d exists in the array.\n",e);
else printf("Can not find the element %d.\n",e);
}

3. 用选择法对数组排序

#include <stdio.h>
#define N 6
void sele_sort(int *s,int n)
{
int i,j,p,t;
for(i=0;i<1;i++)
{
p=i;
for(j=i+1;j<n;j++)
if(s[j]<s[p])
p=j;
t=s[p];
s[p]=s[i];
s[i]=t;
}
}
void main()
{
int a[N],i;
printf("Enter the array:\n");
for(i=0;i<N;i++) scanf("%d",&a[i]);
sele_sort(a,N);
printf("The sorted array:\n");
for(i=0;i<6;i++) printf("%d ",a[i]);
printf("\n");
}

4.

时间: 2024-08-25 21:58:13

C语言课本实例的相关文章

C语言优化实例:消除多级指针的间接访问

如果一个多层次的数据结构达到两级或者两级以上,举例如下: struct A{ int array_member[100]; //其他数据成员 }; struct B{ struct A *a_ptr; //其他数据成员 } 那么通过B类型的指针b_ptr访问A类型的array_member的某一个元素array_member[0]则需要使用b_ptr->a_ptr->array_member[0]这种多级指针的形式.如果一个函数中多次用到这个变量的话,可以采用一个临时变量保存这个多级指针:in

C语言优化实例:循环中减少判断

为了让编译器更好地优化循环,应该尽量让循环中减少判断,方法之一是将判断语句整合进表达式.还是这个例子: for (int i = 0; i < 1000*10; i++) { sum += data[i/1000][i%10]; } 假如我们需要加一个判断,只有非负整数才需要作求和运算: for (int i = 0; i < 1000*10; i++) { if (data[i/1000][i%10] >= 0) sum += data[i/1000][i%10]; } 下面将这个判断

Linux汇编GAS调用C语言函数实例

Blum的书上只讲了C语言调用汇编,没讲汇编调用C语言.我自己尝试了下. 最终试验成功了,在此写出与大家分享.期间历经无数错误,无数异常,我不是醉了,而是跪了...好在最后好了. 程序实现一个换值功能,在main.s里定义a=10,b=20,然后调用C语言函数把a,b换值. 新建两个文件分别为main.s的汇编文件,还有pro.c的C语言函数文件. main.s的代码如下: .section .data a: .int 10 b: .int 20 .section .text .globl ma

R语言假设检验实例整理

一.正态分布参数检验 例1. 某种原件的寿命X(以小时计)服从正态分布N(μ, σ)其中μ, σ2均未知.现测得16只元件的寿命如下: 159 280 101 212 224 379 179 264                  222 362 168 250 149 260 485 170 问是否有理由认为元件的平均寿命大于255小时? 解:按题意,需检验 H0: μ ≤ 225     H1: μ >  225 此问题属于单边检验问题 可以使用R语言t.test t.test(x,y=N

在Golang中使用C语言代码实例

转自:http://www.jb51.net/article/56720.htm cgo 使得在 Golang 中可以使用 C 代码. Hello World 为了有一个较为直观的了解,我们来看一个简单的例子,创建文件 main.go: package main /* #include <stdio.h> void sayHi() { printf("Hi"); } */ import "C" func main() { C.sayHi() } 执行程序

C语言链表实例--玩转链表

下图为最一简单链表的示意图: 第 0 个结点称为头结点,它存放有第一个结点的首地址,它没有数据,只是一个指针变量.以下的每个结点都分为两个域,一个是数据域,存放各种实际的数据,如学号 num,姓名 name,性别 sex 和成绩 score 等.另一个域为指针域,存放下一结点的首地址.链表中的每一个结点都是同一种结构类型. 指针域: 即在结点结构中定义一个成员项用来存放下一结点的首地址,这个用于存放地址的成员,常把它称为指针域. 在第一个结点的指针域内存入第二个结点的首地址,在第二个结点的指针域

R语言画图实例-参考R语言实战

1 dose <- c(20, 30, 40, 45,60) 2 drugA <- c(16, 20, 27, 40, 60) 3 drugB <- c(15, 18, 25, 31, 40) # 数据准备 4 5 opar <- par(no.readonly=T) # 保存画图环境 6 7 par(lwd=2, cex=1.5, font.lab=2) # 设置画图环境 8 plot(dose, drugA, type="b", pch=15, lty=1,

从语言学习实例第二天(简单小程序)

计算三角形面积 没有考虑构不成三角形 考虑完全 另外自我解惑 %f是用于格式化输入输出函数,对应类型为float的格式字符.加数字的情况仅适用于输出函数,比如printf. 其形式为 printf("%a.bf", var); 其中a,b为常数. 含义为: 1 a, 代表输出占|a|(a的绝对值)个字节的宽度,当实际宽度超过a时,按实际宽度输出,否则输出a个字节,不足部分补空格.  如果a为正数,输出的有效数字在右侧,左侧补空格. 如果a为负数,输出的有效数字在左侧,右侧补空格. 2 

C语言指针实例练习

例1:输入a和b两个整数,按先后大小的顺序输出a和b的值. 1 #include <stdio.h> 2 int main() 3 { 4 int *p1,*p2,*p,a,b; 5 printf("请输入两个整数:"); 6 scanf("%d,%d",&a,&b);//输入数字时一定要使用英文状态下的逗号, 7 p1=&a; 8 p2=&b; 9 if(a<b) 10 { 11 p=p1; 12 p1=p2; 1