C语言 第六章 多重循环练习

一、循环输入

#include "stdio.h"
void main()
{
    char c;
    do
    {
        printf("我告诉你1+1=2\n");
        printf("你相信吗?(y/n)");
        c=getchar();
        fflush(stdin);
    }while(c=='n');
}

二、输入行与列显示矩形

#include "stdio.h"
void main()
{
   int row,col,i,j;
   char c;

   do{
       printf("行:");
       scanf("%d",&row);
       fflush(stdin);

       printf("列:");
       scanf("%d",&col);
       fflush(stdin);

       for(i=1;i<=row;i++)
       {
               for(j=1;j<=col;j++)
               {
                   printf("*");
               }
               printf("\n");
       }
        printf("是否继续?(y/n)");
        c=getchar();
        fflush(stdin);
   }while(c=='y');

}

三、1-10之间的阶乘

1!+2!+3!

1+(1*2)+(1*2*3)

#include "stdio.h"
void main()
{
    int i,j,n,cnt,sum=0;

    for(j=1;j<=10;j++)
    {
        cnt=1;
        for(i=1;i<=j;i++)
        {
            cnt=cnt*i;
            printf("%d x ",i);
        }
        sum+=cnt;
        printf("=%d\n",cnt);
    }
    printf("%d",sum);
}

四、买苹果

#include "stdio.h"
void main()
{
    //总苹果数x0.8/天数=每天花的钱
    int n,cnt=0,day=0; //表示当天买的苹果数
    for(n=2;n<=100;n=n*2,day++)
    {
        cnt=cnt+n;  //累加每天的苹果数
        printf("%d %d\n",n,cnt);
    }

    printf("%.2f",(cnt*0.8)/day);
}

五、课后练习吃饭吃菜

#include "stdio.h"
void main()
{
    int i,j;
    for(i=1;i<=10;i++)
    {
        printf("\n吃一口饭\n");
        for(j=1;j<=3;j++)
        {
            printf("吃菜\t");
        }
    }
}

六、分解质因数

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    int i,n;
    scanf("%d",&n);  //输入
    for(i=2;i<=n;i++)  //假定i-n之间的所有数都是n的质因数
    {
        if(n%i==0)  //是否整除
        {
            printf("%d \t",i);
            n=n/i;
            i--;  //为了避免跳过多个相同因子将i--
        }
        //n=28 14 7 1
        //i=2 1 2 1 2 3 4  5 6 7 6 7 8
    }
    //2 2 7
}

七、101-200间的素数,P136

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    //判断一个数是否是素数
    int n=101,leap,i,cnt=0;

    while(n<=200)  //外重循环用于准备数
    {
        leap=1;  //假定n就是素数
        for(i=2;i<n/2;i++)
        {
            if(n%i==0)  //只要在2-n之间有一个数被整除
            {
                leap=0;  //标记n不是素数
                break;  //结束内重循环
            }
        }

        if(leap)
        {
            cnt++;
            printf("%d  ",n);
            if(cnt%10==0) printf("\n");   //当素数个数是10的倍数时换行
        }
        n++;
    }

    printf("\n101-200之间共有%d个素数",cnt);

}

八、乒乓球比赛题 P140

#include "stdio.h"
void main()
{
    int i,j;
    for(i='a';i<='c';i++)
    {
        for(j='x';j<='z';j++)
        {
            if(i=='a'&&j=='x'||(i=='c'&&(j=='x'||j=='z'))) continue;
            printf("%c VS %c \n",i,j);
        }
    }
}

#include "stdio.h"
void main()
{
    int i,j,k=0,flag=0,n=0;
    char a[]="abc";
    char b[]="xyz";
    char c[3];

    for(i=2;i>=0;i--)
    {
        for(j=0;j<=2;j++)
        {
            if(a[i]=='a'&&b[j]=='x'||(a[i]=='c'&&(b[j]=='x'||b[j]=='z'))) continue;

            //如果数组中已存在则不行
            flag=0;
            for(k=0;k<3;k++)
            {
                if(c[k]==b[j]){flag=1;break;};
            }

            //存入数组中
            if(flag==0){
               c[n++]=b[j];
               break;
            }
        }
    }

    for(i=0;i<3;i++)
    {
        printf("%c对%c \t",a[i],c[2-i]);
    }
}

 

时间: 2024-09-26 01:16:57

C语言 第六章 多重循环练习的相关文章

C语言 第六章 多重循环

一.概要 在c语言中,if,switch,for,while,do-while可以相互间多次嵌套. if(){ for() { for() { } } }   while() { for(){ } for(){ } } break,continue只跳出当前循环,不会影响外重循环,不会因为内重循环跳出整个循环体,只影响与自己最近的一个循环. for() { for() {    break; } } 二.二重循环 #include "stdio.h" void main() { int

c语言-C程序多重循环的条件判断问题的咨询

问题描述 C程序多重循环的条件判断问题的咨询 多重循环怎么学?多重循环的条件判断是根据什么语句来实现的?如何学好C语言的多重循环? 解决方案 http://ask.csdn.net/questions/215403 解决方案二: 额...这个不就两个for循环套着嘛 你要认真看教材,在开始学的情况下直接看源程序还是不大合适的 解决方案三: 多重循环没必要学,需要学的是为什么程序设计里有时会存在多重循环,自己应该在什么条件下使用循环和循环嵌套. 解决方案四: 可以用for()循环嵌套 解决方案五:

&amp;gt;第六章 控制语句(rainbow 翻译)(来自重粒子空间)

控制|语句 <<展现C#>>第六章 控制语句(rainbow 翻译)  出处:http://www.informit.com/matter/ser0000002 正文:                                  第六章   控制语句     有一种语句,你在每种编程语言控制流程语句中都可以找到.在这一章中,我介绍了C#的控制语句,它们分为两个主要部分:.选择语句.循环语句如果你是C或C++程序员,很多信息会让你感到似曾相似:但是,你必须知道它们还存在着一些差

《.net编程先锋C#》第六章 控制语句(转)

编程|控制|语句 第六章 控制语句 有一种语句,你在每种编程语言控制流程语句中都可以找到.在这一章中,我介绍了C#的控制语句,它们分为两个主要部分:.选择语句.循环语句如果你是C或C++程序员,很多信息会让你感到似曾相似:但是,你必须知道它们还存在着一些差别. 6.1 选择语句当运用选择语句时,你定义了一个控制语句,它的值控制了哪个语句被执行.在C#中用到两个选择语句:.if 语句.switch 语句 6.1.1 if 语句最先且最常用到的语句是 if 语句.内含语句是否被执行取决于布尔表达式:

Android群英传笔记——第六章:Android绘图机制与处理技巧

Android群英传笔记--第六章:Android绘图机制与处理技巧 一直在情调,时间都是可以自己调节的,不然世界上哪有这么多牛X的人 今天就开始读第六章了,算日子也刚好一个月了,一个月就读一半,这效率也确实有点低了,自己还要加把劲,争取四月底全部看完,第六章讲的是Android的绘图机制,应该算是比较核心的东西了,不管什么功能,最终都是以图形的方式呈现给用户的,因此,掌握Android的绘图技巧,可以在让你设计应用的时候更加的随心所欲,对Android的理解更高 基本的绘图方法,相信读者都已经

字符-c++ primer plus 里面第六章isdigit用法的一些疑问,初学者,脑残见谅

问题描述 c++ primer plus 里面第六章isdigit用法的一些疑问,初学者,脑残见谅 楼主在做这本书第六章课后习题时有些不理解这两段代码 代码1:isdigit的使用目的是识别出数字,把数字掠过而仅处理剩下的字符 while(ch!='@') { if(isdigit(ch)) cin.get(ch); else { if(islower(ch)) ch=toupper(ch); else ch=tolower(ch); cout< cin.get(ch); } 代码2:isdig

Swift语言指南(六)--可选值

原文:Swift语言指南(六)--可选值 在值可能不存在的情况下使用可选值(optional), 可选值是: · 存在一个值,这个值等于 x 或 · 不存在任何值  注: 在 C 和 Objective-C 中可选值的概念并不存在.Objective-C 中(与可选值)最相近的(概念)是,一个以对象为返回值的方法,也可以返回 nil,nil表示"不存在有效的对象".不过,这规则只对对象有效--对于结构.基本的 C 类型或枚举值无效.对于这些类型,Objective-C 语言的方法通常会

第六章、输入输出系统

第六章.输入输出系统 I/O系统的概念:指用于实现数据输入.输出以及数据存储的系统. 假脱机(SPooling)系统 假脱机技术是低速输入输出设备与主机交换的一种技术,通常也称为"假脱机真联机",核心思想史以联机的方式得到脱机的效果. 通过假脱机技术,可以将一台物理I/O设备虚拟为多台逻辑I/O设备,这样也就允许多个用户共享一台物理I/O设备. 脱机技术:利用专门的外围控制机,先将低速I/O设备的数据传到高速磁盘上,或者相反.这样当处理机需要输入数据时,便可以直接从磁盘中读取数据,极大

ASP.NET2.0自定义控件组件开发 第六章 深入讲解控件的属性

原文:ASP.NET2.0自定义控件组件开发 第六章 深入讲解控件的属性                                         深入讲解控件的属性持久化(一) 系列文章链接: ASP.NET自定义控件组件开发 第一章 待续 ASP.NET自定义控件组件开发 第一章 第二篇 接着待续 ASP.NET自定义控件组件开发 第一章 第三篇 ASP.NET自定义控件组件开发 第二章 继承WebControl的自定义控件 ASP.NET自定义控件组件开发 第三章 为控件添加事件 前