一、实验题目:
-
编写一个函数,找出一个数组中的最大值和最小值,并返回它们在数组中的位置。测试这个函数。
-
编写一个函数删除字符串中的空格。测试这个函数。
-
读入10个字符串,对字符串进行排序,输出排好序的字符串。
-
请使用指针的方法编写程序,程序的功能是从键盘输入10个数,求其最大值和最小值的差。
二、实验代码:
1
#include<stdio.h>
void maxmin(int* c,int* d,int x);
int main()
{
int n,i;
printf("输入数组长度:");
scanf("%d",&n);
int a[n];
int b[2];
printf("输入数:\n");
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
maxmin(a,b,n);
printf("最大的下标是%d,最小的下标是%d。\n",b[0],b[1]);
return 0;
}
void maxmin(int* c,int* d,int x){
int max,min,i;
max=min=0;
for(i=1;i<x;i++){
if(c[i]<c[min]){
min=i;
}
if(c[i]>c[max]){
max=i;
}
d[0]=max;
d[1]=min;
}
}
2
#include<stdio.h>
void shan(char*b);
int main()
{
char a[80];
gets(a);
shan(a);
puts(a);
return 0;
}
void shan(char*b){
int i,m;
char c[80];
m=0;
for(i=0;b[i]!='\0';i++){
if(b[i]!=' '){
c[m]=b[i];
m++;
}
}
c[m]='\0';
for(i=0;i<80;i++){
b[i]=c[i];
}
}
3
#include<stdio.h>
#include<string.h>
int main()
{
int i,min,m;
char a[10][80];
char b[80];
for(i=0;i<10;i++){
gets(a[i]);
}
for(i=0;i<10;i++){
min=i;
for(m=i+1;m<10;m++){
if((strcmp(a[m],a[min]))<0){
min=m;
}
strcpy(b,a[min]);
strcpy(a[min],a[i]);
strcpy(a[i],b);
}
}
for(i=0;i<10;i++){
puts(a[i]);
}
return 0;
}
4
#include<stdio.h>
int main()
{
int max,min,i;
int a[10];
for(i=0;i<10;i++){
scanf("%d",&a[i]);
}
max=min=0;
for(i=1;i<10;i++){
if(a[i]<a[min]){
min=i;
}
if(a[i]>a[max]){
max=i;
}
}
printf("%d-%d=%d\n",a[max],a[min],a[max]-a[min]);
return 0;
}