目录
6.校门外的树
7.明明的随机数
8.质因数分解
9.不高兴的津津
10.津津的储蓄计划
题目分析:用0标记有树,用1标记被砍掉的树,不难知道只需要遍历L+1个节点就可以找出被砍的的树木,最后再用if指定条件,计算出树木总数
#include
int main(){
int sum=0; //最后树木和
int i,j,L,M,begin,end;//i,j为计数工具,L为路长,M为区块数目
scanf("%d %d",&L,&M);
int road[L+1]; //路的节点有L+1
for(i=0;i
题目分析:输入n个数,然后把重复的筛选出来标记,再把未重复的重新放在一起,然后排序输出
#include
int main()
{ int count=0; //计数
int a[100],b[100],n,i,j,k,t;
scanf("%d",&n);
for(i=0;ib[j]) k=j;
t=b[k];b[k]=b[i];b[i]=t;
}
printf("%d\n",count);
for(i=0;i
优化:先把数组初始化为0,输入n个数的时候直接输入,不给数组 ,然后判断数组该位置是不是0,是则把该数给对应序号的数组元素,相当于1号占第1个格子,10号站第10个格子,这样一下子把重复,排序两个动作都完成了,最后就是输出
#include
int main(){
int n,m;
int a[1001]={0},count=0;
scanf("%d",&n);
for(int i=0;i
题目分析:质数分解唯一性定理,即该数分解方式只有一种,为两个质数的乘积
#include
int main(){
int n;
scanf("%d",&n);
for(int i=2;i
题目分析:把周一的值赋为最大值,接着下一天,如果学习时间超过max,则赋给max,如此遍历,如果max同时大于8,则最后输出周几,如果小于8,则输出0;巧妙利用初值
#include
int main(){
int x,y;
int p=0,max=0;
for(int i=1;i<=7;i++){
scanf("%d %d",&x,&y);
if(x+y>max&&x+y>8){
max=x+y;
p=i;
}
}
printf("%d",p);
return 0;
}
题目分析:很明显每个月成递推关系,所以把每月预算,给妈妈的钱的张数(100),剩余放在一个12行3列的二维数组中存储,再定义一个常量来标注超预算,还有要注意把第一个月分开来讨论,因为第一个月没有剩余
#include
int main(){
int m[12][3];//预算,给妈妈的钱的张数(100),剩余
int flag=-1,count=0; //标记超没超预算,给妈妈的钱的张数总和
for(int i=0;i<12;i++){
scanf("%d",&m[i][0]);
if(i==0){ //第一个月单独讨论,上个月没有剩余
if(m[i][0]>300) flag=i; //超预算
else{
m[i][1]=(300-m[i][0])/100; //存储给妈妈的钱张数
m[i][2]=300-m[i][1]*100-m[i][0]; //剩余
}
}
else { if(m[i-1][2]+300