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);
}