概述
在主函数中输入10个不等长的字符串,用另外一个函数对它们进行排序,然后在主函数中输出排序后的字符串。要求用指针数组处理
#include
#include
#define MAX_LEN 20 /*定义字符串的
在主函数中输入10个不等长的字符串,用另外一个函数对它们进行排序,然后在主函数中输出排序后的字符串。要求用指针数组处理
#include
#include
#define MAX_LEN 20 /*定义字符串的最大长度*/
void main()
{
int i;
char *ps[10],str[10][MAX_LEN];
void sort(char *s[]);
for(i=0;i<10;i++) ps[i]=&str[i][MAX_LEN];/*此处填写段将二维字符数组中第i个字符串的首地址赋给指针数组的第i个指针元素*/
printf("请按行输入10个字符串:n");
for(i=0;i<10;i++) scanf("%s",&str[i][MAX_LEN]);/*此处填写代码段,接收10个不等长的的字符串,存到数组中*/
sort(ps);/*此处填写语句调用排序函数*/
printf("排序后的字符串为:n");
for(i=0;i<10;i++) printf("%s",*ps[i]);/*此处填写代码段,输出排序后的字符串*/
}
void sort(char *s[])
{
int i,j;
char *p;
for(i=0;i<10;i++)
{for(j=0;j<10;j++)
{
if(strcmp(s[i],s[j]))
{p=s[i]; s[i]=s[j]; s[j]=p;}
}
}/*此处填写代码段,完成选择排序过程
提示:每次排序比较过程中如需交换操作,则利用已给变量交换字符串地址*/
}
用指向指针的指针的方法对n个整数排序并输出。要求排序用一个函数实现,n和整数在主函数中输入,最后在主函数中输出.
#include
void main()
{
int i,n,num[20],**p,*ps[20];
void bubble(int **p,int n);
printf("请输入整数的个数n");
scanf("%d",&n);
for(i=0;i<20;i++) ps[i]=&num[i];/*此处填写代码段,分别将指针数组的第i个指针元素指向整数数组的第i个整数元素*/
printf("请用逗号作间隔输入%d个数:n",n);
for(i=0;i
p=ps;
bubble(p,n);/*此处编写语句,调用排序函数*/
printf("排序后的序列为:n");
for(i=0;i
printf("n");
}
void bubble(int **p,int n)
{
int i,j,k,*temp;
for(i=n-1;i>0;i=k)
for(j=0,k=0;j
{if(*(*p+j)>*(*p+j+1)){temp=*(p+j);*(p+j)=*(p+j+1);*(p+j+1)=temp;k=j;}
}/*此处填写代码段,完成冒泡排序过程
提示:每次排序比较过程中如需交换操作,则利用已给变量交换存放整数的地址*/
}
写一函数,输入一个十六进制数,输出相应的十进制数。
#include
#define MAX 10
void main()
{
int c,i,flag,flag1;
int h2d(char s[]);
char d,t[MAX];
i=0; flag=1; flag1=1;
printf("n请输入十六进制数:");
while(c=getchar()!='n'&&i
{ if (c>='0'&&c<='9'||c>='A'&&c<='F'||c>='a'&&c<='f')//添加代码字符c是十六进制数值
{flag=1; t[i++]=c;}
else if (flag)
{t[i]='