C语言练习100天
C_Stronger
相信能力是可以提高的----把不会的变会,把错误改对。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C语言练习 day38- day39
day38题目:求一个3*3矩阵对角线元素之和程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。实例#include<stdio.h>#define N 3int main(){ int i,j,a[N][N],sum=0; printf("请输入矩阵(3*3):\n"); for(i=0;i<N;i++) for(j=0;j<N;j++) scanf("%d",&a[i]原创 2022-05-31 20:00:00 · 235 阅读 · 0 评论 -
C语言练习 day36 - day37
day36题目:求100之内的素数。程序分析:质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除。实例#include<stdio.h>#include<math.h>int main(){ int i,j,k,n=0; for(i=2;i<=100;i++) { k=(int)sqrt(i); for(j=2;j<=k;j++)原创 2022-05-30 22:49:15 · 223 阅读 · 0 评论 -
C语言练习 day33
day33题目:判断一个数字是否为质数。程序分析:质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除。实例#include<stdio.h>#include<math.h>#define MAX 1000 int prime[MAX]; int isPrimeNaive(int n){ if(n <= 1) return 0; for(int i = 2; i原创 2022-05-28 23:26:09 · 228 阅读 · 0 评论 -
C语言练习 day29 - day30
day29题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。学会分解出每一位数实例#include <stdio.h> int main( ){ long a,b,c,d,e,x; printf("请输入 5 位数字:"); scanf("%ld",&x); a=x/10000; /*分解出万位*/ b=x%10000/1000; /*分解出千位*/ c=x%1000/100;原创 2022-05-26 23:05:07 · 167 阅读 · 0 评论 -
C语言练习 day16 & day17
day16题目:输入两个正整数m和n,求其最大公约数和最小公倍数。程序分析:(1)最小公倍数=输入的两个数之积除于它们的最大公约数,关键是求出最大公约数;(2)求最大公约数用辗转相除法(又名欧几里德算法)1)证明:设c是a和b的最大公约数,记为c=gcd(a,b),a>=b,令r=a mod b设a=kc,b=jc,则k,j互素,否则c不是最大公约数据上,r=a-mb=kc-mjc=(k-mj)c可知r也是c的倍数,且k-mj与j互素,否则与前述k,j互素矛盾,由此可知,b与r的最原创 2022-05-16 12:24:24 · 150 阅读 · 0 评论 -
C语言练习 day14 & day15
day14题目:将一个正整数分解质因数。例如:输入90,打印出90=233*5。程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于(小于的时候,继续执行循环)n,则说明分解质因数的过程已经结束,另外 打印出即可。(2)但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n.重复执行第二步。(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。实例#include<stdio.h>int main(){原创 2022-05-15 12:15:00 · 171 阅读 · 0 评论 -
C语言练习 day12 & day13
题目:判断 101 到 200 之间的素数。素数,指除了1和该数本身之外,不能被其他任何整数整除的数。例如,13 是素数,因为它不能被 2,3,4…,12整除。程序分析:判断素数的方法:用一个数分别去除 2 到 sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。实例#include <stdio.h> int main(){ int i,j; int count=0; for (i=101; i<=200; i++)原创 2022-05-14 12:15:00 · 173 阅读 · 0 评论 -
C语言练习 day8
题目:输出9*9口诀。这道题很经典程序分析:分行与列考虑,共 9 行 9 列,i 控制行,j 控制列。实例#include<stdio.h>int main(){ int i,j,result; printf("\n"); for (i=1;i<10;i++) { for(j=1;j<=i;j++) { result=i*j; printf("%d*%d=%-3原创 2022-05-11 12:00:00 · 217 阅读 · 0 评论 -
C语言练习 day5
题目:输入三个整数x,y,z,请把这三个数由小到大输出。程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。实例#include <stdio.h> int main(){ int x,y,z,t; printf("\n请输入三个数字:\n"); scanf("%d%d%d",&x,&y,&z); if原创 2022-05-09 12:15:00 · 401 阅读 · 0 评论 -
C语言练习 day4
题目:输入某年某月某日,判断这一天是这一年的第几天?程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。实例#include <stdio.h>int main(){ int day,month,year,sum,leap; printf("\n请输入年、月、日,格式为:年,月,日(2015,12,10)\n"); scanf("%d,%d,%d",&year,&mon原创 2022-05-08 12:15:00 · 183 阅读 · 0 评论 -
C语言练习 day3
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?自己先想想~程序分析:假设该数为 x。1、则:x + 100 = n², x + 100 + 168 = m²2、计算等式:m² - n² = (m + n)(m - n) = 1683、设置: m + n = i,m - n = j,i * j =168,i 和 j 至少一个是偶数4、可得: m = (i + j) / 2, n = (i - j) / 2,i 和 j 要么都是偶数,要么都是奇数。原创 2022-05-07 11:45:00 · 241 阅读 · 0 评论
分享