摘要:
//逆序输出整数void output(int x){ if(n>=1&&n<=9) printf("%d",n); else { printf("%d",n%10); output(n/10); }}if(n<0){ n=-n; putchar('-');}else output(n);//正序输出整数//逆序输出整数void output(int x){ if(n>=1&&n<=9) printf("%d",n); else {output(n/10); 阅读全文
摘要:
//求一个序列中,第k个数1.排序,输出a[k-1]冒泡for(i=1;i<=n-1;i++)//控制循环次数 for(j=0;j<=n-i-1;j++)//不是n-i+1 if(a[i]>a[i+1]]) 交换,每排一次最大的移到最后定位选择排序for(i=0;i<n-1;i++)//控制循环次数 for(j=i+1;j<n;j++)// if(a[i]>a[j]) 交换2.先取出前k个排序,再取未排序的,若大于a[k-1],则忽略,否则插入适当位置并移去a[k-1];最后输出a[k-1]即可 阅读全文
摘要:
//杨辉三角(下三角或者等腰三角)#include <stdio.h>int fun(int i,int j){ if(i==j||1==j) return 1; else return fun(i-1,j-1)+fun(i-1,j);} int main(){ int n,i,k,j; printf("Input n:"); scanf("%d",&n); for(i=1;i<=n;i++)//第一行时i=1 { for(k=1;k<=n-i;k++)//第i行有(n—i)个空格,数字右边的空格不用管,因为下一次光标跳到 阅读全文
摘要:
//九九乘法表(下三角)#include<stdio.h>int main(){int row,col;for(row=1;row<=9;row++){ for(col=1;col<=row;col++)printf("-*%d=-",row,col,col*row);printf("\n");}return 0;}注意:大括号所在位置 阅读全文
摘要:
//求三个数的最小公倍数,实际是穷举法#include<stdio.h>int main(){int i=0;int a,b,c;long x;printf("Input a b c:");scanf("%d%d%d",&a,&b,&c);if(a>b)a^=b^=a^=b;if(b>c)b^=c^=b^=c;//此时c>b>ado{i++;x=c*i;}while((x%a!=0)||(x%b!=0));printf("%d\n",x);return 0;}注释:也可求出n 阅读全文
摘要:
//五本不同的书分给3个人,求不同的分发#include<stdio.h>int main(){int i,j,k,count=0;//int a,b,c;for(i=1;i<=5;i++)for(j=1;j<=5;j++)for(k=1;i!=j&&k<=5;k++)if(i!=k&&j!=k){count++;if(0==count%4)printf("\n");printf("%2d:%d %d %d",count,i,j,k);//输出ijk,不是abc(不定值,没初始化);为了1到9 阅读全文
摘要:
//n!末尾有几个零#include<stdio.h>int main(){int n,s;int sum=0;printf("Input n:");scanf("%d",&n);while(n>0){n=n/5;sum+=n;}printf("%d\n",sum);return 0;}//阶乘位数ans = (int)log10(n!)+1 ;for(i=2;i<=n;i++) sum += log10(i);return (int)sum + 1;注释:2是足够的关键看有几个5,以100为例,先除以 阅读全文