c语言写的一些小程序
2017-05-21 17:31
651 查看
3.使用c语言编写程序,在屏幕打印 9 * 9乘法表 #include<stdio.h> int main() { int i = 0; int j = 0; for (i = 1; i < 10; i++) { for (j = 1; j <= i; j++) //注意条件的判断 { printf("\t%d*%d =%d", i, j, i*j);//垂直制表符 用于各列对齐 } printf("\n"); } printf("\n"); return 0; } 4.使用c语言编写程序,求10个整数中的最大值 #include<stdio.h> int main() { int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 }; int max = 0; int i = 0; for (i = 0; i < 10; i++) { if (max < arr[i]) { max = arr[i]; } } printf("The max is %d \n", max); return 0; } 6.使用c语言编写程序,求100以内的所有素数(质数) #include<stdio.h> int main() { int i = 2; int count = 0; printf("100内的素数有:\n"); for (i = 2; i <= 100; i++) { int j = 2; while (j < i) { if (i % j != 0) { j++; } else { break; } } if (j >= i ) { count++; printf("%d ", i); } } printf("\n总个数为: %d 个", count); printf("\n"); return 0; } 7.使用c语言编写程序,求两个数的最大公约数 #include<stdio.h> void swap(int* m, int* n) { int tmp = 0; tmp = *m; *m = *n; *n = tmp; } int main() { int m = 0; int n = 0; int r = 1; int j = 0; printf("请输入两个数:\n"); scanf("%d %d", &m, &n); j = m*n; if (m<n) { swap(&m, &n); } if (m % n == 0 && n != 0) { printf("最大公约数为: %d\n", n); return 0; } else { while (m % n != 0 && n !=0) { r = m%n; m = n; n = r; } } printf("最大公约数为: %d\n",r); return 0; } 8.使用C语言编写程序,求两个数的最小公倍数 #include<stdio.h> void swap(int* a, int* b) { int tmp = 0; if (*a < *b) { tmp = *a; *a = *b; *b = tmp; } } int main() { int a = 0; int b = 0; int r = 1; int m = 0; printf("请输入两个数:\n"); scanf("%d %d", &a, &b); m = a*b; if (a < b) { swap(&a, &b); } if (a % b == 0 && b != 0) { if (a == b) { printf("a,b 的最小公倍数为:%d \n", a); } return 1; } else { while (a % b != 0 && b !=0) { r = a%b; a = b; b = r; } m = m / r; printf("a,b 的最小公倍数为 :%d\n", m); } return 0; } 9、使用c语言编写程序,交换两整数的值 #include<stdio.h> int main() { int a = 2; int b = 3; printf("a: %d b: %d\n", a, b); a = a + b; b = a - b; a = a - b; printf("a: %d b: %d\n", a, b); printf("a: %d b: %d\n", a, b); a = a * b; b = a / b; a = a / b; printf("a: %d b: %d\n", a, b); printf("a: %d b: %d\n", a, b); a = a ^ b; //10 ^ 11 = 01 b = a ^ b; //01 ^ 11 = 10 a = a ^ b; //01 ^ 10 = 11 printf("a: %d b: %d\n", a, b); return 0; } 10、使用C语言编写一个函数,函数的功能是:交换两个整数的值 #include<stdio.h> void Swap(int* s, int* p) { int tmp = *s; *s = *p; *p = tmp; } int main() { int a = 2; int b = 3; printf("before change: a: %d b: %d\n", a, b); Swap(&a, &b); printf("after change: a: %d b: %d\n", a, b); return 0; } 11.有1 2 3 4 四个数字,能组成多少互不相同且无重复数字的 三位数?都是多少? 程序分析:可填在百位,十位,个位的数字都是1 2 3 4 组成所有的排列后再去掉不满足条件的 #include<stdio.h> int main() { int n = 0; int m = 0; int k = 0; int i = 5; int h = 5; int l = 5; int j = 0; int count = 0; int arr[100]; for (i = 1; i <= 4;i++) { n = i * 100; for (h = 1; h <= 4; h++) { m = h * 10; for (l = 1; l <= 4; l++) { k = l * 1; arr[j] = n + m + k; j++; } } } for (j = 0; j < 64; j++)//123 { k = arr[j] % 10; //个位 n = arr[j] / 100; //百位 l = arr[j] % 100 / 10; //十位 if (k != n && k != l && n != l ) { count++; printf("%d ", arr[j]); } } printf("\n count : %d \n", count); return 0; } 12.使用C语言编写程序,在屏幕输出2000之前的所有闰年和闰年的个数 #include<stdio.h> int main() { int year = 0; int count = 0; for (year = 1; year <= 2000; year++) { if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { count++; printf("%d ", year); } } printf("\n"); printf("count : %d\n", count); printf("\n"); return 0; } 13、写程序 求解2/1,3/2,5/3,8/5,21/13...求这个数列的前20项之和。 #include<stdio.h> int main() { int m = 1; int n = 2; int sum = 0; for (int i = 0; i < 20; i++) { sum = sum + n / m; m = n; n = m + n; } printf("sum is %d\n", sum); return 0; } 华氏 温度 摄氏温度 转换 #include<stdio.h> int main() { float F; float C; printf("Please input Fahrenheit:\n"); scanf("%f", &F); C = 5 * (F - 32) / 9; printf("Centidegree is %.2f \n", C); return 0; } #include<stdio.h> int main() { int score = 0; printf("Input score(0-100):\n"); scanf("%d", &score); if (score < 60) { printf("%c\n", 'E'); return; } if (score >= 60 && score <= 69) { printf("%c\n", 'D'); return; } if (score >= 70 && score <= 79) { printf("%c\n", 'C'); return; } if (score >= 80 && score <= 89) { printf("%c\n", 'B'); return; } if (score >= 90 && score <= 100) { printf("%c\n", 'A'); return; } else { printf("Input error!\n"); } return 0; } 14、求解s = a+aa+aaa+……+aaa..a的值 a和n由键盘输入控制 #include<stdio.h> int Sum(int a, int n) { int A = 0; int Sum = 0; for (int i = 1; i <= n; i++) { A = A * 10 + a; Sum = Sum + A; } return Sum; } int main() { int a = 0; int n = 0; printf("Please input a and n\n"); scanf("%d %d", &a, &n); int ret = Sum(a, n); printf("%d\n", ret); return 0; } 15、一球从100米高度落下,每次反弹高度为原高度的一半;在落下,求第十次落地时,共经过多少米?第十次反弹多高? #include<stdio.h> int main() { int H = 100; int i = H; int n = 10; int sum = 0; int count = 0; while (i) { count++; i /= 2; } printf("总共能跳 %d 次\n", count); while (n--) { sum += H; H /= 2; if (H == 0) { break; } } printf("sum is %d \n", sum); printf("H is %d \n", H); return 0; } 16、猴子吃桃问题:第一天摘下若干桃子,吃了一半,没过瘾,又多吃了一个,以后每天如此,到第十天时,只剩一个桃子,求总共多少桃子? 设有x个桃子,x - ((x/2+1) + ((x/2+1)/2 +1) +……+1 )= 0 #include<stdio.h> int main() { int day = 9; int sum = 1; while (day--) { sum= (sum + 1) * 2; } printf("sum is %d\n", sum); return 0; } 17、求值: 1-1/2+1/3-1/4+……-1/100 ★★★ #include<stdio.h> int main() { float sum = 0; for (int i = 1; i <= 100; i++) { if (i % 2 != 0) { sum += (float)1 / i; //强转 } else { sum -= (float)1 / i; } } printf("sum is %f \n", sum); return 0; } 18、求值: !1+!2+……+!20 #include<stdio.h> int main() { int n = 5; int mul = 1; int sum = 0; for (int i = 1; i <= n; i++) { mul = 1; //注意每次进来mul置1 for (int j = 1; j <= i; j++) { mul *= j; } sum += mul; } printf("sum is %d \n", sum); return 0; } 19、判断一个数是不是回文数 (回文数也是一个数字,特点是正反序是同一个数字 如:1234321 1331就是回文数) 思路:因为是整数,所以可以求出该整数的翻转后的数值,看是否与原来整数相等。如果相等,则是回文数,否则不是。 翻转整数代码如下,返回值为翻转后的整数。 #include<stdio.h> int main() { int a = 0; int rev = 0; pri e1ad ntf("Please input :\n"); //1、itoa() 转换为字符串 scanf("%d", &a); int b = a; /****************************************************************************/ //while (a != 0) //{ // rev = rev * 10 + a % 10; //2、数字反转法 // a /= 10; //} //if (b == rev) //{ // printf("是回文数!\n"); // return 0; //} //printf("不是回文数!\n"); /****************************************************************************/ //比较第一位和最后一位 相等 继续比较 不相等返回 int div = 1; while (a / div >= 10) { div *= 10; } while (a != 0) { int left = a / div; int right = a % 10; //3、数字位判断 if (left != right) { printf("不是回文数!\n"); return 0; } a = (a % div) / 10; div /= 100; } printf("是回文数!\n"); /****************************************************************************/ return 0; } 20、判断一个字符串是不是回文字符串 #include<stdio.h> #include<string.h> int main() { char s[50]; printf("Please input :\n"); scanf("%s", s); int len = strlen(s) -1; char* begin = s; char* end = s + len; while (begin <= end) { if (*begin != *end) { printf("不是回文字符串!\n"); return 0; } begin++; end--; } printf("是回文字符串!\n"); return 0; }
相关文章推荐
- c语言编写的一些小程序
- C语言系列(二):最近重拾C语言的想法,谈到C中易错点,难点;以及开源代码中C语言的一些常用技巧,以及如何利用define、typedef、const等写健壮的C程序
- C语言的一些测试程序
- C语言系列(三):最近重拾C语言的想法,谈到C中易错点,难点;以及开源代码中C语言的一些常用技巧,以及如何利用define、typedef、const等写健壮的C程序
- 程序中读取c语言中的一些问题
- [C语言基础]一些C语言小程序(二)
- 一些简单的小程序_1——C语言篇
- C语言系列(一):最近重拾C语言的想法,谈到C中易错点,难点;以及开源代码中C语言的一些常用技巧,以及如何利用define、typedef、const等写健壮的C程序
- C语言中会常用到的一些小程序
- C语言的一些程序
- [C语言基础]一些C语言小程序(一)
- c语言写的一些小程序
- 菜鸟学C语言一些经验!-1-关于怎么检查程序是不是运行了
- C语言系列(四):最近重拾C语言的想法,谈到C中易错点,难点;以及开源代码中C语言的一些常用技巧,以及如何利用define、typedef、const等写健壮的C程序
- C语言中关于数字的一些小程序
- 一些sas程序的总结
- 解决Windows 程序界面闪烁问题的一些经验
- .Net程序安装打包的一些经验贡献
- 解决Windows 程序界面闪烁问题的一些经验
- 用C语言开发音乐程序