C语言基础第8天

1.每次构思架构之前
● 先把需要得变量一 一 列出来。
● 再把各个变量得性质,初始值列出来
● 然后再根据整理出来得数据确定使用哪个循环、函数、判断等等。

2.注意嵌套循环得用法

从第一个循环开始,就像一个洋葱一样,一层包着一层。
从而每个大括号得使用也是如此

经典小程序 : 凑角
#include <stdio.h>
int main()
{
int x;
printf(“请输入金额:”);
scanf("%d",&x);
int one,two,five;
for(one=1;one<x10;one++)
{ for(two=1;two<x
10/2;two++){
for(five=1;five<x*10/5;five++){

     if(one+two*2+five*5==x*10)
       {printf("需要%d个一角%d个两角%d个五角得到%d元\n",one,two,five,x); }
  }
   }
	}
return 0;

}

注意这里每个大括号得排列

3.从嵌套的角度讲,break 只能跳出 它所在的循环。
● 即对于 break 和 continue
只能对其所在的那层循环起作用。

4.接力 break 跳出 内循环及整个大循环
模型: 前面定义:int exit=0;
小内循环里证 : exit=1; break;
中外1循环: if(exit=1)break;
大外2循环: if(exit=1)break;
特大外3循环:if(exit=1) break;
以此类推
案例:

#include <stdio.h>
int main()
{
int x;
printf(“请输入金额:”);
scanf("%d",&x);
int one,two,five;
int exit=0;
for(one=1;one<x10;one++)
{ for(two=1;two<x
10/2;two++){
for(five=1;five<x*10/5;five++){

     if(one+two*2+five*5==x*10)
       {printf("需要%d个一角%d个两角%d个五角得到%d元\n",one,two,five,x); 
	      exit=1;break; }
  }
    if(exit==1)break;
   }
    if(exit==1)break;
	}
return 0;

}

5

.goto out;→→→>out:(注意这里是冒号不是分号)

●从内循环跳出整个循环的方法。
即:在内层里想要跳出
● 就在 所在的循环结束的地方写出 goto out ;

                              ● 然后再在整个大循环后面也就是 return 的前面写出 out:

经典小程序:

  #include <stdio.h>

int main()
{
int x;
int one,two,five;
printf(“请输入金额:”);
scanf("%d",&x);
for(one=1;one<x10;one++){
for(two=1;two<x
10/2;two++){
for(five=1;five<x10/5;five++){
if(one+two
2+five5==x10){
printf(“需要%d个一角%d个两角%d个五角得到%d元”,one,two,five,x);

goto out;→→→→→>这里是分号;

		  } 
		   }
            }
             }

out:→→→→>注意这里是冒号:不是分号;

   return 0; 

}

注意 goto out;和 out:的位置

6.一般来说 goto 只有在从最内层循环跳到最外层循环时才会使用;
其他地方不建议使用

★★★★**
7.涉及有关 除 和 小数点的运算时,都要用浮点变量类型来定义变量。**

double 定义 变量为 0 时 应为 0.0

定义为 1 时 应为 1.0,以此类推。

8.关于 sum

sum 一般用于 函数求和 变量求和等等
具体用法见例子:

经典小程序:求前 n 项和

f(n)=1+1/2-1/3+1/4+。。。。。+1/n

#include <stdio.h>
int main()
{
int x;
int n;

float sum=0.0;

scanf("%d",&n);

for(x=1;x<=n;x++)
   { 

sum+=1.0/x;

}
printf(“f(%d)=%f”,n,sum);
return 0;
}

9.变形求前 N 项和
#include <stdio.h>
int main()
{
int x;
int n;
float sum=0.0;

int sign=1;

scanf("%d",&n);

for(x=1;x<=n;x++)
   {  sum+=1.0/x;}

sign=-sign;

printf(“f(%d)=%f”,n,sum);
return 0;
}

注意里面 sign 的用法,先定义一个 sign 的值 然后再变为自己所用。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值