C语言编程求助!!!!!求高手帮忙!感激不尽!

Python010

C语言编程求助!!!!!求高手帮忙!感激不尽!,第1张

#include "stdio.h"

#include"string.h"

int main()

{

int i,s = 0 /*请修改此处:int和i间有空格; 计算的和值s首先要清零 */

char str[80]

i=0

while ((str[i]=getchar())!='\n')

i++

str[i]='\0'

for(i=0i<80i++)

if (str[i]>='0' &&str[i]<='9') /*请修改此处:应该是同时满足这两个条件,如果是你写的条件的话,逻辑上刚好和这条语句相反,认真观察*/

s=s*10+str[i] - '0'/*请修改此处:str[i]表示ascll值,若使用相应整数应减去‘0’*/

printf("%d\n",s)

return 0

}

2.

#include "stdio.h"

#include"string.h"

int main()

{

int i

char str[80], str2[80], ch

printf("输入字符串:")

gets(str)

printf("输入要插入的字符:")

ch = getchar()

printf("输入要插入字符的位置:")

scanf("%d", &i)

strcpy(str2, str + i)

str[i] = ch

str[i + 1] = '\0'

strcat(str, str2)

printf("%s\n",str)

return 0

}

#include<stdio.h>

#include <math.h>

#define N 10

int main()

{

float a[N],*p,min

int i=0,j=0

p=a

printf("请输入10个数组元素:")

for(i=0i<Ni++)

scanf("%f",&p[i])

min=*p

for (j=1,i=0j<Nj++)

if (min>=*(p+j))

{

min=*(p+j) //把最下的找出,并复制给min

i=j //把下标赋给i

}

printf("数组最小值下标为:%d\n",i)

printf("绝对值最小的数字为:%f\n",min)

}

这样就可以了

你的错误在: for (j=1,i=0j<Nj++)

if (min>*(p+j)) i++

如果第一个数位最大,你又把第一个数赋为最小,那么i++执行9次,所以你需要涮洗最小值,并且此时的最小值得下标赋给i,i也是在不断刷新,最后得到你想要的结果

况且你用void minfabs(),在主函数中且没有地址的传递,这里您看一下“数组元素做形参”,对你会有帮助