帮帮忙,找一个C语言的小程序问题

题是这样的:
输入一个字符串,内有数字和非数字字符,如:gs 423cd156 7896>df12345,将其中连续的数字作为一个整数,依次存放到一数组a中,例如:423放在a[0],125放在a[1],…。统计共有多少个整数,并输出这些数。
下面是我的代码
#include<stdio.h>
void main()
{
char a[]={0},b[]={0};
char c;
int i,n=1,s=0,m=0,word=0,p,h;
for(i=0;;i++)
scanf("%c",a[i]);
for(n=i;n>=0;n--)
{
c=a[i];
if(48<=c&&c<=57)
{
s=c*p+s;
p=p*10;
word=1;
}
else
if(word==0)
{
b[m]=s;
s=0;
m=m+1;
word=0;
}
}
printf("num=%d\n",m);
for(h=0;h<=m;h++)
printf("%d",b[h]);
}
提示的错误为:
……9:Unreachable code
……11:Unreachable code
我刚刚学C,不太懂,谢谢帮助了

//前20项值输出
#include
<stdio.h>
int
main()
{
int
i=1;
int
f[20]={1,1};//定义一个数组并初始化前两个
for(i=2;i<20;i++)
f[i]=f[i-2]+f[i-1];//从第三项开始循环,实现后一项为前两项之和
for(i=0;i<20;i++)
{
if(i%5==0)
//控制输出
printf("\n");
printf("%-12d",f[i]);
}
}
//三个数比较大小
#include
<stdio.h>
swap(int
*p1,
int
*p2)
{
int
p;
p=*p1;
*p1=*p2;
*p2=p;
}
main()
{
int
a,b,c;
int
*p1;
int
*p2;
int
*p3;
printf("please
input
three
numbers
:\n");
scanf("%d%d%d",&a,&b,&c);
p1=&a;
p2=&b;
p3=&c;
if(a>b)
swap(p1,p2);
if(a>c)
swap(p1,p3);
if(b>c)
swap(p2,p3);
printf("%d%d%d",a,b,c);
}
//第三题
#include
<stdio.h>
main()
{
int
i,sum=0,k=0;
for(i=0;i<=100;i++)
{
if(i%2==0)
sum=sum+(-i);
if(i%2!=0)
k+=i;
}
printf("%d\n",sum+k);
}
//第4题
#include
<stdio.h>
main()
{
int
a;
printf("please
input
a
year:\n");
scanf("%d",&a);
if((a%400==0)||((a%4==0)&&(a%100!=0)))
{
printf("%d年是闰年\n",a);
}
else
{
printf("%d年不是闰年\n",a);
}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-05-01
main()
{
int
m=7,n=10,k;
k=m&n;//这里是逻辑运算。所以要把7和10转成二进制,0111&1010,你可以在书上讲运算符那章里找到逻辑与的运算规则是。相同为1,不同为0,是对应位。所以逻辑与后0010,这是二进制转化为十进制为2;在把2赋给K。所以输出为2;
printf("%d",k);
}
第2个回答  2019-03-14
m=7,n=10
7二进制为0111
10二进制为1010
k=m&n注意:&符号是按位与运算符,是运算二进制数的,所以0111&1010结果为:0010变为十进制数就是2。
第3个回答  2019-04-30
按位与二进制运算,相同为1不同为0,再转为十进制就是2了。
第4个回答  2020-06-02
当然&是二进制进行计算,m=7,二进制是111,n=10,二进制是1010,进行位与,结果是10,所以转为十进制是2晕

c语言小程序例题, 大师看看。怎么办?
1.5 大写转小写:输入一个大写英文字母,输出相应的小写字母。实验二 分支结构 2.1 显示成绩:输入学生的数学成绩,若低于60输出“Fail”,否则输出“Pass”。2.2 找最小值:输入四个整数,输出其中的最小值。2.3 求三角形:输入三角形的三条边,计算面积和周长(保留两位小数);若不构成三角形...

求C语言经典小程序
1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。2.程序源代码:main(){ int i,j,k;printf("\\n");for(i=1;i<5;i++) /*以下为三重循环*\/ for(j=1;j<5;j++)for (k=1;k<5;k++){ if (i!=k&&i!=j&&j!=k) ...

c语言指针小程序的问题,就是字符串的复制,如果2个字符串长度不等...
{ void copy_string (char from[],char to[]);char a[80]="I am a teacher."; \/\/最好直接分配空间,使用指针变量赋值,\/\/容易出现非法操作关闭的现象,因为字符串常量所在区间为常量区间 char b[]="I am a good student.";printf("string a=%s\\nstring b=%s\\n",a,b);printf("copy ...

怎么用c语言编写一个小程序?
1、首先打开DEV C++软件,点击“新建源代码”,在编辑页面输入以下代码。2、因为题目要求我们先输入一个整数,所以在定义变量时,就应该将其定义为整数型,注意,在输入,输出函数中,整数型对应的是“%d”。3、接下来就要对输入的整数进行判断,在C语言中,if是判断语句,所以用它来对整数进行判断。if...

...写一个记录大写字母、小写字母、偶数、奇数的出现次数的小程序...
if(scanf("%d",&n) && n>0){ printf("将循环%d次\\n",n); while(fflush(stdin),n-- && ch!='\/'){ printf("输入字符: "); if((ch=getchar())>='A' && ch<='Z'){ printf("大写字母\\n");

求C语言的小程序
temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } }}int main(){ int a[k]; printf("请输入10个整数:

c语言的一个小程序
limit = (int)sqrt((double)(N-1));\/\/计算除数的上限limit while(i<limit){ \/\/用i筛去筛子中i的倍数的数,不包括i本身 j = 2*i;while(j<N){ a[j] = 0;j += i;} \/\/找到筛子下一个数j j = i+1;while(a[j]==0&&j<=limit)j++;i = j;} \/\/将筛子中的数打印出来 i...

帮忙看一个c语言小程序
目前 C 语言中能输出的最长整数类型是无符号的 long long (unsigned long long) 型,它可以表示 [0, 18446744073709551615] 范围的整数。所以你可以将程序改写成如下来输出尽可能多的结果。include <stdio.h>int main() {unsigned long long i = 2;\/\/ 这里不用再另创建一个变量 n,使用 1 即可...

c语言问题,一个关于用for的小程序,不知道哪出错了(没语法错误)?高说帮...
include<stdio.h> int main(){ int i=1,sum=0;for(i=1;i<=100;i++){ printf("%d\\n",i);sum=sum+i;} printf("sum%d\\n",sum);return 0;}

c语言小程序问题:谁能告诉我为什么这个程序在输入1 3 2后还要输入\\n...
原因在于scanf("%d %d %d ",&a,&b,&c);这里%d之前空格存在问题。修改为一个。 scanf("%d %d %d",&a,&b,&c);修改后:include <stdio.h> int main(void){ void exchange(int * p1,int * p2,int * p3);int *p1,*p2,*p3,a,b,c;scanf("%d %d %d",&a,&b,&c);p1 = ...

相似回答
大家正在搜