求一个四位数和的问题!
任意输入一个四位数,四个数分别相加,也就是千位+百位+十位+个位=?我写的这个程序不知道那里错了,就是得不到想要的结果.
#include"stdio.h"
#include"math.h"
int main(void)
{
int a,b,c,d,e,sum;
scanf("%d",a);
if(a>=1000&&a<=9999)
{
b=a/1000; /*编译警告,a在定义之前,已经在main函数中,是不是和这里有关,请高手指点*/
c=a/100-b*10;
d=a/10-b*100-c*10;
e=a-b*1000-c*100-d*10;
sum=b+c+d+e;
printf("%d\n",sum);
}
else
printf("This is error!")
getch();
}
----------------解决方案--------------------------------------------------------
这个问题有人问过了。
给你一个N位数的。
#include<stdio.h>
int main(void)
{
long num=0,bit=1,sum=0,t;
puts("Please input your number:\n");
scanf("%ld",&num);
t=num;
while(t/=10)
bit++;
while(num%10)
{
sum+=num%10;
num/=10;
}
printf("%d",sum);
}
----------------解决方案--------------------------------------------------------
谢谢你了,请问能不能帮我看看问题出在哪里了,我感觉思路是对的,可就是找不出错的地方
----------------解决方案--------------------------------------------------------
/*两个问题:1:scanf()函数中的变量要用取地址符:& 2:printf()语句后少了个逗号*/
//***********************************************************************
//***任意输入一个四位数,四个数分别相加,也就是千位+百位+十位+个位=?****
//*******我写的这个程序不知道那里错了,就是得不到想要的结果.*************
//******* Author ml342418175 DATE 2007-4-23 Amender Laigaoat2005******
//***********************************************************************
#include"stdio.h"
#include"math.h"
int main()
{
int a,b,c,d,e,sum;
scanf("%d",&a);
if(a>=1000&&a<=9999)
{
b=a/1000; /*编译警告,a在定义之前,已经在main函数中,是不是和这里有关,请高手指点*/
c=a/100-b*10;
d=a/10-b*100-c*10;
e=a-b*1000-c*100-d*10;
sum=b+c+d+e;
printf("%d\n",sum);
}
else
printf("This is error!") ;
getchar();
}
/*********这个程序还可以写成:***************/
/************************************************************************/
/****任意输入一个四位数,四个数分别相加,也就是千位+百位+十位+个位=?****/
/********我写的这个程序不知道那里错了,就是得不到想要的结果.*************/
/******** Author ml342418175 DATE 2007-4-23 Amender Laigaoat2005******/
/************************************************************************/
#include"stdio.h"
#include"math.h"
main()
{
int a,b,c,d,e,sum;
scanf("%d",&a);
if((a>=1000)&&(a<=9999))
{
b=a%10; /*编译警告,a在定义之前,已经在main函数中,是不是和这里有关,请高手指点*/
c=b%10;
d=c%10;
e=d%10;
sum=b+c+d+e;
printf("%d\n",sum);
}
else
{
printf("This is error!") ;
}
getch();
}
我也初学,共同进步哈.
----------------解决方案--------------------------------------------------------
我在tc2.0和C-Free中给你调试通过了的.
----------------解决方案--------------------------------------------------------
以下是引用laigaoat2005在2007-4-23 19:46:01的发言:
/*两个问题:1:scanf()函数中的变量要用取地址符:& 2:printf()语句后少了个逗号*/
//***********************************************************************
//***任意输入一个四位数,四个数分别相加,也就是千位+百位+十位+个位=?****
//*******我写的这个程序不知道那里错了,就是得不到想要的结果.*************
//******* Author ml342418175 DATE 2007-4-23 Amender Laigaoat2005******
//***********************************************************************
#include"stdio.h"
#include"math.h"
int main()
{
int a,b,c,d,e,sum;
scanf("%d",&a);
if(a>=1000&&a<=9999)
{
b=a/1000; /*编译警告,a在定义之前,已经在main函数中,是不是和这里有关,请高手指点*/
c=a/100-b*10;
d=a/10-b*100-c*10;
e=a-b*1000-c*100-d*10;
sum=b+c+d+e;
printf("%d\n",sum);
}
else
printf("This is error!") ;
getchar();/*我在WINTC里运行,这里不要AR了,要的话,直接跳过*/
}
/*********这个程序还可以写成:***************/
/************************************************************************/
/****任意输入一个四位数,四个数分别相加,也就是千位+百位+十位+个位=?****/
/********我写的这个程序不知道那里错了,就是得不到想要的结果.*************/
/******** Author ml342418175 DATE 2007-4-23 Amender Laigaoat2005******/
/************************************************************************/
#include"stdio.h"
#include"math.h"
main()
{
int a,b,c,d,e,sum;
scanf("%d",&a);
if((a>=1000)&&(a<=9999))
{
b=a%10; /*编译警告,a在定义之前,已经在main函数中,是不是和这里有关,请高手指点*/
c=b%10;
d=c%10; /*这里的 d=c%10,是什么意思?解释给我下嘛,我不知道,还有就是运行结果不正确,谢谢你的帮助*/
e=d%10;
sum=b+c+d+e;
printf("%d\n",sum);
}
else
{
printf("This is error!") ;
}
getch();
}
我也初学,共同进步哈.
/*两个问题:1:scanf()函数中的变量要用取地址符:& 2:printf()语句后少了个逗号*/
//***********************************************************************
//***任意输入一个四位数,四个数分别相加,也就是千位+百位+十位+个位=?****
//*******我写的这个程序不知道那里错了,就是得不到想要的结果.*************
//******* Author ml342418175 DATE 2007-4-23 Amender Laigaoat2005******
//***********************************************************************
#include"stdio.h"
#include"math.h"
int main()
{
int a,b,c,d,e,sum;
scanf("%d",&a);
if(a>=1000&&a<=9999)
{
b=a/1000; /*编译警告,a在定义之前,已经在main函数中,是不是和这里有关,请高手指点*/
c=a/100-b*10;
d=a/10-b*100-c*10;
e=a-b*1000-c*100-d*10;
sum=b+c+d+e;
printf("%d\n",sum);
}
else
printf("This is error!") ;
getchar();/*我在WINTC里运行,这里不要AR了,要的话,直接跳过*/
}
/*********这个程序还可以写成:***************/
/************************************************************************/
/****任意输入一个四位数,四个数分别相加,也就是千位+百位+十位+个位=?****/
/********我写的这个程序不知道那里错了,就是得不到想要的结果.*************/
/******** Author ml342418175 DATE 2007-4-23 Amender Laigaoat2005******/
/************************************************************************/
#include"stdio.h"
#include"math.h"
main()
{
int a,b,c,d,e,sum;
scanf("%d",&a);
if((a>=1000)&&(a<=9999))
{
b=a%10; /*编译警告,a在定义之前,已经在main函数中,是不是和这里有关,请高手指点*/
c=b%10;
d=c%10; /*这里的 d=c%10,是什么意思?解释给我下嘛,我不知道,还有就是运行结果不正确,谢谢你的帮助*/
e=d%10;
sum=b+c+d+e;
printf("%d\n",sum);
}
else
{
printf("This is error!") ;
}
getch();
}
我也初学,共同进步哈.
THANY YOU.
----------------解决方案--------------------------------------------------------
不用客气哈。以后我还有题目问你呢?
----------------解决方案--------------------------------------------------------
#include"stdio.h"
#include"math.h"
int main(void)
{
int a,b,c,d,e,sum;
scanf("%d",&a); /* & */
if((a>=1000)&&(a<=9999))
{
b=a/1000; /*编译警告,a在定义之前,已经在main函数中,是不是和这里有关,请高手指点*/
c=a/100-b*10;
d=a/10-b*100-c*10;
e=a-b*1000-c*100-d*10;
sum=b+c+d+e;
printf("%d\n",sum);
}
else
printf("This is error!"); /* ; */
getch();
}
----------------解决方案--------------------------------------------------------
//***********************************************************************
//***任意输入一个四位数,四个数分别相加,也就是千位+百位+十位+个位=?****
//*******我写的这个程序不知道那里错了,就是得不到想要的结果.*************
//******* Author ml342418175 DATE 2007-4-24 Amender Laigaoat2005******
//***********************************************************************
昨天的第二个程序错了,现修改如下:
#include"stdio.h"
#include"math.h"
int main()
{
int a,b,c,d,e,sum;
scanf("%d",&a);
if(a>=1000&&a<=9999)
{
b=a/1000; /*编译警告,a在定义之前,已经在main函数中,是不是和这里有关,请高手指点*/
c=a/100-b*10; /*除十取余*/
d=a/10-b*100-c*10;
e=a-b*1000-c*100-d*10;
sum=b+c+d+e;
printf("%d\n",sum);
}
else
printf("This is error!") ;
getchar();
}
----------------解决方案--------------------------------------------------------