1. c语言 数字字符相加怎么实现
#include<stdio.h>
voidmain(){charas[]={"11"},bs[]={"1"};inta,b,c,i;
i=a=0;while(as[i]!=0){a*=10;a+=as[i]-'0';i++;}
i=b=0;while(bs[i]!=0){b*=10;b+=bs[i]-'0';i++;}
c=a+b;
printf("%s+%s=%d ",as,bs,c);
}
2. c语言,实现任意多个数相加
#include<stdio.h>
intmain()
{
intn,s=0;
while(1)
{
scanf("%d",&n);
s+=n;
if(getchar()==' ')break;
}
printf("sum=%d ",s);
return0;
}
3. C语言不同类型整数相加
前提你用的是16位的tc编译器,对吧。若果是vc则是32位的,那是结果应该是32768.
虽然b是long型的,但是右式a+1仍表示的是int型相加,除非强制转换或者提升右式某个数据为long型(b=(long)(a+1)或者b=(long)a+1),否则相加结果int型溢出,便会转成相应的负数。16位的int型是从-32768~32767
打印结果也应该是ld输出,最好了。
4. 求一个c语言加和程序,数据个数不确定,由txt文件导入。
网络hi我 把数据样本给我 我看下
txt文件中为所有要加的数 一行一个数,文本中每个数后一个回车,如:
12
23
34
直接将txt文件拖到编译好的该EXE文件上,显示结果
------------------------------------
#include<stdio.h>
int main(int argc,char *argv[])
{
FILE *fp;
double sum=0.0,num=0.0;
if(argv[1]==NULL)return 1;
fp=fopen(argv[1],"r");
while(!feof(fp))
{
fscanf(fp,"%lf\n",&num);
sum+=num;
}
printf("\n\tsum:%lf\n",sum);
getch();
return 0;
}
5. 请问一下,如果我想做一个程序,求不确定个数,并且无规律的数的和,用C语言该怎么办谢谢
举例如下,供参考……
//#include"stdafx.h"//vc++6.0加上这一行.
#include"stdio.h"
#include"string.h"
#include"stdlib.h"
intmain(void){
chars[18];
doublesum=0.0;
printf("Entersomenumbers(SeparatedbySpace,Enterend)... ");
while(scanf("%s",s)){
if(strchr(s,'.'))sum+=strtod(s,NULL);
elsesum+=atoi(s);
if(getchar()==' ')break;
}
printf(" Theresultis%g ",sum);
return0;
}
6. 如何C语言中实现两个任意大小的整数的相加
#include<stdio.h>
#include<string.h>
intmain()
{
chararr1[201],arr2[201];
printf("请输入加数:");
scanf("%s",&arr1);
printf("请输入加数:");
scanf("%s",&arr2);
intlen1=strlen(arr1);
intlen2=strlen(arr2);
inti,f=0;
inta[201]={0};intb[201]={0};intsum[202]={0};
intj=0;
for(i=len1-1;i>=0;i--)
{
a[j++]=arr1[i]-'0';
}
j=0;
for(i=len2-1;i>=0;i--)
{
b[j++]=arr2[i]-'0';
}
intmax=(len1>len2)?len1:len2;
for(i=0;i<max;i++)
{
sum[i]=a[i]+b[i];
}
for(i=0;i<max;i++)
{
if(sum[i]>=10&&i<max-1)
{
sum[i+1]++;
sum[i]-=10;
}
if(sum[i]>=10&&i==max-1)
{
f=1;
sum[i+1]++;
sum[i]-=10;
}
}
printf("计算结果为:");
if(f==1)printf("%d",f);
for(i=max-1;i>=0;i--)
{
printf("%d",sum[i]);
}
return0;
}
7. C语言中输入不确定个数的数值,要存入一个数组中,将数值按大到小排列,再将它们相加,请问怎么实现
#include "stdio.h"
#include "conio.h"
void main()
{
int a[100];
int i,j,n=0,tt,sum=0;
printf("请输入若干整数,-1作为输入数据的结束\n");
scanf("%d",&tt);
while(tt!=-1){
a[n]=tt;
scanf("%d",&tt);
n++;
}
printf("原来的次序\n");
for(i=0;i<n;i++)
printf("%6d",a[i]);
printf("\n");
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(a[i]<a[j]) {
tt=a[i];
a[i]=a[j];
a[j]=tt;
}
printf("排序后的结果\n");
for(i=0;i<n;i++)
printf("%6d",a[i]);
printf("\n");
for(i=0;i<n;i++)
sum=sum+a[i];
printf("Sum=%d\n",sum);
return;
}
8. C语言编程 对于一个位数不定的数求其各位数字之和
#include<stdio.h>
#include<math.h>
main()
{
long a,b,e;
int c=0,d=0;
scanf("%ld",&a);
b=a;
while(1)
{
b=b/10;
c++;
if(b==0)
break;
}
while(1)
{
e=a/pow(10,c-1);
d=d+e;
a=a-e*pow(10,c-1);
c--;
if(c==1)
{
d=d+a;
break;
}
}
printf("%d\n",d);
getch();
}
从键盘随意输入一个正整数,注意不要超过长整型的范围!
9. c语言把数字字符串中的数字相加的程序
代码如下:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
char str[100];
char buf[10];
int i;
int n = 0;
bool flag = 0;
int j = 0;
//gets(str);
scanf("%s", str);
for (i = 0; i != strlen(str); ++ i)
{
if (str[i] >= '0' && str[i] <= '9')
{
buf[j] = str[i];
j++;
flag = 1;
}
else if (flag)
{
n += atoi(buf);
memset(buf,0,10);//清空缓存区
flag = 0;
j = 0;
}
}
printf("%s",buf);
printf("%d ", n);
}
(9)不确定各数字相加c语言扩展阅读
(C语言)常见字符函数和字符串函数
1、strlen
功能:计算字符串长度,不包含’ ’
返回值:返回字符串的字符数
说明:strlen() 函数计算的是字符串的实际长度,遇到第一个’ ’结束;参数指向的字符串必须以 ’ ‘结束。函数返回值一定是size_t ,是无符号的。如果你只定义没有给它赋初值,这个结果是不定的,它会从首地址一直找下去,直到遇到’ ’停止。
sizeof返回的是变量声明后所占的内存数,不是实际长度,此外sizeof不是函数,仅仅是一个操作符,strlen()是函数。
2、strcpy
功 能: 将参数src字符串拷贝至参数dest所指的地址
返回值: 返回参数dest的字符串起始地址
说明:源字符串必须以’ ’结束。会将源字符串的’ ’拷贝到目标空间。目标空间必须可变。如果参数dest所指的内存空间不够大,可能会造成缓冲溢出的错误情况,在编写程序时需特别留意,或者用strncpy()来取代。
10. 求一行数的和,一行数的个数不确定,用c语言做
#include<stdio.h>
#include<ctype.h>
intmain(){
charc;
intsum=0,num=0;
while((c=getchar())!=' '){
if(isspace(c)){
sum+=num;
num=0;
continue;
}
num=num*10+c-'0';
}
sum+=num;
num=0;
printf("%d ",sum);
}