获得徽章 0
求n个数中的最大值


#include<stdio.h>
int main()
{
int n,max,x,i;
scanf("%d", &n);
max = 0;
for (i = 0; i < n; i++)
{
scanf("%d", &x);

if (x > max)
max = x;


}
printf("%d\n", max);
return 0;



心得
for循环的使用
累加器和计数器的引用
展开
2
*求a.b两个数的最大公约数

#include<stdio.h>
int main()
{
int a, b, c;
scanf("%d %d", &a, &b);
while ((c = a % b) != 0)
{
a = b;
b = c;
}
printf("%d", b);
return 0;
}
心得
while循环的使用
此种方法有必要记忆
展开
评论
求非负整数n的n!

#include<stdio.h>
int main()
{
int n, x,s;
scanf("%d", &n);
x = 1;
s = 1;
for (x = 1; x <= n; x++)
s = s * x;
printf("%d!=%d",n, s);
return 0;
}

心得
for循环的使用

累乘器s初始值为1
展开
评论
分数数列的前n项和



#include<stdio.h>
int main()
{
int i,n;
double a,b,t,sum;
scanf("%d", &n);
a = 1.0;
b = 2.0;
sum = 0;
for (i = 1; i <= n; i++)
{
sum = b/a + sum;
t = a;
a = b;
b = b + t;

}
printf("%lf", sum);
return 0;


}

心得
注意每一项项数中分子分母和前一项的数量关系

输出格式

设置数据类型不要是整型,要不然算不出来

展开
2
输出2n-1行菱形


#include<stdio.h>
#include<math.h>
int main()
{
int n, i, m, s;
scanf("%d", &n);
i = 1 - n;
s = 2 * n - 1;
if (n > 0 && n <= 100)
{
for (i = 1 - n; i <= n - 1; i++)
{
for (m = 1; m <= abs(i); m++)
printf(" ");
for (m = 1; m <= s - 2 * abs(i); m++)
putchar('*');
printf("\n");
}
}
return 0;

}

心得:
对称结构可以想到用绝对值abs

菱形为奇数行

注意行数和每一行元素的联系,以最中间的一行为0向两边展开

展开
4
两数相除,结果的四舍五入
#include<stdio.h>
int main()
{
int v,h,n;
scanf("%d %d",&v,&h);
n=v/h;
if(v%h==0)
printf("%d",n);
else
printf("%d",n+1);
}
心得
判断余数是否为0即可,否则进一
用if语句判断
展开
1
后天的输出

#include<stdio.h>
int main()
{
int v;
scanf("%d", &v);
if (1 <= v && v <= 5)
printf("%d", v + 2);
if(6 <= v && v <= 7)
printf("%d", v - 5);

return 0;
}
心得
注意星期六星期天,即6和7要独立讨论
展开
评论
连续输出四位整数的各位数字

int main()
{
int a,b,c,d,e;
scanf("%4d", &a);
b = a / 1000;
c = (a - b*1000) / 100;
d = (a - b * 1000 - c * 100) / 10;
e = a - b * 1000 - c * 100 - d * 10;
printf("%d=%d+%d*10+%d*100+%d*1000",a, e,d,c,b);


return 0;
}
心得
过于繁琐,有待提高
展开
评论
用身高计算标准体重

#include<stdio.h>
int main()
{
float h,w;
scanf("%f", &h);
if (100 <= h && h <= 300)
{
w = (h - 100) * 0.9*2;
printf("%.1f", w);
}


return 0;
}

心得
变量类型的判断即该用什么类型
自变量范围限制用if语句,不满足则不执行
%F小数数位的限制
展开
评论


#include<stdio.h>
int main()
{
int p, c;
float a;
scanf("%d %d", &p, &c);
a = p * c * 0.1;
printf("%.2f", a);

return 0;
}
心得
%f的小数数位限制方法
展开
评论
100*100坐标纸上三角形的面积计算

int main()
{
int a, b, c;
float d;
scanf("%d%d", &a, &b);
c = a - b;
if (c >= 0)
c = a - b;
else
c = b - a;
d = 1.0 / 2 * 100 * c;
printf("%.0f", d);
return 0;
}

心得
对(x.y)坐标中x-y的值要注意正负,用if语句解决

结果计算注意/符号,1/2为0,1.0/2为0.5
展开
评论
小孩看书问题

#include<stdio.h>
int main()
{
int N, K, M,d;
scanf("%d%d%d", &N, &K, &M);
if(0 < N <= 400000 && 0 < K <= 3000 && 0 < M <= 120)
d = N - K * M;
printf("%d", d);
return 0;

}

心得
对变量的控制用if语句
同时限制变量用&
展开
评论
物体长宽高乘积得出体积

#include<stdio.h>
int main()
{
int a, b, c,d;
scanf("%d%d%d", &a, &b, &c);
if (0 < a <= 100 && 0 < b <= 100 && 0 < c <= 100)
d = a * b * c;
printf("%d", d);
return 0;


}

心得
对各变量的限制用if语句表达
对三个变量同时限制是用与字符&
展开
2
自由落体公式的计算

#include<stdio.h>
int main()
{
int t;
float h;
#define g 10
scanf("%d", &t);
h = 1.0 / 2 * g * t * t;
if (0 <= t <= 20)
printf("%.0f", h);
return 0;

}

心得
总高度20000下对t的限制,即t有最大值,要注意
define的使用
展开
2
字母ASCII码的输出

#include<stdio.h>
int main()
{
char ch1;
ch1 = getchar();
printf("%d", ch1);
return 0;
}

心得
char字符型的使用
getchar的使用
展开
评论
三位整数的倒序输出

#include<stdio.h>
int main()
{
int a, b,c,d,e;
scanf("%3d", &a);
b = a / 100;
c = (a - b * 100) / 10;
d = (a - b * 100 - c * 10);
e = d * 100 + c * 10 + b;
printf("%03d", e);
return 0;

}

心得
%d的格式使用
整数中每一位数的输出方法
展开
评论
下一页