求大佬帮忙看一下c语言,运行会被停止,结果也有问题 20
求大佬帮忙看一下c语言,运行会被停止,结果也有问题#include<stdio.h>main(){chara[100],*p=a;for(;;p++){scanf("%c...
求大佬帮忙看一下c语言,运行会被停止,结果也有问题#include <stdio.h>
main()
{
char a[100],*p=a;
for(;;p++)
{scanf("%c",p);
if(*p=='\n')
break;}
for(;p>=a;p--)
printf("%c",*p);printf("\n");
return 0;
}#include <stdio.h>
main()
{
int a[10],*p=a,i,j,max,min,t;
for(i=0;i<10;i++)
scanf("%d",(p+i));
for(i=0;i<10;i++)
if(max<*(p+i))
max=*(p+i);
for(j=0;j<10;j++)
if(min>*(p+i))
min=*(p+i);
*(p+i)=*(p+9);
*(p+9)=max;
*(p+j)=*p;
*p=min;
for(i=0;i<10;i++)
printf("%d\t",*(p+i));
return 0;
} 展开
main()
{
char a[100],*p=a;
for(;;p++)
{scanf("%c",p);
if(*p=='\n')
break;}
for(;p>=a;p--)
printf("%c",*p);printf("\n");
return 0;
}#include <stdio.h>
main()
{
int a[10],*p=a,i,j,max,min,t;
for(i=0;i<10;i++)
scanf("%d",(p+i));
for(i=0;i<10;i++)
if(max<*(p+i))
max=*(p+i);
for(j=0;j<10;j++)
if(min>*(p+i))
min=*(p+i);
*(p+i)=*(p+9);
*(p+9)=max;
*(p+j)=*p;
*p=min;
for(i=0;i<10;i++)
printf("%d\t",*(p+i));
return 0;
} 展开
1个回答
展开全部
第一个 输入一行字符, 并反序输出.
#include <stdio.h>
main()
{
char a[100],*p=a;
for(;;p++)
{scanf("%c",p);
if(*p=='\n')
break;}
for(p--;p>=a;p--)//不然会多打印出一个换行
printf("%c",*p);printf("\n");
return 0;
}
第二个 输入十个数,找出最大和最小值, 最小值和第一个数交换, 最大值和最后一个数交换.
#include <stdio.h>
main()
{
int a[10],*p=a,i,j,max,min,t;
for(i=0;i<10;i++)
scanf("%d",(p+i));
max=min=0;//初始化max和min, 要交换 应该记录下标.
for(i=0;i<10;i++)
if(*(p+max)<*(p+i))
max=i;
for(j=0;j<10;j++)
if(*(p+min)>*(p+j))
min=j;
t=*(p+max);
*(p+max)=*(p+9);
*(p+9)=t;
if(min==9) min=max;//如果最小值是最后一个,那么它已经被交换到max位置上.
t=*(p+min);
*(p+min)=*p;
*p=t;
for(i=0;i<10;i++)
printf("%d\t",*(p+i));
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询