c语言程序修改?

Python012

c语言程序修改?,第1张

首先说下存在的问题:

1.define容易造成误会,因为不符合一般的编程习惯,false 0, true 1

2.scanf放在你的那个地方是达不到你想要的结果,只输入了一次。建议改成getchar这种形式,具体如图二

3.为了达到通用化,建议定义两个你需要处理的字符组合,他们相互配对,这样方便以后添加而不用改下面的代码

4.同时为了配合3这个更改添加一个判断输入字符是不是在字符组的函数,方便使用。

详细代码如图,因为没有Stack我没有办法验证,如果有错你看着改改,这种思路是没有错的。

图一

图二

#include<stdio.h>

#define N 10

int fun(int a[N])

int main()

{

int a[N],k

printf("请输入10个整数:")

for(k=0k<Nk++) scanf("%d",&a[k])

printf("排列后的数组:\n")

fun(a)

for(k=0k<Nk++) printf("%4d",a[k])

printf("\n")

return 0

}

int fun(int a[N])

{

int i,j,m,t

for(m=0m<Nm++){

i=m

for(j=i+1j<Nj++){

if(a[j]<a[i]) i=j

t=a[m]

a[m]=a[i]

a[i]=t

}

}

return a[N]

}

把fun(a)拿出来

fun函数里的内容就是排序 排序完了在输出就可以了

“+”是个字符串,m是字符型变量,不能与字符串进行比较,把“+”改为'+',后面的一样;另外,在 printf("请输入加、减、乘、除或者求余符号\n")语句之前加一个getchar(),以吃掉输入的回车符。