admin 管理员组

文章数量: 887021


2024年2月24日发(作者:5g影讯5g天线在线观看视频免费动漫)

C语言初学者练习题目(10条)

1.编写一个程序,输出从1到100之间所有的奇数。

答:

#include

int main() {

for (int i = 1; i <= 100; ++i) {

if (i % 2 != 0) {

printf("%d ", i);

}

}

return 0;

}

2.编写一个程序,判断一个输入的整数是否为质数。如果是,输出“是质数”,否则输出“不是质数”。

答:

#include

#include

int main() {

int num;

printf("请输入一个整数:");

scanf("%d", &num);

int is_prime = 1;

for (int i = 2; i <= sqrt(num); ++i) {

if (num % i == 0) {

is_prime = 0;

break;

}

}

if (is_prime && num != 1) {

printf("%d是质数n", num);

} else {

printf("%d不是质数n", num);

}

return 0;

}

3.编写一个程序,求出1到100之间所有能被3整除的数的和。

答:

#include

int main() {

int sum = 0;

for (int i = 1; i <= 100; ++i) {

if (i % 3 == 0) {

sum += i;

}

}

printf("1到100之间所有能被3整除的数的和是:%dn",

sum);

return 0;

}

4.编写一个程序,输入两个整数a和b(a

答:

#include

int main() {

int a, b;

printf("请输入a和b(a

scanf("%d%d", &a, &b);

int sum = 0;

for (int i = a; i <= b; ++i) {

sum += i;

}

printf("%d到%d之间所有整数的和是:%dn", a, b, sum);

return 0;

}

5.编写一个程序,输入一个正整数n,计算并输出1+2+3+...+n的值。

答:

#include

int main() {

int n, sum = 0;

printf("请输入正整数n:");

scanf("%d", &n);

for (int i = 1; i <= n; ++i) {

sum += i;

}

printf("1+2+3+...+%d=%dn", n, sum);

return 0;

}

6.编写一个程序,输入一个字符串,将其中所有小写字母转换为大写字母。

答:

#include

#include

int main() {

char str[100];

printf("请输入一个字符串:");

gets(str);

for (int i = 0; i < strlen(str); ++i) {

if (str[i] >= 'a' && str[i] <= 'z') {

str[i] = str[i] - 'a' + 'A';

}

}

printf("转换后的字符串为:%sn", str);

return 0;

}

7.编写一个程序,输入一个字符串,统计其中的元音字母(即a、e、i、o、u)个数。

答:

#include

#include

int main() {

char str[100];

printf("请输入一个字符串:");

gets(str);

int count = 0;

for (int i = 0; i < strlen(str); ++i) {

if (str[i] == 'a' || str[i] == 'e' || str[i] == 'i' || str[i] == 'o' ||

str[i] == 'u'

|| str[i] == 'A' || str[i] == 'E' || str[i] == 'I' || str[i] == 'O'

|| str[i] == 'U') {

count++;

}

}

printf("元音字母的个数为:%dn", count);

return 0;

}

8.编写一个函数,计算一个数的阶乘,并在主函数中调用该函数。

答:

#include

long long factorial(int n) {

long long res = 1;

for (int i = 1; i <= n; ++i) {

res *= i;

}

return res;

}

int main() {

int num;

printf("请输入一个整数:");

scanf("%d", &num);

printf("%d的阶乘为:%lldn", num, factorial(num));

return 0;

}

9.编写一个程序,输入任意多个整数,计算它们的平均值和标准差。标准差的计算方法为:先求出每个数与平均值的差的平方,然后求这些差的平均值的平方根。

答:

#include

#include

int main() {

int n;

printf("请输入整数的个数:");

scanf("%d", &n);

int arr[n];

printf("请输入%d个整数:", n);

for (int i = 0; i < n; ++i) {

scanf("%d", &arr[i]);

}

double sum = 0;

for (int i = 0; i < n; ++i) {

sum += arr[i];

}

double average = sum / n;

printf("平均值为:%lfn", average);

sum = 0;

for (int i = 0; i < n; ++i) {

sum += pow(arr[i] - average, 2);

}

double variance = sum / n;

double sd = sqrt(variance);

printf("标准差为:%lfn", sd);

return 0;

}

10.编写一个程序,通过二分法查找一个有序数组中是否存在某个元素。如果存在,输出该元素的下标;如果不存在,输出“未找到”。

答:

#include

int binary_search(int arr[], int n, int target) {

int left = 0, right = n - 1;

while (left <= right) {

int mid = (left + right) / 2;

if (arr[mid] == target) {

return mid;

} else if (arr[mid] > target) {

right = mid - 1;

} else {

left = mid + 1;

}

}

return -1;

}

int main() {

int arr[] = {1, 3, 5, 7, 9};

int n = sizeof(arr) / sizeof(arr[0]);

int target;

printf("请输入要查找的元素:");

scanf("%d", &target);

int index = binary_search(arr, n, target);

if (index == -1) {

printf("未找到n");

} else {

printf("找到了,下标为:%dn", index);

}

return 0;

}


本文标签: 输入 程序 编写 整数 标准差