2018-01-24循环应用
算平均数
• 让⽤用户输⼊入⼀一系列的正整数,最后输⼊入-1 表⽰示输⼊入结束,然后程序计算出这些数字 的平均数,输出输⼊入的数字的个数和平均 数
• 变量->算法->流程图->程序
算法
1. 初始化变量sum和count为0;
2. 读⼊入number;
3. 如果number不是-1,则将number 加⼊入sum,并将count加1,回到 2;
4. 如果number是-1,则计算和打印 出sum / count(注意换成浮点来 计算)。
用while循环来写这个程序:
#include<stdio.h>
int main ()
{
int number,num=0,count=0,sum=0;
scanf("%d",&number);
while( number!=-1){
sum+=number;
count++;
scanf("%d",&number);
}
printf("%f\n",1.0*sum/count);
return 0;
}
整数的分解
• ⼀一个整数是由1⾄至多位数字组成的,如何分解出整数 的各个位上的数字,然后加以计算
• 对⼀一个整数做%10的操作,就得到它的个位数;
• 对⼀一个整数做/10的操作,就去掉了它的个位数;
• 然后再对2的结果做%10,就得到原来数的⼗十位数了 ;
• 依此类推。
数的逆序
• 输⼊入⼀一个正整数,输出逆序的数
• 结尾的0的处理
程序1:
#include<stdio.h>
int main ()
{
int x;
scanf("%d",&x);
int digit;
int ret=0;
while(x>0)
{
digit =x%10;
//printf("%d\n",x,digit);
ret=ret*10+digit;
printf("%d\n",x,digit,ret);
x/=10;
}printf("x=%d",ret);
return 0;
}
1 2程序2:
#include<stdio.h>
int main ()
{
int x;
scanf("%d",&x);
int digit;
int ret=0;
while(x>0)
{
digit =x%10;
printf("%d",digit);
ret=ret*10+digit;
//printf("%d\n",x,digit,ret);
x/=10;
}//printf("x=%d",ret);
return 0;
}
3