题目:在命令行执行程序。要求:输入一组数字,进行排序,最后打印输出。
#include "stdafx.h"
//1.实现将数字字符串转换为数字
int strToInt(char *arr);
//2.将数字字符串数组 转换为整型数组存储
void anasiy(char *arr[],int n,int *rest);
//3.将整型数组排序(升)
void sort(int *arr,int n);
//4.输出排序结果
void output(int *arr,int n);
int main(int argc, char* argv[])
{
int n=argc-1;
int *rest=new int [n];//动态获取存储空间
anasiy(argv+1,n,rest);
output(rest,n);
sort(rest,n);
output(rest,n);
delete(rest);
return 0;
}
int strToInt(char *arr)
{
int num=0;
while(*arr!='\0')
{
if(*arr>='0'&&*arr<='9')
{
num=num*10+*arr-'0';
arr++;
}
}
return num;
}
void anasiy(char *arr[],int n,int *rest)
{
for(int i=0;i<n;i++)
{
rest[i]=strToInt(arr[i]);
}
}
void output(int *rest,int n)
{
for(int i=0;i<n;i++)
{
printf("%d ",rest[i]);
}
printf("\n\n");
}
void sort(int *rest,int n)
{
int tmp=0;
for(int i=0;i<n;i++)
{
for(int j=n-1;j>i;j--)
{
if(rest[j]<rest[j-1])
{
tmp=rest[j];
rest[j]=rest[j-1];
rest[j-1]=tmp;
}
}
}
}
1.在vc++6.0的环境下,新建一个项目,选建一个A"Holle world" application。
2.输入以上全部代码。编译运行。控制台不会有显示。因为此题时要在命令行执行的。
3.找到装有次项目 .exe 文件的 Debug文件夹。复制路径。
4.cmd打开命令行,在命令行内通过操作找到3中找到的路径,然后输入.exe 的名字 在输入数字即可。按下enter建后会在命令行显示输出,刚才输进去的数字排好序后的结果。
其中,函数分装的思想是值得初学者好好学习的!
主要的功能函数是1. 将输入的数字字符串转换为一组数字 2.将转换后的一组
其中先写了一个将单个字符串转换为数字的函数strToInt,在用anasiy函数调用strToInt函数完成全部字符串的转换。