赞
踩
- 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;
- printf("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;
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。