各位大神,帮我看看代码哪里出了问题
题目是这样的 输入一个字符串,内有数字和非数字字符,例如:A123x456 17960? 302tab5876
将其中连续的数字作为一个整数,依次存放到一维数组a中。例如,123放在a,456放在a。。。。。。统计共有多少个整数,并输出这些数
#include<stdio.h>
int main()
{
char str,*p; //str为输入的字符串
int a,i,n; //a为存放数字的数组
printf("input a string:");
gets(str);
p=str;
n=0;
while(*p != '\0')
{
if((*p>='0') && (*p<='9'))
{
a = a * 10 + *p - '0';
p++;
}
n++;
p++;
}
printf("the number is :\n");
for(i=0;i<n;i++)
printf("%d",a);
printf("\n");
return 0;
}
我输的代码是这样的,但结果是乱码,哪里有问题啊!!! #include<stdio.h>
int main()
{
char str, *p; //str为输入的字符串
int i, n;
int a = { 0 }; //a为存放数字的数组 可能是这里没有初始化为0数组都是随机的数
printf("input a string:");
gets_s(str);
p = str;
n = 0;
while (*p != '\0') //while里面有问题
{
if ((*p >= '0') && (*p <= '9'))
{
a = a * 10 + *p - '0';
if (*(p + 1) < '0' || *(p + 1) > '9')
{
n++;
}
}
p++;
}
printf("the number is :\n");
for (i = 0; i<n; i++)
printf("%d ", a);
printf("\n");
return 0;
} 本帖最后由 dfesndjffrf 于 2021-7-2 18:42 编辑
"""作业"""
an = 100
tue = input("分数及格线“)
a = int(tue)
if an and a:
print("满分")
if an > a >= 90:
print("多加练习")
if an > a >= 80 < 90:
print("上课不认真听讲")
if an > a >=70 < 80 < 90:
print("下次不要放这样的错")
if an > a >= 60 < 70 < 80 < 90:
print("全是猜的")
else:
if an > a > 50 > 1:
print("罚抄十片")
print("下次考试不要灰心")
大佬看哪里错了,报错没显示
lei1996 发表于 2021-7-2 16:37
十分感谢!!
页:
[1]