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

简介: 一、循环输入 #include "stdio.h" void main() { char c; do { printf("我告诉你1+1=2\n"); printf("你相信吗?(y/n)"); c=get...

一、循环输入

#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]);
    }
}

 

目录
相关文章
|
2月前
|
C语言
初识C语言2——分支语句和循环语句
初识C语言2——分支语句和循环语句
75 5
|
3月前
|
安全 C语言
C语言循环的使用注意点
在C语言中,合理使用循环对于编写高效、安全的代码至关重要。以下是几点建议:确保循环条件正确以避免无限循环;每次迭代时正确更新循环变量;恰当使用`break`和`continue`控制执行流程;注意嵌套循环中的变量作用域;简化循环体内逻辑;根据需求选择合适的循环类型;注意数据类型以避免溢出;保持良好的缩进和注释习惯;减少重复计算以提升性能;确保循环终止条件明确。遵循这些建议,可以提高代码质量和可维护性。
226 88
|
2月前
|
C语言
【c语言】循环语句
循环结构是C语言中用于简化重复操作的重要工具,主要包括while循环、do-while循环和for循环。while循环是最基本的形式,通过不断检查条件来决定是否继续执行循环体。do-while循环则先执行循环体,再检查条件,至少执行一次。for循环逻辑更复杂,但使用频率最高,适合初始化、条件判断和更新变量的集中管理。此外,循环中还可以使用break和continue语句来控制循环的提前终止或跳过当前迭代。最后,循环可以嵌套使用,解决更复杂的问题,如查找特定范围内的素数。
45 6
|
2月前
|
Serverless C语言
C语言控制语句:分支、循环和转向
C语言控制语句:分支、循环和转向
|
2月前
|
算法 编译器 C语言
【C语言】实现猜数字游戏(分支语句与循环语句的运用)
【C语言】实现猜数字游戏(分支语句与循环语句的运用)
|
2月前
|
C语言
教你快速理解学习C语言的循环与分支
教你快速理解学习C语言的循环与分支
17 0
|
2月前
|
小程序 C语言
初识C语言:走近循环
初识C语言:走近循环
|
3月前
|
C语言
【C语言基础考研向】08判断语句与循环语句
本文介绍了C语言中的关键编程概念:首先解析了关系表达式与逻辑表达式的优先级及计算过程;接着详细说明了`if-else`语句的使用方法及其多分支和嵌套应用;然后讲解了`while`循环与`for`循环的语法和注意事项;最后介绍了`continue`和`break`语句在控制循环中的作用和示例代码。
|
2月前
|
编译器 C语言 C++
【C语言】循环语句(语句使用建议)
【C语言】循环语句(语句使用建议)
|
3月前
|
存储 算法 C语言
C语言手撕实战代码_循环单链表和循环双链表
本文档详细介绍了用C语言实现循环单链表和循环双链表的相关算法。包括循环单链表的建立、逆转、左移、拆分及合并等操作;以及双链表的建立、遍历、排序和循环双链表的重组。通过具体示例和代码片段,展示了每种算法的实现思路与步骤,帮助读者深入理解并掌握这些数据结构的基本操作方法。