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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言输入一个字符串,求所有数字之和相关的知识,希望对你有一定的参考价值。

这是我编写的一个代码,不知道哪里错了,希望有高手指点,谢谢!

#include "stdio.h"
#include "string.h"
main()

char s[20];
int i,sum=0;

printf("输入:");
scanf("%s",s);

printf("所有数字之和:%d\n",sum);

for (i=0;s[i]!='\0';i++)
if(s[i]>='0' && s[i]<='9')
sum=sum+s[i]-48;

printf("\n");


例如输入:1 2 3,可结果是;1。
即不论输入什么字符串,输出的总是第一个数字,而不是所有数字之和

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

#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\\n",sum);//保留数字累加和 
return 0;

/*
运行结果:
jkahf343124asdf asfdasdf1
字符串中数字的和为:18
*/
参考技术A 首先定义一个字符数组,然后将输入的字符串按%s格式化读取到该字符数组中,再从该数组的首地址依次访问,读取每一个字符,然后将其ASCII码值减去0的ASCII码值,就是该字符对应的数值,最后累加到一个int型变量中即可。 参考技术B //运算过后才输出呢
#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");

本回答被提问者和网友采纳
参考技术C 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++;

elseother++;



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

参考技术D scanf("%s",s);

改为

gets(s);

编写程序,输入两个数字a和b,求c,+c+满足于:c²=a²+b²?

参考技术A

以下是一个Python语言的示例代码,可以实现上述功能:

pythonCopy codea = float(input("请输入数字a:"))
b = float(input("请输入数字b:"))

c = (a**2 + b**2) ** 0.5  # 计算c的值print("a =", a)print("b =", b)print("c =", c)print("c^2 =", c**2)print("a^2 + b^2 =", a**2 + b**2)# 检查c是否满足要求if c**2 == a**2 + b**2:    print("c满足条件:c^2 = a^2 + b^2")else:    print("c不满足条件:c^2 ≠ a^2 + b^2")

代码说明:

    通过 input 函数获取用户输入的数字 a 和 b,分别转换为浮点数类型。

    使用勾股定理计算 c 的值,即 $c = \\sqrta^2 + b^2$。

    打印 a、b 和 c 的值,以及 c^2 和 a^2 + b^2 的值,用于检查结果是否正确。

    使用条件语句判断 c 是否满足条件,即 c^2 = a^2 + b^2,并打印出相应的结果。

以上是关于c语言输入一个字符串,求所有数字之和的主要内容,如果未能解决你的问题,请参考以下文章

C语言如何求一个整数的各个位数之和

c语言,求任意一个整数各位数字之积

C语言输入两个数字字符,求其所代表的数之和

用C语言求一个4以内正整数的各位数字之和

请问用java语言做一个求由数字组成的字符串中数字之和的简单程序?

C语言程序(输入两个数 a b 求ab之间的质数并且输出所有质数之和)