C语言机试编程题
编写版本:vc++2022
1.求最大/小值
#include<stdio.h>
int main(){
int a[50],n;
int max, min;
printf("请输入您要输入几个数");
scanf_s("%d", &n);
printf("请输入您要比较的%d个数\n",n);
for (int i = 0; i<n; i++) {
scanf_s("%d", &a[i]);
}
max = min = a[0];
for (int i = 0; i < n; i++) {
if (a[i] > max) max = a[i];
if (a[i] < min) min = a[i];
}
printf("max=%d,min=%d", max, min);
return 0;
}
2.求一个三位数abc,使a的阶乘+b的阶乘+c的阶乘=abc
#include<stdio.h>
//factorial 阶乘
int jiecheng(int n) {
int m=1;
while (n != 0) {
m *= n;
n--;
}
return m;
}
int main() {
int a, b, c;
for (int abc = 100; abc <= 999; abc++) {
a = abc / 100;
b = abc / 10 % 10;
c = abc % 10;
if (abc == jiecheng(a) + jiecheng(b) + jiecheng(c))
printf("%d\n", abc);
}
return 0;
}
3.求2/1,3/2,5/3,8/5,13/8,21/13,的前20项和
#include<stdio.h>
int main() {
float sum = 2;
int i = 1, j = 2;
float k;
for (int num = 1; num < 20; num++) {
k = i + j;
i = j;
sum += k / i;
j = k;
}
printf("%0.2f", sum);
return 0;
}
4.求阶乘
#include<stdio.h>
int main() {
int N;
int jiecheng=1;
scanf_s("%d", &N);
while (N != 0) {
jiecheng *= N;
N--;
}
printf("%d\n", jiecheng);
return 0;
}
5.求10-1000之间所有数字之和为5的整数的个数
#include<stdio.h>
int main() {
int count = 0;
for (int i = 10; i <= 99; i++) {//两位数
if (i/10+i%10== 5)
count++;
}
for (int i = 100; i <= 999; i++) {//三位数
if ((i/100)+(i/10%10)+(i%10)== 5)
count++;
}
printf("%d\n", count);
return 0;
}
6.输入字符串打印除小写,元音,字母之外的。用数组
#include<stdio.h>
int main() {
char a[50];
scanf_s("%s", a, 50);
for (int i = 0; a[i] != '\0'; i++)
if (a[i] != 'a' && a[i] != 'e' && a[i] != 'i' && a[i] != 'o' && a[i] != 'u')
printf("%c", a[i]);
return 0;
}
scanf_s输入字符串时,需要添加长度防止溢出
7.计算输入的10个整数中的,偶数的和,偶数平均值(小数表示)
#include<stdio.h>
int main() {
int a[10];
int sum=0;
double avg;
for (int i = 0; i < 10; i++) {
scanf_s("%d", &a[i]);
if (a[i] % 2 == 0) sum += a[i];
}
avg = sum / 10.0;
printf("偶数的和%d,偶数的平均值%0.2f", sum, avg);
return 0;
}
8.循环语句求a+aa+aaa+aaaa……n个a,n和a由键盘输入
#include<stdio.h>
#include<math.h>
int main() {
int a, n,m;
int sum = 0;
scanf_s("%d %d", &a, &n);
m = a;
for (int i = 1; i <= n; i++) {
sum += m;
m += a * pow(10, i);
}
printf("%d", sum);
return 0;
}
9.1!+2!+3!+4!……
#include<stdio.h>
int main() {
int sum = 0, n,m=1;
scanf_s("%d", &n);
for (int i = 1; i <= n; i++) {
m *= i;
sum += m;
}
printf("%d", sum);
return 0;
}