用C语言接收用户输入的一个四位数,用while循环计算个位,十位,百位,千位之和,
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用C语言接收用户输入的一个四位数,用while循环计算个位,十位,百位,千位之和,相关的知识,希望对你有一定的参考价值。
用C语言接收用户输入的一个四位数,用while循环计算个位,十位,百位,千位之和,
#include "stdio.h"void main()
int num,sum=0;
int temp1 = 0, temp2=0;
scanf("%d", &num); //输入一个数字
temp2 = num; //临时存储数字
while (temp2 >0)
temp1 = temp2 % 10;//取数字的最后一位数
temp2 = temp2 / 10;//让临时数字右边去除一位
sum += temp1;//求和
printf("%d各位数之和为%d\\n", num, sum);//显示
不限于四位数,你要是要求必须输入四位数,就加个if判断一下,我就不写了
参考技术A 望采纳#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
int main()
char buf[BUFSIZ];
int num,res=0;
while(1)
fgets(buf,BUFSIZ,stdin);
num=atoi(buf);
if(num>=1000&&num<=9999)
break;
else
printf("input err and do again\n");
while(num)
res+=num%10;
num/=10;
printf("the sum is %d\n",res);
return 0;
参考技术B #include"stdio.h"
void main()
long i,sum=0;
int t;
scanf("%d",&i);
while(i!=0)
t=i%10;
sum+=t;
i=i/10;
printf("sum is %d",sum);
参考技术C #include<stdio.h>
main()
int a,b,c,d,e,sum;
while(1)
printf("请输入一个四位数字:\n");
scanf("%d",&a);
b=a/1000;
c=(a-b*1000)/100;
d=(a-b*1000-c*100)/10;
e=(a-b*1000-c*100-d*10)/1;
printf("b=%d\n",b);
printf("c=%d\n",c);
printf("d=%d\n",d);
printf("e=%d\n",e);
sum=b+c+d+e;
printf("sum=%d\n",sum);
return;
c语言用while循环使一个字符串的奇数位字母不变,偶数位字母大小写转换。
参考技术A 假定序号为
123456。。。--
2,4,6
为偶数位。
偶数位
字母大小换转,其它字符不变。
#include<stdio.h>
#include<stdlib.h>
main()
int
i;
char
s[120];
printf("input
string\n");
gets(s);
//读一行字符串,允许夹空白
for(i=0;i<strlen(s);i++)
if
(i%2
==
1)
//
如果序号定为
012345,
且0,2,4,6
为偶数位,改条件为
i%2==0
if(
s[i]>='a'
&&
s[i]<='z')
s[i]=s[i]-'a'+'A';
else
if(
s[i]>='A'
&&
s[i]<='Z')
s[i]=s[i]-'A'+'a';
printf("%s\n",s);
return
0;
如果你要
while
循环,把for
改
while(1)..:
i=0;
while(1)
if
(i%2
==
1)
if(
s[i]>='a'
&&
s[i]<='z')
s[i]=s[i]-'a'+'A';
else
if(
s[i]>='A'
&&
s[i]<='Z')
s[i]=s[i]-'A'+'a';
;
i++;
if
(i
>=
strlen(s))
break;
其余不变。
以上是关于用C语言接收用户输入的一个四位数,用while循环计算个位,十位,百位,千位之和,的主要内容,如果未能解决你的问题,请参考以下文章