1.使用函数判断完全平方数
本题要求实现一个判断整数是否为完全平方数的简单函数。
函数接口定义:
int IsSquare(int n);
其中n是用户传入的参数,在长整型范围内。如果n是完全平方数,则函数IsSquare必须返回1,否则返回0。
代码实现
#include <stdio.h>
#include <math.h>
int IsSquare(int n) {
if (sqrt(n) == (int)sqrt(n)) {
return 1;
}
return 0;
}
int main() {
long int num = 0;
printf("请输入你想判断的数字\n");
scanf("%d", &num);
int judge = IsSquare(num);
if (judge == 1) {
printf("是完全平方数\n");
}
else if (judge == 0) {
printf("不是完全平方数\n");
}
else {
printf("输入错误");
}
return 0;
}
运行结果
2.求最大值及其下标
本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始)。
输入格式 :
输入在第一行中给出一个正整数n(1 < n≤10)。第二行输入n个整数,用空格分开。
输出格式 :
在一行中输出最大值及最大值的最小下标,中间用一个空格分开。
代码实现
#include<stdio.h>
#define MAXN 10
int main()
{
int i, index, n;
int a[MAXN];
scanf("%d", &n);
for (i = 0; i < n; i++)
scanf("%d", &a[i]);
index = 0;
for (i = 1; i < n; i++) {
if (a[i] > a[index]) {
index = i;
}
}
printf("%d %d", a[index], index+1);
return 0;
}
运行结果
3.调和平均
N 个正数的算数平均是这些数的和除以 N,它们的调和平均是它们倒数的算数平均的倒数。本题就请你计算给定的一系列正数的调和平均值。
输入格式:
每个输入包含 1 个测试用例。每个测试用例第 1 行给出正整数 N(≤1000);第 2 行给出 N 个正数,都在区间[0.1, 100] 内。
输出格式:
在一行中输出给定数列的调和平均值,输出小数点后2位。
代码实现
#include <stdio.h>
int main()
{
int n, i;
float a, sum = 0;
scanf("%d", &n);
for (i = 0; i < n; i++)
{
scanf("%f", &a);
sum += 1 / a;
}
printf("%.2f", 1 / (sum / n));
return 0;
}