杭州专业网站制作谷歌seo是什么意思
目录
1、计算学生平均身高
2、使用指针实现数据交换
3、使用指针实现整数排序
5、使用指针输出数据元素
6、使用指针查找数组中的最大值和最小值。
7、使用指针连接两个字符串
8、用指针数组构造字符串数组
9、使用指针的指针输出字符串
10、找出最高分
1、计算学生平均身高
输入学生数并逐个输入学生的身高,输出身高的平均值。
#include<stdio.h>
float average(float arry[],int n);
int main()
{float average(float arry[],int n);float height[100],aver;int i,n;printf("请输入学生的数量:\n");scanf("%d",&n);printf("请输入学生们的身高:\n");for(i=0;i<n;i++)scanf("%f",&height[i]);printf("\n");aver=average(height,n);printf("学生的平均身高为:%6.2f\n",aver);return 0;} float average(float array[],int n){int i;float aver,sum=0;for(i=0;i<n;i++)sum+=array[i];aver=sum/n;return(aver);}
运行结果
2、使用指针实现数据交换
输入两个整型数值,将变量a,b中的值交换,然后输出道窗体上。
#include<stdio.h>
int swap(int *p1, int *p2);
int main()
{int a,b;int *pointer1, *pointer2;scanf("%d%d",&a,&b);pointer1 = &a;pointer2 = &b;swap(pointer1, pointer2);printf("\nThe result is :%d,%d\n",a,b);return 0;
}
swap(int *p1,int *p2)
{int temp;temp = *p1;*p1 = *p2;*p2 = temp;
}
运行结果
3、使用指针实现整数排序
输入三个整数,将这三个整数按照由大到小的顺序输出,显示在屏幕上。
#include<stdio.h>
int swap(int *p1,int *p2);
int exchange(int *pt1,int *pt2,int *pt3);
int main()
{int a,b,c,*q1,*q2,*q3;puts("Please input three key numbers you want to rank:");scanf("%d,%d,%d",&a,&b,&c);q1 = &a;q2 = &b;q3 = &c;exchange(q1,q2,q3);printf("\n%d,%d,%d\n",a,b,c);puts("\n Press any key to quit...");return 0;
}
swap(int *p1,int *p2)
{int temp;temp = *p1;*p1 = *p2;*p2 = temp;
}
exchange(int *pt1,int *pt2,int *pt3)
{if(*pt1<*pt2)swap(pt1,pt2);if(*pt1<*pt3)swap(pt1,pt3);if(*pt2<*pt3)swap(pt2,pt3);}
运行结果
4、指向结构体变量的指针
通过指向结构体指针变量实现在窗体上显示学生的信息。
#include<stdio.h>
struct student
{int num;char name[20];char sex;int age;float score;
};
int main()
{struct student student1={1001,"李xx",'M',25,90.3};struct student *p;p = &student1;printf("Numbers:%d\n",p->num);printf("Name:%s\n",p->name);printf("Sex:%c\n",p->sex);printf("Age:%d\n",p->age);printf("Score:%5.1f\n",p->score);
}
运行结果
5、使用指针输出数据元素
通过指针变量输出数组的各元素值,程序运行后,输入10个数字后,可以看到输出的数组元素值。
#include<stdio.h>
int main()
{int *p,a[10],i;p=&a[0];printf("请输入10个数字:\n");for(i=0;i<10;i++){scanf("%d",&a[i]);}printf("数组中的元素为:\n");for(i=0;i<10;i++){printf("%d",*(p+i));}printf("\n");
}
运行结果
6、使用指针查找数组中的最大值和最小值。
输入10整型数,自动查找数组中的最大值和最小值,并显示在窗体上。
#include<stdio.h>
int max_min(int a[],int n,int *max,int *min);
int main()
{int i,a[10];int max,min;printf("Input 10 int eger numbers you want to operate:\n");for(i=0;i<10;i++){scanf("%d",&a[i]);}max_min(a,10,&max,&min);printf("\nThe maximun number is:%d\n",max);printf("The minimun number is :%d\n",min);
}
int max_min(int a[],int n,int *max,int *min)
{int *p;*max = *min = *a;for(p=a+1;p<a+n;p++)if(*p>*max){*max =*p;}else if(*p<*min){*min = *p;}return 0;}
运行结果
7、使用指针连接两个字符串
要求实现将两个已知的字符串连接,放到另外一个字符串数组中,并将连接后的字符串输出到屏幕上。
#include<stdio.h>
#define N 20
char *MyStrcat(char *dstStr,char *srcStr)
{char *pStr = dstStr;while(*dstStr !='\0'){dstStr++;}for(;*srcStr!='\0';dstStr++,srcStr++){*dstStr = *srcStr;}*dstStr = '\0';return pStr;
}
int main()
{char first[2*N];char second[N];char *result = NULL;printf("输入第一组:");gets(first);printf("输入第二组:");gets(second);result = MyStrcat(first,second);printf("结果:%s\n",result);return 0;
}
运行结果
8、用指针数组构造字符串数组
要求实现输入一个星期中对应的第几天,可显示其英文写法。如,输入‘4’,则显示星期四对应的英文名。
#include<stdio.h>
int main()
{char *Week[]={"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"};int i;printf("Please enter a number for week\n");scanf("%d",&i);printf("The week is :");printf("%s\n",Week[i-1]);return 0;
}
运行结果
9、使用指针的指针输出字符串
首先使用指针数组创建一个字符串数组,然后定义指向指针的指针,使其指向字符串数组,并使用其将数组中字符串输出。
#include<stdio.h>
int main()
{char *strings[]={"赵xx","钱xx","孙xx","李xx","周xx"};char **p,i;p=strings;printf("%s\n",strings[0]);for(i=0;i<5;i++){printf("%s\n",*(p+i));}return 0;
}
运行结果
10、找出最高分
通过结构体变量记录学生成绩,比较得到记录中的最高成绩,输出该学生的信息。
#include<stdio.h>
struct student
{int num;char name[20];float score;
};
int main()
{int i,m;float maxscore;struct student stu[5]={{101,"李明",89},{102,"苑达",95},{103,"孙佳",89},{104,"王子川",85},{105,"刘春月",75}, };m=0;maxscore = stu[0].score;for(i=1;i<5;i++){if(stu[i].score>maxscore){maxscore = stu[i].score;m=i;}} printf("最高分是:%5.1f\n",maxscore);printf("最高分学生的学号是:%d\n",stu[m].num);printf("最高分学生的姓名是:%s\n",stu[m].name);
}
运行结果