题是这样的:
输入一个字符串,内有数字和非数字字符,如: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,不太懂,谢谢帮助了
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 = ...