学习循环编程,掌握循环的基本思想

1. 求累加和
背景:
哈哈!小明开始进行加法强化修炼啦。

功能:
求整数 n 到 m 区间的累加和,其中 n<=m。

输入:
区间的起始点 n 区间的终止点 m

输出:
累加和

#include <stdio.h>  
  
int main(int argc, char** argv) {  
    int a,b,c,d;  
    scanf("%d%d",&a,&b);  
    c=a;  
    d=0;  
    while(c<=b)  
    { d=c+d;  
      c=c+1 ;  
    }  
      
    printf("The sum from %d to %d is %d.\n",a,b,d);  
    return 0;  
}  

2. 青蛙出井
在 LIT(哈哈,能猜到是什么地方吧?)有一口用于铺设光纤的施工井,井中有一只青蛙过着无忧无虑的生活,有一天,它想出去看看更广阔的天空,于是决定行动了!

第一天它向上爬了 n 米,由于缺少食物,每过一天青蛙比前一天少爬 1 米,且每天结束都会下滑 m 米,井有 x 米深。请判断青蛙是否能爬出井,如果能,求爬出经过的天数 d。

输入:n m x(假设n,m,x均为正整数)

输出:d。

#include <stdio.h>  
  
int main(int argc, char** argv)  
 {  
    int n,m,x,i,d;  
    d=1;  
    i=0;  
      
    scanf("%d%d%d", &n , &m , &x );  
    if (n<m) {printf("青蛙不能爬出井。\n");  
    }  
    while (n>0)  
    {  i=i+n;  
    if (i>=x) {  
      
    printf("青蛙能爬出井,且第 %d 天爬出井。\n",d);break;  
    }  
    else {  
    i=i-m;  
    d++;  
    n--;  
}  
      
}  
     
}  

3. 循环字母
小明开始学习英文,第一节课就是学习26个字母。为了帮助小明记住这些字母,小明的哥哥编写了一个程序,只要说出第一个字母,就可以依次循环先是后续的26个字母。

输入:
一个起始字母(大小写字母均可)

输出:
以指定字母为起始的26个字母

#include <stdio.h>  
  
int main(int argc, char** argv)   
{   char a,b,c;  
    int d,e,f;  
    scanf("%c",&a);   
    d=a;  
    e=a;  
    if (d>94)  
    { while (d<=122)  
      {  
        printf ("%c", d );  
       d++;  
       } f=97;  
       while (e>f)  
       {    
         printf ("%c",f);  
         f=f+1;  
       }  
         printf ("\n");  
         }  
    else { while (d<=90)  
    {   printf ("%c", d );  
       d++;  
    }  f=65;  
       while (e>f)  
       { printf ("%c",f);  
         f=f+1;  
       }  
       printf ("\n");  
             
    }  
      
    return 0;  
}  

4. 念整数
题目内容:

你的程序要读入一个整数,范围是[-100000000,100000000]。然后,用汉语拼音将这个整数的每一位输出出来。

如输入1234,则输出:

yi er san si

注意,每个字的拼音之间有一个空格,但是最后的字后面没有空格。当遇到负数时,在输出的开头加上"fu”,如 -2341输出为:

fu er san si yi

输入格式:

一个整数,范围是[-100000,100000]。

输出格式:

表示这个整数的每一位数字的汉语拼音,每一位数字的拼音之间以空格分隔,末尾没有空格。

输入样例:

-30

输出样例:

fu san ling

选自:翁恺老师 2015 年MOOC 课程。

#include <stdio.h>  
  
int main(int argc, char** argv)  
 {  
    int  a, i = -1, d[10],j = 0 ;  
    scanf("%d",  &a );  
    if (a<0){  
        printf("fu ");  
        a=-a;  
    }  
    while(a>0)
    {
    	d[i] = a%10;
    	a = a/10;
    	i++;
	}
    for(j = i;j>=0;j--)
    {
    	dis(d[j]);
    	printf(" ");
	}
  	printf("\n");  
}  

void dis(int d) 
{
	switch (d)  
     {
	  case 1:printf("yi");break;    
	  case 2:printf("er");break;    
	  case 3:printf("san");break;    
	  case 4:printf("si");break;    
	  case 5:printf("wu");break;    
	  case 6:printf("liu");break;    
	  case 7:printf("qi");break;    
	  case 8:printf("ba");break;    
	  case 9:printf("jiu");break;    
	  case 0:printf("ling");break;  
     }  
     
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值