main函数必须写在一个C程序的最前面,对么?

main函数必须写在一个C程序的最前面,对么?,第1张

对,比如

#include

"stdio.h"

void

start_information(

)

{

printf("The

program

begin!\n")

}

void

end_information(

)

{

printf("The

program

end!\n")

}

float

sort(float

x1,float

x2,float

x3)

/*定义函数的返回值类型,函数名,形参*/

{float

t

printf

("x1=%6.2f

x2=%6.2f

x3=

%6.2f

\n",x1,x2,x3)

if

(x1>x2)

{t=x1;x1=x2

x2=t}

if

(x1>x3)

{t=x1;x1=x3

x3=t}

if

(x2>x3)

{t=x2;x2=x3

x3=t}

printf

("x1=%6.2f

x2=%6.2f

x3=

%6.2f

\n",x1,x2,x3)

return(x3+x2+x1)

}

main(

)

{float

a,sum

start_information(

)

printf("please

enter

data(a):

")

/*输出提示信息,要求输入数据*/

scanf("%f",&a)

sum=sort(a+1,3.0,a)

printf("sum

is

%6.2f

\n",sum)

end_information(

)

}

a)

main可以在程序的任何位置

b)

正确

c)

错,没有main也可以编译成obj文件,只是生不成执行程序

d)

错,一个程序可以有多个源文件组成,但main只能有一个

为了解决这个问题,你可以遍历字符串的每一个字符,根据字符的不同情况分别处理。

如果当前字符是第一个字符,并且它是 * 号,那么可以跳过这个字符,不将它加入到新的字符串中。

如果当前字符是最后一个字符,并且它是 * 号,那么可以忽略它。

如果当前字符是中间的字符,并且它是 * 号,那么可以查看它的前一个字符。

如果前一个字符是 * 号,则可以忽略当前字符。

如果前一个字符不是 * 号,则可以将当前字符替换为空格,并将前一个字符设置为 * 号,表示已经处理过了。

这样,你就可以在遍历字符串的同时,解决问题了。下面是一个例子:

#include <stdio.h>

#include <string.h>

void remove_asterisks(char *s)

{

int i, len

char prev_char = '\0'

len = strlen(s)

for (i = 0i <leni++)

{

if (i == 0 &&s[i] == '*')

{

continue

}

if (i == len - 1 &&s[i] == '*')

{

break

}

if (s[i] == '*')

{

if (prev_char == '*')

{

continue

}

else

{

s[i] = ' '

prev_char = '*'

}

}

else

{

prev_char = s[i]

}

printf("%c", s[i])

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11616143.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存