c语言,【未知个数】的整形数字,输入数组,再求和。
答案:3 悬赏:80
解决时间 2021-02-10 00:02
- 提问者网友:纹身骑士
- 2021-02-09 20:20
c语言,【未知个数】的整形数字,输入数组,再求和。
最佳答案
- 二级知识专家网友:為→妳鎖鈊
- 2021-02-09 21:12
绝对可行! 希望能帮助楼主
#include"stdio.h"
#include"math.h"
void main()
{
int i,sum=0;
printf("请输入数据:\n");
scanf("%d",&i);sum=i;
while(getchar()!='\n')
{
scanf("%d",&i);
sum=sum+i;
}printf("sum=%d",sum);
}
#include"stdio.h"
#include"math.h"
void main()
{
int i,sum=0;
printf("请输入数据:\n");
scanf("%d",&i);sum=i;
while(getchar()!='\n')
{
scanf("%d",&i);
sum=sum+i;
}printf("sum=%d",sum);
}
全部回答
- 1楼网友:星星坠落
- 2021-02-09 23:07
#include
void main(void)
{
char a[1000];
gets(a);
int j = 0; //s的下标,初始位0
int tem = 0; //记录一个数的值
bool b = false; //是否有新的数
bool negative = false; //是否是负数
int sum = 0; //数的和
while(a[j] != '\0')
{
//排除空格
while(a[j] == ' ' && a[j] != '\0')
{
j ++;
}
//读取新的数
tem = 0;
b = false;
negative = false;
while(a[j] != ' ' && a[j]!= '\0')
{
//是不是负号
if(a[j] == '-')
{
negative = true;
}
else
{
b = true;
tem = tem * 10 + (a[j] - '0');
}
j ++;
}
//如果有数,则count ++
if(b == true)
{
if(negative == false)
sum += tem;
else
sum += -tem;
}
}
//输出该case
printf("和为:%d\n", sum);
}
- 2楼网友:啵啵桃汀
- 2021-02-09 21:30
int chartoint(char* intstring)
{
int i =1;
int j =1;
int b =0;
int a =strlen( intstring );
for( i=0 ;i {
b = b+(intstring[a-i-1]-48)*j;
j=j*10;
}
return b;
}
这个函数只能将一个字符串中的数字字符转换成一个数字。如果多个数字用空格隔开,我想是不是可以先记录空格的位置,然后求出每个字符函数在数组中的位置,比如b[]="12 21 -2 -3 2 3 6 100 ",-2的位置就是从b[6]到b[7],然后将每个数字字符串当做一个小数组调用我上面的那个函数。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯