c语言输入一个字符串,求所有数字之和

作者&投稿:彭狡 (若有异议请与网页底部的电邮联系)
c语言键盘输入一个长度不超过50的字符串,统计其中数字的个数,并计算字符串中所有数字之和。感觉c语~

数字怎么理解?
理解一:
//#include "stdafx.h"//If the vc++6.0, with this line.#include "stdio.h"int main(void){ char a[51]; int i,sum; printf("Input a string...
"); gets(a); for(sum=i=0;a[i];i++) if(a[i]>='0' && a[i]<='9') sum+=a[i]-'0'; printf("The result is %d
",sum); return 0;}理解二:
//#include "stdafx.h"//If the vc++6.0, with this line.#include "stdio.h"int main(void){ char a[51]; int i,sum,j,n; printf("Input a string...
"); gets(a); for(sum=i=0;a[i];i++) if(a[i]>='0' && a[i]<='9'){ sscanf(a+i,"%d%n",&n,&j);//把连续数字视为整数 sum+=n; i+=j; } printf("The result is %d
",sum); return 0;}你按要求选一个。

#include

long numcharsum(const char *s)

int main(void)
{
char s[100];

printf("input a string: ");
scanf("%s", s);
printf("%ld", numcharsum(s));
}

long numcharsum(const char *s)
{
long sum = 0;

while(*s)
{
if (*s >= 48 && *s <= 57)
sum += *s - 48;
s++;
}

return sum;
}

遍历整个字符串,判断是否是数字,再计算累加和:

#include<stdio.h>
#include<string.h>
int main()
{
char a[1000];//定义字符串 
int i,sum=0,n;
gets(a);//输入字符串 
n=strlen(a);//求字符串长度 
for(i=0;i<n;i++)//遍历字符串判断是否是数字 
if(a[i]>='0'&&a[i]<='9')//如果是数字就累加 
sum+=a[i]-'0';
printf("字符串中数字的和为:%d
",sum);//保留数字累加和 
return 0;
}
/*
运行结果:
jkahf343124asdf asfdasdf1
字符串中数字的和为:18
*/


首先定义一个字符数组,然后将输入的字符串按%s格式化读取到该字符数组中,再从该数组的首地址依次访问,读取每一个字符,然后将其ASCII码值减去0的ASCII码值,就是该字符对应的数值,最后累加到一个int型变量中即可。

//运算过后才输出呢
#include "stdio.h"
#include "string.h"
main()
{
char s[20];
int i,sum=0;

printf("输入:");
scanf("%s",s);
for (i=0;s[i]!='\0';i++)
if(s[i]>='0' && s[i]<='9')
sum=sum+s[i]-48;
printf("所有数字之和:%d\n",sum);
printf("\n");

}

void staticsChar()

{

int nInput,nCount=0;

char ch[NUM];

while (1) {

nInput=getchar();

if(nInput=='\n' || nCount>=NUM){

break;

}

ch[nCount++]=nInput;

}

int a=0;int b=0;int c=0;int d=0;int e=0;int other=0;

for(int j=0;j<nCount;j++){

char temp=ch[j];

if(temp=='a'){a++;}

else if(temp=='b'){b++;}

else if(temp=='c'){c++;}

else if(temp=='d'){d++;}

else if(temp=='e'){e++;}

else{other++;}

}

printf("a=%d,b=%d,c=%d,d=%d,e=%d,other=%d\n",a,b,c,d,e,other);

}

scanf("%s",s);

改为

gets(s);


c语言如何输入字符串?
1、首先需要打开编程软件。2、输入以下程序:#include <stdio.h>int main(){ char str[40]; scanf("%s",&str); printf("%s",str); return 0;}。3、然后按F5运行程序。4、然后输入想要输入的字符串。5、按回车键,就会弹出你输入的字符串。6、注意字符串的大小,改变中括号中的数字改变输入...

c语言如何输入字符串
c语言从键盘输入字符串的步骤如下:1、首先,新建一个devC加加的项目。2、接下来,在项目中新建C语言程序文件。3、然后,在C语言文件中声明一个字节数组。4、接下,来通过printf函数提示用户输入字符串,通过scanf接收用户输入的字符串。5、接着,在通过printf函数输出用户输入的内容。6、最后,运行C...

如何用一个C语言实现字符串输入输出?
1,输入部分 只有一个输入内容是一个字符串,因此定义一个局部变量char 数组,scanf直接读入输入的字符串。2,字符串处理 a,使用同一个字符串保存输出内容 b,定义另一个char数组保存输出的内容 3,算法 循环字符串的每一个字符:判断是否是小写字母 ( ch >= 'a' && ch <='z')true: ch -=...

用C语言实现输出一个字符串
一、题目大意为输出一个已知的字符串。解题思路:定义一个字符数组,并用“初始化列表”对其赋以初值 用循环逐个输出此字符数组中的字符 include <stdio.h> int main(){ char c[15]={'r',' ','i','g',' ','g',' ','h','t','u',};int i;for(i=0;i<15;i++)printf("A=%...

在C语言中如何实现用键盘输入一个字符串,并打印出来?
在C语言中实现用键盘输入一个字符串,并打印出来的解决方法如下:1、首先定义一个字符串数组,如你可以给字符串100个数组空间。如图括号内数字即为你定义的数组大小。2、gets()函数用来获取键盘输入的字符串,括号内的s即为字符串变量。3、接着用puts()函数输出之前我们从键盘读取的字符串。括号内为...

c语言中如何输入输出字符串
1 用scanf\/printf输入输出。scanf\/printf是C语言的格式化输入输出函数,可以用于输入输出各种基础类型,字符串(char*)也 其支持范围内。格式化字符为%s。定义 char str[100];输入 scanf("%s",str);输出 printf("%s",str);2 C语言还支持专门的字符串输入输出函数:gets\/puts。gets的作用为,读入一行...

如何输入一个字符串?
scanf可改为scanf("%s",&a);并且不用for语句。例如:char a[50];gets(a);puts(a);用scanf\/printf输入输出。scanf\/printf是C语言的格式化输入输出函数,可以用于输入输出各种基础类型,字符串(char*)也在其支持范围内。格式化字符为%s。

C语言上中怎么样直接输入输出一个字符串
输入使用:gets(b);对应的输出使用:puts(b);字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为 s="a1a2···an"(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。...

怎么定义一个字符串,并输入,输出。
就终止,而用printf则不会这样。2、例如:char a[50];gets(a);puts(a);二、用scanf\/printf输入输出。1、scanf\/printf是C语言的格式化输入输出函数,可以用于输入输出各种基础类型,字符串(char*)也在其支持范围内。格式化字符为%s。2、例如char str[100];scanf("%s",str);printf("%s",str);...

在C语言中如何实现用键盘输入一个字符串,并打印出来?
在C语言中输入字符串后然后打印出来的编程方法如下:1.首先需要先定义一个存放字符串的数组空间,如给字符串100个数组空间。2.接着使用gets()函数来获取键盘输入的字符串。一般格式为gets(定义的字符数组名)。3.然后再使用puts()函数来输出之前输入的字符串内容。一般格式puts(定义的字符数组名)。4....

乐陵市14741411407: C语言编写程序从键盘上输入一个字符串,试统计出该字符串中所有数字字符的个数. -
边儿新乐: 展开全部 gets()函数输入,strlen()统计个数.

乐陵市14741411407: 急求C语言程序:求一个字符串中所有的数字字符对应的数值之和. -
边儿新乐: #include long numcharsum(const char *s) int main(void) { char s[100]; printf("input a string: "); scanf("%s", s); printf("%ld", numcharsum(s)); } long numcharsum(const char *s) { long sum = 0; while(*s) { if (*s >= 48 && *ssum += *s - 48; s++; } return sum; }

乐陵市14741411407: C语言提取字符串中的所有数字 -
边儿新乐: #include<stdio.h> void main() {char str[10]={'1','a','2','b','3','4','c','\0'};int i;for(i=0;str[i]!='\0';i++)if(str[i]>'0'&&str[i]<'9')printf("%c\n",str[i]); }方法:从字符串第一个字符开始判断,通过for循环一个个的如果是当前字符,也就是str[i]比0大而且比...

乐陵市14741411407: 从键盘上输入一个字符串,试统计出该字符串中所有数字字符的个数. -
边儿新乐: C语言知版,没有说语言,要其他语言再道说.#include<stdio.h> int main() { char t[500],*p=t; unsigned int c=0; printf("输入一行字回串:"); scanf("%s",t); while(*p){ if(*p>='0' && *p<='9') c++; p++; } printf("共有%u个数字答",c); return 0; }

乐陵市14741411407: 编写一个程序:输入一个长整数,求出它的各位数字之和(C语言) -
边儿新乐: 这个问题你可以用字符串来解决,相对还是比较方便的,字符数组每个元素ASCII码值-48就是其相应的数字的值,样例程序: #include<stdio.h> #include<string.h> char a[1001]; //假定这个数字有1000位 int i,m,sum=0; int main(void) {scanf("%s",&a); //输入字符串am=strlen(a); //计算a的长度,并将其赋值给mfor(i=0;i<m;i++) sum+=a[i]-48; //对数的每一位进行累加printf("sum=%d\n",sum); //输出最后累加结果 sumreturn 0; }

乐陵市14741411407: 输入一个字符串,计算其中所有数字字符所代表数字的和.(编C程序) -
边儿新乐: #include<stdio.h> #define SIZE 80int main() {char str[SIZE];int index, sum = 0;printf("Input a string:\n");scanf("%s", str); for( index = 0; str[index] != '\0'; ++index ){if ( str[index] >= '0' && str[index] <= '9' )sum += ( str[index] - '0' );} printf("The result is %d", sum);return 0; }

乐陵市14741411407: 读入一个字符串,求串中所有数字字符的数值之和 怎么编程 -
边儿新乐: #includeint main() { char str[100]; int i, sum = 0; printf("输入字符串:\n"); gets(str); for(i = 0; str[i]; i++) if('0'

乐陵市14741411407: C语言 输入一串字符,计算当中0~9数字的个数 -
边儿新乐: #include <stdio.h> main() {char x;int a[10]={0},i;while((x=getchar())!='\n')if(x>='0'&& x<='9')a[x-'0']+=1;for(i=0;i<10;i++)printf("%d的个数是%d \n", i,a[i]);return 0; }你错在了for循环里面 错把i打成了1 这种错误很难发现. 主要要你编程的时候细心

乐陵市14741411407: c语言:输入一个字符串,统计数字字符的个数 -
边儿新乐: #include<stdio.h> #include<stdlib.h>int main() { char string[20]; int counter = 0; printf("请输入字符串:"); gets(string); for(int k=0;k<20;++k) { if(string[k]>=48 && string[k]<=57) { counter++; } } printf("数字个数:%d",counter); }

乐陵市14741411407: 输入字符串并统计其中组成的整数个数,C语言 -
边儿新乐: 思路:统计字符串中的空格,所以该字符串中有空格,则输入只能使用gets函数,再依次遍历该字符串,判断字符是否是空格,如果是,则空格个数自加1. 参考代码:#include<string.h>#include<stdio.h>#include<math.h>int main(){ int sum=0,i; char a[100]; gets(a); for(i=0;a[i]!='\0';i++) if(a[i]==' ') sum++; printf("%d\n",sum); return 0;}/*输出: af adf asfd4*/

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网