实验四
在第一个代码运行结果中,一个数字占用四个字节,且连续的数字所在的地址也是连续的。不难发现,数据元素在数组内存中是连续存放的。
sizeof:计算数据类型在储存空间中占用字节数的预算符。
sizeof(a)计算数组a占用的总的字节数
sizeof(a[0])计算数组元素a[0]占用的字节数
// 功能描述:输入一组整数,输出最大值 #include <stdio.h> int findMax(int a[], int N); const int N=5; int main() { int a[N]; int max, i; printf("输入%d个整数: \n", N); for(i=0;i<N;i++) scanf("%d",&a[i]) ; max=findMax(a,N); printf("数组a中最大元素值为: %d\n\n", max); return 0; } int findMax(int a[],int n){ int i,max; max=0; for(i=0;i<n;i++){ if(a[max]<a[i]) a[max]=a[i]; else a[max]=a[max]; } return a[max]; }
#include <stdio.h> const int N=4; void output(char x[], int n); void outputt(char x[],int n); int main() { char string[N] = {'2','0','1','9'}; int i,j; printf("排序前: \n"); output(string, N); printf("\n排序后: \n"); outputt(string,N); output(string, N); printf("\n"); return 0; } void output(char x[], int n) { int i; for(i=0; i<N; i++) printf("%c", x[i]); }
void outputt(char x[],int n){
int i,j,t;
for(i=0;i<n-1;i++){
for(j=0;j<n-1-i;j++){
if(x[j]<x[j+1]){
t=x[j];
x[j]=x[j+1];
x[j+1]=t;
}
}
}
}
实验中踩过的坑,对冒泡法函数中,for语句需要加函数范围的括号,否则输出中会有乱码。
评论的三位同学地址:
https://www.cnblogs.com/Bnuikl/p/10770153.html
https://www.cnblogs.com/sfyq/p/10771283.html
https://www.cnblogs.com/txaalo/p/10771286.html