c#发展

注册

 

发新话题 回复该主题

将C语言的数字排序程序转为Python语 [复制链接]

1#

如何利用Python3.8Shell平台的编辑提示功能和出错反馈功能,提高自己的语言水平,提高语言运用能力,提高协同工作中程序员之间的信息交互等,这都是任何一个程序员必经的过程。而通过拷贝与改写可以高效的提升自己的多方面的能力。

由于原来的C程序是经过验证无错代码。算法经过调试也被证明没有问题。因此,拿来拷贝到另外一个平台里,需要修改的只是某种语言和平台的特定词汇与格式而已。逻辑上不会出错。算法上不会出错。

先来看看C语言的数字排序程序

C语言的数字排序程序

完整代码如下:

Structural_Data_Process.C

//variabledeclaration

intNum,NsetS[50],TransitD;

voidStructural_DataLS()

{

//standardIO

printf_s("输入数组,的元素数目_一个整数:\n");

scanf_s("%d",Num);

for(inti=0;iNum;i++)

{

printf_s("输入数组NsetS的元素数值,一个自然数:\n");

scanf_s("%d",NsetS);

printf_s("已经输入数组NsetS的个数:%d",i+1);

}

printf_s("\n");

//dataprocessing-sorting

for(intj=0;jNum-1;j++)

{

for(intk=0;kNum-1-j;k++)

{

if(NsetS[k]NsetS[k+1])

{

TransitD=NsetS[k];

NsetS[k]=NsetS[k+1];

NsetS[k+1]=TransitD;

}

}

}

//standardIO

printf_s("\n");

printf_s("输入数组元素的顺序,由大到小为:\n");

for(intm=0;mNum;m++)

{

printf_s("%d;",NsetS[m]);

}

printf_s("\n");

}

voidStructural_DataSL()

{

//dataprocessing-sorting

for(intj=0;jNum-1;j++)

{

for(intk=0;kNum-1-j;k++)

{

if(NsetS[k]NsetS[k+1])

{

TransitD=NsetS[k];

NsetS[k]=NsetS[k+1];

NsetS[k+1]=TransitD;

}

}

}

//standardIO

printf_s("\n");

printf_s("输入数组元素的顺序,由小到大为:\n");

for(intm=0;mNum;m++)

{

printf_s("%d,",NsetS[m]);

}

printf_s("\n");

}

运行结果如下:

C语言的数字排序运行结果

没有问题。参看文章《如何理解在VS平台上多种语言并行学习中的变与不变-学习效率问题》。

将C语言的程序拷贝到Python3.8Shell平台中来-用记事本将自己的正确程序保存下来,便于拷贝。

C语言的程序拷贝到Python平台

根据Python语言的规则进行修改。文章《如何理解在VS平台上多种语言并行学习中的变与不变-学习效率问题》讨论了便与不变的问题。也就是修改方法。而可以利用编译平台的错误提示功能,改写的没有语法错误。再RUN一下,还可以看到不合宜的地方。这样可以快速解决问题。

再看看修改成Python语言的数字排序程序

#DiscreteNum_sorting.py

#standardIO

print("自然数排序的程序\n")

#创建一个空数组

Narray=[]

#输入你排序的数字的个数

Nnum=int(input("你想输入数字数组元素的个数是:"))

#循环输入数字并添加到数组中

foriinrange(Nnum)/p>

Narrayi=int(input("请输入第{}个数字:".format(i+1)))

Narray.append(Narrayi)

print("用户总共输入的元素个数是:\n",i+1)

print("请核对数组元素:\n")

forminrange(Nnum)/p>

print(Narray[m],end="")

#dataprocessing-sorting

forjinrange(Nnum-1)/p>

forkinrange(Nnum-1-j)/p>

if(Narray[k]Narray[k+1])/p>

TransitD=Narray[k]

Narray[k]=Narray[k+1]

Narray[k+1]=TransitD

#standardIO

print("\n")

print("这些元素由大到小的顺序为:\n")

forminrange(Nnum):

print(Narray[m],end="")

#dataprocessing-sorting

forjinrange(Nnum-1):

forkinrange(Nnum-1-j):

if(Narray[k]Narray[k+1]):

TransitD=Narray[k]

Narray[k]=Narray[k+1]

Narray[k+1]=TransitD

#standardIO

print("\n")

print("这些元素由小到大的顺序为:\n")

forminrange(Nnum):

print(Narray[m],end="")

print("\n")

print("请核对结果\n")

运行结果如下:

python语言的运行结果

比较之后就可以看到:什么是不变的,什么是需要改写的。俺是栽跟头后才能牢记语言应用。改程序、调试程序是最好的栽跟头,也是最好的记忆、应用方法。你呢?C的资源非常多,所以用C语言举例子。

分享 转发
TOP
发新话题 回复该主题