1.题目:从键盘接收10个数,输出其中最小的数
代码:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main(){
int a[10],i,j,t;
printf("input 10 numbers:\n");
for ( i = 0; i < 10; i++){
scanf("%d", &a[i]);
}
//下面排序方法可以替换,此处方法为冒泡排序
for (j = 0; j < 9; j++){
//进行9次循环,实现九趟比较
for (i = 0; i < 9 - j; i++){
//在每一趟中进行9-j次比较
if (a[i]>a[i + 1]){
//具体比较过程,前一个元素和后一个元素进行比较,大的放在后面,比较到最后最大元素在最后面,下一次循环就少一次
t = a[i]; a[i] = a[i+1]; a[i+1] = t;
}
}
}
printf("the min number is: %d\n", a[0]);
system("pause");
return 0;
}
结果:
2.有三个数a,b,c要求按大小顺序将它们输出
代码:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main(){
int a, b, c, temp;
printf("enter 3 numbers:\n");
//在scanf输入时,一定要注意在键盘上输入格式与双引号""内格式一致,不然会出error
scanf("%d %d %d", &a, &b, &c);
//第一次比较b为a,b之间较大的
if (a > b){
temp = a;
a = b;
b = temp;
}
//接着第二次比较b和c之间,从而c为三者之间最大
if (b > c){
temp = b;
b = c;
c = temp;
}
//最后再比较a,b,a为最小,b为第二小,排序完成
if (a > b){
temp = a;
a = b;
b = temp;
}
printf("%d,%d,%d", a, b, c);
system("pause");
return 0;
}
结果:
3.求1+2+3+…+100
代码:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
//方法一
int main(){
int count=0;
for (int i = 1; i <= 100; i++){
count = count + i;
}
printf("%d\n", count);
system("pause");
return 0;
}
//方法二
int sum(n){
int Sum;
//调用库函数 pow(x,y)表示x^y(x的y次方)
Sum = pow(n, 2) + n;
//利用公式,1到n的和为(n*(n+1))/2;
//Sum>>1表示二进制位向右移了一位,结果变为原来的一半
//这也是求1到n的和不用+-*/符号的一种方法
return Sum >> 1;
}
int main(){
//调用函数
int aim = sum(100);
//打印总和
printf("%d\n", aim);
system("pause");
return 0;
}
结果:
结语:后期我会逐渐完善,让代码更加简洁效率高,加油,Forest!