目录
1.输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。最后输出这10个整数。
4.有一个班,3个学生,各学4门课,计算总平均分以及输出第n个学生的成绩。
6.解密藏头诗,如“一叶轻舟向东流,帆梢轻握杨柳手,风纤碧波微起舞,顺水任从雅客悠”
1.输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。最后输出这10个整数。
#include<stdio.h>
int main()
{
int a[10];
int *p;
p=a;
int *min,*max;
int i,t;
max=a;min=a;
for(i=1;i<10;i++)
scanf("%d",p++);
{
if(*max<*p)
max=p;
if(*min>*p)
min=p;}
t=*max;*max=a[9];a[9]=t;
t=*min;*min=a[0];a[0]=t;
for(p=a;p<a+10;p++)
printf("%d",*p);
}
2.两个变量交换
#include<stdio.h>
void swap(int *pa,int *pb);
int main()
{
int a;
int b;
scanf("%d%d",&a,&b);
swap(&a,&b);
printf("a=%d,b=%d",a,b);
return 0;
}
void swap(int *pa,int *pb)
{
int t=*pa;*pa=*pb;*pb=t;
}
3.用指针变量输出a[3][4]中的每一个元素
#include<stdio.h>
int main()
{
int *p;
int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
int i,j;
for(p=a[0];p<a[0]+12;p++)
{
if((p-a[0])%4==0)
printf("\n");
printf("%-4d",*p);}
return 0;}
4.有一个班,3个学生,各学4门课,计算总平均分以及输出第n个学生的成绩。
#include<stdio.h>
int main(){
int a[3][4] ={65,55,23,57,52,67,63,80,90,42,75,92};
int (*p)[4]=a;
int i,j;
float ave,s=0;
for(i=0;i<3;i++){
for(j=0;j<4;j++)
s+=*(*(p+i)+j);
}
ave=s/12;
printf("平均分:%f\n",ave);
int n;
scanf("%d",&n);
for(j=0;j<4;j++)
printf("%d ",*(*(p+(n-1))+j));
return 0;
}
5.判断输入的字符串是否为回文
#include<stdio.h>
#include<string.h>
int main()
{
char a[100];
char *p1=a,*p2=a;
gets(a);
p1=a;p2=a+strlen(a)-1;
while(p1<=p2&&*p1==*p2)
{
p1++;
p2--;
}
if(p1<=p2)
printf("No");
else
printf("Yes");
return 0;}
6.解密藏头诗,如“一叶轻舟向东流,帆梢轻握杨柳手,风纤碧波微起舞,顺水任从雅客悠”
#include<stdio.h>
int main()
{
char *p[4]={"一叶轻舟向东流","帆梢轻握杨柳手","风纤碧波微起舞","顺水任从雅客悠"};
char a[10];
int i;
for(i=0;i<4;i++)
{
a[i*2]=*(p[i]);
a[i*2+1]=*(p[i]+1);
}
a[2*i]='\0';
printf("%s",a);
return 0;}