admin管理员组文章数量:1487745
C语言练习题代码
1 闰年判断
2 完数判断 ‘完数’指一个数恰好等于它的因子之和,如 6=1+2+3。
#include<stdio.h>
int main() { int i, sum=0, n; scanf("%d", &n); for (i = 1; i < n; i++) { if (n % i == 0) sum += i; } if (sum == n) { printf("%d是完数\n", n); } return 0; }
3 水仙花数 指一个三位数等于它每一位的立次方之和
#include<stdio.h>
int main() { int i, g, s, b,sum=0; //g s b 分别代表个位,十位,百位 for (i = 100; i < 1000; i++) { g = i % 10; s = (i / 10) % 10; b = i / 100; sum = g * g * g + s * s * s + b * b * b; if (i == sum) printf("%d ", i); } return 0; }
4 斐波那契数
#include<stdio.h>
int main() { int arr[100] = { 1,1 }; int i = 0, n; scanf("%d", &n); for (i = 2; i < n; i++) { arr[i] = arr[i - 1] + arr[i - 2]; } for(i = 0; i < n; i++) { printf("%d ", arr[i]); } return 0; }
5 求1!+2!+3!+4!...n!
#include<stdio.h>
int main() { int n, i, j; double x = 0; scanf("%d", &n); for (i = 1; i <= n; i++) { x = x + 1.0 / i; } printf("%.2lf", x); return 0; }
6求x=1+1/1+1/2+1/3+……..+1/n
#include<stdio.h>
int main() { int i, sum = 0, x = 1, n; scanf("%d", &n); for (i = 1; i <= n; i++) { x *= i; sum += x; } printf("%d", sum); return 0; }
7 输入年月日,判断这是这一年的第几天
#include<stdio.h>
int main() { int year, month, days, sum=0; scanf("%d %d %d", &year, &month, &days); if ((year % 4 == 0 && year % 100!= 0) || (year % 400 == 0)) //判断闰年 if (month > 2) { sum = 1; } switch (month) { case 1:sum = sum+ 0; break; case 2:sum = sum+ 31; break; case 3:sum = sum + 31 + 28; break; case 4:sum = sum + 31 + 28 + 31; break; case 5:sum = sum + 31 + 28 + 31 + 30; break; case 6:sum = sum + 31 + 28 + 31 + 30 + 31; break; case 7:sum = sum + 31 + 28 + 31 + 30 + 31 + 30; break; case 8:sum = sum + 31 + 28 + 31 + 30 + 31 + 30 + 31; break; case 9:sum = sum + 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31; break; case 10:sum = sum + 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30; break; case 11:sum = sum + 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31; break; case 12:sum = sum + 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30; break; default: break; } sum = sum + days; printf("%d\n", sum); return 0; }
8 输入两个正整数m和n,求其最大公约数和最小公倍数
(m与n最小公倍数)=m*n/最大公约数
#include<stdio.h>
int main() { int n, m, t = 1, x; scanf("%d%d", &n, &m); if (m > n) { t = m; m = n; n = t; } t = n % m; x = n * m; if (t == 0) { printf("最大公约数是:%d\n最小公倍数是:%d", m, n); } else { // 找m与n的最大公约数 while (n % m != 0) { t = n % m; n = m; m = t;
} printf("最大公约数是:%d\n最小公倍数是:%d", t, x / t); }
return 0; }
9 有1,2,3,4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
#include<stdio.h>
int main() { int i, j, k; for (i = 0; i <= 4; i++) { for (j = 0; j <= 4; j++) { for (k = 0; k <= 4; k++) { if (i != j && j != k && i != k)//判断i,j,k是否都不相等 printf("%d,%d,%d\n", i, j, k); } } }
return 0; }
10 打印图形--菱形
#include<stdio.h>
int main() { int i, j, n; scanf("%d", &n); for (i = 1; i <= n; i++) { //先输出菱形的上半 for (j = 1; j <= n-i; j++) { //控制每一行的空格数 printf(" "); } for (j = 0; j < 2 * i - 1; j++) { printf("*"); } printf("\n"); } for (i = n-1; i >0; i--) { //菱形的下半就是将上半反过来 for (j = 1; j <= n - i; j++) { printf(" "); } for (j = 0; j < 2 * i - 1; j++) { printf("*"); } printf("\n"); } return 0; }
本文标签: C语言练习题代码
版权声明:本文标题:C语言练习题代码 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/shuma/1754744557a3179060.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论