基于visual Studio2013解决C语言竞赛题之1068指针数组







题目


解决代码及点评

/*
68.	在主函数中输入10个不等长的字符串,用另一函数对它们排序。
然后在主函数中输出这10个已排好序的字符串,用指针数组完成。
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void f50068(char **pp)
{  
	int a[10]={0};
	for (int i=0;i<10;i++)//将字符串长度挨个存入数组a[10]
	{
		a[i]=strlen(*(pp+i));
	}
	for (int i=0;i<10;i++)//通过比较字符串长度交换指针地址,达到排序目的
	{
		for (int j=0;j<10;j++)
		{
			if (a[i]<a[j])
			{
				char *ptemp;			
				ptemp=*(pp+i);
				*(pp+i)=*(pp+j);
				*(pp+j)=ptemp;	
			}
		}
	}
}
void main()
{
	char *p[10]={"1234567890","123456789","12345678","1234567","123456","12345","1234","123","12","1"};

	for (int i=0;i<10;i++)
	{
		printf("%s\n",*(p+i));
	}
	char **p1=p;

	f50068(p1);

	for (int i=0;i<10;i++)
	{
		printf("%s\n",*(p+i));
	}
	system("pause");
}



代码编译以及运行

由于资源上传太多,资源频道经常被锁定无法上传资源,同学们可以打开VS2013自己创建工程,步骤如下:

1)新建工程

2)选择工程

3)创建完工程如下图:

4)增加文件,右键点击项目

5)在弹出菜单里做以下选择

6)添加文件

7)拷贝代码与运行


程序运行结果


代码下载

http://download.csdn.net/detail/yincheng01/6681845

解压密码:c.itcast.cn







posted on 2013-12-10 10:51  三少爷的剑123  阅读(114)  评论(0编辑  收藏  举报

导航