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;
}
版权声明:本文标题:C语言初学者练习题目(10条) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1708775308h531113.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论