❶ c语言中,提示输入一个4位数的整数,然后把每一位相加
#include<stdio.h>
void main(void)
{
inta,i,sum=0;
inttemp,b;
printf("请输入一个四位数: ");
scanf("%d",&a);
for(i=0;i<4;i++)
{
temp=a%10;
a/=10;
sum+=temp;
}
printf("%d的各个数字之和为:%d",b,sum);
//sum就是最后的结果
}
(1)c语言输入一个整数自动加一扩展阅读
C语言输入两个整数,求和并输出(计算a+b)
#include<stdio.h>
#include<stdlib.h>
int main()
{
inta,b,sum;//一、定义变量,int代表数据类型——整数,sum求和;
printf("请输入两个整数:");
scanf("%d%d",&a,&b);//二、输入数据,%d对输入类型的限制代表——整数,并把这俩个数分别给&a和&b两个变量,&取地址运算符;
sum=a+b;//三、数据处理,把a、b的和赋值给sum;
printf("这两个数的和是:%d ",sum);//四、输出结果,%d输出一个整形数这个数就是sum;
printf("计算完成");
return0;//返回;
}
❷ 大一c语言:用数组设计一个20位长整数,并实现用这个长整数进行加法或减法运算。 急求啊
//这是肢信我之前写的一个大整数的加减乘的程序,先输入两个数的各位的值
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
voidputin(int*x,int*y,inta,intb)
{
inti;
for(i=0;i<a;i++)
{
printf("输入x[%d]:",i);
scanf("%d",&x[i]);
}
for(i=0;i<b;i++)
{
printf("输入y[%d]:",i);
scanf("%d",&y[i]);
}
}
voidjiafa(int*x,int*y,int*z,int*c,inta,intb)
{
inti,j;
z[0]=(x[0]+y[0])%10;
c[0]=(x[0]+y[0])/10;
for(i=1,j=1;i<a;i++,j++)
{
if(j<b)
{
z[i]=(x[i]+y[j]+c[i-1])%10;
c[i]=(x[i]+y[j]+c[i-1])/10;
}
elseif(i==b)
{
z[i]=x[i]+c[b-1];
}
elsez[i]=x[i];
}
if(c[i-1]!=0)
{
z[i]=c[i-1];
}
elsez[i]=0;
}
voidchengfa(int*x,int*y,int*z,int*c,inta,intb)
{
inti,j;
int*t=(int*)malloc(sizeof(int)*b*(a+b));
int*c1=(int*)malloc(sizeof(int)*(a+b));
int*p=(int*)malloc(sizeof(int)*(a+b));
for(i=0;i<a+b;i++)
c1[i]=0;
for(i=0;i<b;i++)
for(j=0;j<a+b;j++)
t[i*(a+b)+j]=0;
for(j=0;j<b;j++)
{
for(i=0;i<a;i++)
{
if(i==0)
{
t[j*(a+b)+i]=(x[i]*y[j]+c[0])%10;
c[i]=(x[i]*y[j]+c[0])/10;
}
else
{
t[j*(a+b)+i]=(x[i]*y[j]+c[i-1])%10;
c[i]=(x[i]*y[j]+c[i-1])/10;
}
}
if(c[i-1]!=0)
t[j*(a+b)+i]=c[i-1];
}
for(i=0;i<b;i++)
for(j=0;j<i;j++)
{
for(intk=a+b-1;k>0;k--)
t[i*(a+b)+k]=t[i*(a+b)+k-1];
t[i*(a+b)+0]=0;
}
jiafa(t+0*(a+b),t+1*(a+b),z,c1,a+b,a+b);
for(i=2;i<b;i++)
{
for(j=0;j<a+b;j++)
p[j]=z[j];
jiafa(p,t+i*(a+b),z,c1,a+b,a+b);
}
}
voidjianfa(int*x,int*y,int*z,int*c,inta,intb)
{
inti,j;
x[0]>尘握=y[0]?c[0]=0:c[0]=-1;
z[0]=(x[0]-y[0]+10)%10;
for(i=1,j=1;i<a;i++,j++)
{
if(j<b)
{
x[i]>=y[j]?c[i]=0:c[i]=-1;
z[i]=(x[i]-y[j]+c[i-1]+10)%10;
}
elseif(j==b)
{
z[i]=x[i]+c[j-1];
}
elsez[i]=x[i];
}
}
voidprint(int历兄轮*x,int*y,int*z,inta,intb,intc)
{
inti;
for(i=0;i<c-a;i++)
printf("");
for(i=a-1;i>=0;i--)
printf("%d",x[i]);
printf(" ");
for(i=0;i<c-b;i++)
printf("");
for(i=b-1;i>=0;i--)
printf("%d",y[i]);
printf(" ");
for(i=c-1;i>=0;i--)
printf("-");
printf(" ");
for(i=c-1;i>=0;i--)
printf("%d",z[i]);
printf(" ");
}
voidmain()
{
intlengtha=5,lengthb=4,i;
//printf("输入数组a和b的长度(a的长度大于b的长度):");
//scanf("%d%d",&lengtha,&lengthb);
int*a=(int*)malloc(lengtha*sizeof(int));
int*b=(int*)malloc(lengthb*sizeof(int));
int*sum=(int*)malloc((lengtha+1)*sizeof(int));
int*c=(int*)malloc((lengtha)*sizeof(int));
int*cha=(int*)malloc(lengtha*sizeof(int));
int*ji=(int*)malloc((lengtha+lengthb)*sizeof(int));
for(i=0;i<lengtha;i++)
{
a[i]=i+2;
b[i]=i+2;
c[i]=0;
}
a[lengthb]=9;
/*
printf("输入%d个数组a的元素:",lengtha);
for(i=0;i<lengtha;i++)
scanf("%d",&a[i]);
printf("输入%d个数组b的元素:",lengthb);
for(i=0;i<lengthb;i++)
scanf("%d",&b[i]);
*/
putin(a,b,lengtha,lengthb);
jiafa(a,b,sum,c,lengtha,lengthb);
printf("加法: ");
print(a,b,sum,lengtha,lengthb,lengtha+1);
jianfa(a,b,cha,c,lengtha,lengthb);
printf("减法: ");
print(a,b,cha,lengtha,lengthb,lengtha);
chengfa(a,b,ji,c,lengtha,lengthb);
printf("乘法: ");
print(a,b,ji,lengtha,lengthb,lengtha+lengthb);
}
❸ 如何用C语言写一个按键按一次数值就加一的程式呀
#include <stdio.h>
#include <stdlib.h>
void main()
{
char p[4];
int n=0;
while ( 1 ){
p[0] = getch(); // 即时监视按键
if (p[0] == 0x1b) break; // 如果 Esc 则退出
if (p[0] >= '0' && p[0] <= '9') n++; // 是数字则累加1
}
printf("\n Number of digits =%d",n);
}