昨天我们复习了了选择结构的综合案例,那么我们今天开始复习循环结构。循环结构的内容比较多,所以我会将内容分为两天给大家展示,那么今天的实例题目也会比较多一些,所以也请各位能够耐心完成学习我列于文中一些小题,在独立完成理解后,我相信大家对C语言的学习和理解也会有一些全新的认识和提高。
我会先将后期我们复习到循环的一些小知识点一起放在这里给大家,所以要求大家对此要有一定的理解和掌握:
知识点:
一、break结束循环:
1、选择前几个问题
int i , a=0;
for(i=初始值;i<=末尾值;i++)
{
if(条件)
{
printf("%d",i)
a++;
if(a==选择前几个的数值)
{
break;
}
}
}
2、最小值
int i;
for(i=初始值;i<=末尾值;i++)
{
if(条件)
{
printf("%d",i);
break;
}
}
3、最大值
方法1,倒序输出break
int i,a=0;
for(i=末尾值;i>=初始值;i--)
{
if(条件)
{
printf("%d",i);
break;
}
}
方法2,给max赋值
int i,max ;
for(i=初始值;i<末尾值;i++)
{
if(条件)
{
max=i
}
}
printf("最大值是:%d",i);
二、简单的图形输出
1、正三角形(i为行j为列)
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++) // *
{ // **
printf("*"); // ***
} // ****
printf("\n");
}
2、倒三角形(i为行j为列)
for(i=n;i>=1;i--)
{
for(j=1;j<=i;j++) // ****
{ // ***
printf("*"); // **
} // *
printf("\n");
3、正方形 (i为行j为列)(n行n列)
for(i=1;i<=n;i++)
{ //* * * * * *
for(j=1;j<=n;j++) //* * * * * *
{ //* * * * * *
printf("*"); //* * * * * *
} //* * * * * *
printf("\n"); //* * * * * *
}
4、矩形(i为行j为列) (m行n列)
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++) //* * * * * *
{ //* * * * * *
printf("*"); //* * * * * *
} //* * * * * *
printf("\n");
}
那接下来我们就来做几个题目来帮助大家来了解上边的知识点,答案我还是会像往常一样放在结尾部分,各位可以自行参考。那么我们先来看看几天的几个关于FOR的知识。
那我们就从FOR与IF的嵌套开始,做会这个我相信大家都已经对其知识有了属于自己体系的理解:
题目一: (for嵌套if)
给定起始年份1000到终止年份2024,统计区间内闰年的年份有多少个?
(闰年条件能被4整除,但不被100整除或者能被400整除。
(起始年份int start=1000; 终止年份int end=2024 闰年个数int n? ? )
题目二 :(for嵌套if)
给定起始年份1000到终止年份2024,统计区间内平年的年份有多少个?
(闰年条件能被4整除,但不被100整除或者能被400整除。)
(起始年份int start=1000; 终止年份int end=2024 平年个数int n? ? )
题目三:(for嵌套if)
统计范围内偶数数值的个数以及能被3整除的数值的个数
(范围【1 ,123】个数 int n??)
题目四:(for嵌套if)
给出字符变量ch1和字符变量ch2,求其区间范围内所有ASCII码为奇数的字符,并统计个数
(char ch1='A'; char ch2='Z'; 统计个数:int c=0;
接着就是图形的输出,也许刚开始有些困难,但是还请各位继续努力!
题目五:(for嵌套for)
请输出一个5行的正三角形,如下所示:
1
13
135
1357
13579
题目六 :(for嵌套if)
使用循环的嵌套输出一个四行七列空心的矩形,如下所示:
(用“* ”和“ - ”输出图形)
*******
*-----*
*-----*
*******
这其中包含了许多的问题也希望各位能够有耐心去理解并独立解决此类问题,也祝大家生活愉快,谢谢!
答案不唯一:
仅供参考:
答案一:
#include "stdio.h"
void main()
{
int start=1000,end=2024;
int i,n=0;
for(i = start; i <= end; i++)
{
if(i%4==0&&(i%100!=0||i%400==0))
{
n++;
}
}
printf("%d",n);
}
答案二:
#include "stdio.h"
void main()
{
int start=1000,end=2024;
int i,n=0;
for(i = start; i <= end; i++)
{
if(i%4==0&&(i%100!=0||i%400==0))
{
n++;
}
}
printf("%d",end-start-n+1);
}
答案三:
#include "stdio.h"
void main()
{
int start=1,end=123;
int i,n;
for(i=1;i<=123;i++)
{
if(i%3==0&&i%2==0)
{
n++;
}
}
printf("%d",n);
}
答案四:
#include "stdio.h"
void main()
{
char ch1='A',ch2='Z';
int i,c=0;
for(i=ch1;i<=ch2;i++)
{
if(i%2!=0)
{
c++;
}
}
printf("%d",c);
}
答案五:
#include "stdio.h"
void main()
{
int i,j;
int a,b;
for(i=1;i<=5;i++)
{
a=1;
for(j=1;j<=i;j++)
{
printf("%d",a);
a=a+2;
}
printf("\n");
}
}
答案六:
#include "stdio.h"
void main()
{
int i,j;
int a,b;
for(i=1;i<=4;i++)
{
for(j=1;j<=7;j++)
{
if(i==1||i==4||j==1||j==7)
{
printf("*");
}
else
{
printf("-");
}
}
printf("\n");
}
}
标签:年份,题目,嵌套,int,个数,C语言,案例,循环,整除
From: https://blog.csdn.net/2301_78178080/article/details/137556987