实验四

Posted a201883300049

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实验四相关的知识,希望对你有一定的参考价值。

Part1

#include <stdio.h>
int main() {
double a[5] = {1.0,2.0,3.0,4.0,5.0};
int i;
for(i=0; i<5; i++)
printf("%d: %lf\\n", &a[i], a[i]);
return 0;
}

技术图片

#include <stdio.h>
int main() {
char a[5] = {h,e,l,l,o}; 
int i;
for(i=0; i<5; i++)
printf("%d: %c\\n", &a[i], a[i]); 
return 0;
}

技术图片

元素字节与数组类型相关,定义为char类型每个元素1字节 double类型为8字节 int类型为4字节,存放连续。

Part2

#include <stdio.h>                                 
int main() {
int a[5];    
a[0] = 1;   
a[1] = 9;
a[2] = 8;
a[3] = 6;
a[4] = 0;
printf("a[0] = %d\\n", a[0]);
printf("a[1] = %d\\n", a[1]);
printf("a[2] = %d\\n", a[2]);
printf("a[3] = %d\\n", a[3]);
printf("a[4] = %d\\n", a[4]);
 return 0;}

当对所有数组元素初始化的时候,可以省略数组大小,

利用数组下标的变化特性,使用循环,使得输出数组元素的代码更简洁。

sizeof是c语言中的运算符,用于计算数据占用的字节数。表达式sizeof(a) / sizeof(a[0])用于计算数 组元素的个数。

c语言支持在对数组初始化时,只初始化一部分元素。这种情形下,剩余没有被初始化的元素值,系统自动 设为0。

Part3

#include <stdio.h>
const int N=5; 
void init(int a[],int n, int value);  
int main() {
int b[N],i;
init(b,N,-1);  
for(i=0;i<N;i++)
printf("%3d",b[i]);
return 0;
}
void init(int a[], int n, int value) {
int i;
for(i=0;i<n;i++)
a[i] = value;
}

 

技术图片

Part4技术图片

#include <stdio.h> 
const int N=5; 
void bubbleSort( int [], int); 
int main() {
int i,a[N];    
printf("请输入%d个整型数据: \\n", N);
for(i=0; i<N; i++)
scanf("%d",&a[i]); 
printf("排序前的数据: \\n");
for(i=0; i<N; i++)  
printf("%d ",a[i]); 
printf("\\n"); 
bubbleSort(a,N);
printf("排序后的数据: \\n"); 
for(i=0; i<N; i++)
printf("%d ",a[i]);
printf("\\n");
return 0; 
}
void bubbleSort( int 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;
}
}
}
}

Part5

#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=a[0];
for(i=0;i<N;i++)
{
if(a[i]>max)
max=a[i];
}
return max;
}技术图片

 

 

#include <stdio.h>
const int N=4;
void output(char x[], int n);    
void rank(char x[]) ;
int main() {
char string[N] = {2,0,1,9};
int i;    
printf("排序前: \\n");
output(string, N);
rank(string);
printf("\\n排序后: \\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 rank(char x[])
{
int num,i,j;
char t;
num=sizeof(x)/sizeof(char);
for(j=0;j<num-1;j++)
for(i=0;i<num-j-1;i++)
if(x[i]<x[i+1])
{
t=x[i];
x[i]=x[i+1];
x[i+1]=t;
}
}

技术图片

过程中问题很大 借鉴了很多,需要努力

以上是关于实验四的主要内容,如果未能解决你的问题,请参考以下文章

实验代码审查

实验代码审查

验证码逆向专栏极验三代四代点选类验证码逆向分析

验证码逆向专栏某验四代文字点选验证码逆向分析

实验四 代码审查

实验四 代码审查