#include <stdio.h>
int main () {char c;int letter = 0,space = 0,num = 0,other = 0;while ((c = getchar()) != 'n'){if (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z'){letter++;/* code */}else if (c == ' '){space++;/* code */}else if (c >= '0' && c <= '9'){num++;/* code */}else {other++;}}printf("字母:%d,数字:%d,空格:%d,其他:%d",letter,num,space,other);return 0;
}
#include <stdio.h> int main()
{ int a,b,c,t; printf("请输入三个数:"); scanf("%d%d%d",&a,&b,&c); if(a > b) { t = a; a = b; b = t; } if(a > c) { t = a; a = c; c = t; } if(b > c) { t = b; b = c; c = t; } printf("从小到大的顺序是:%d %d %dn",a,b,c); return 0;
}
3.输入三个整数a,b,c,输出最大的数
#include <stdio.h> int main()
{ int a,b,c,max; printf("请输入三个数:"); scanf("%d%d%d",&a,&b,&c); max = a;if (b > max){max = b;}if (c > max){max = c;}printf("%d",max); return 0;
}
#include <stdio.h>
int main () {int i,m,n;int t;printf("输入m:");scanf("%d",&m);printf("输入n:");scanf("%d",&n);if (m < n) //把大数给m,小数给n{t = m;m = n;n = t;}for ( i = n; i > 0 ; i--) //不超过n,从n开始往下找{if (m % i == 0 && n % i == 0){printf("最大公约数为:%dn",i); //公约数:可以同时整除m n的最大值printf("最小公倍数为:%d",(m * n) / i); //公倍数:(两数乘积)/公约数break;}}return 0;
}
#include <stdio.h>
int main () {int a = 2,n,i;printf("输入n:");scanf("%d",&n);int sum = 0,num = a; //sum累计num的和,num记录每一次a增加一个单位的值for ( i = 0; i < n; i++){sum += num; //总和num = num*10+a; //num每次自乘10再加上个位数a}printf("%d",sum);return 0;
}
#include <stdio.h>
int main () {int i;long long sum = 1,end = 0; //int、long会溢出,存不了for ( i = 1; i <= 20; i++){sum *= i; //计算单个的阶乘end += sum; //计算总和/* code */}printf("%lld",end); //2561327494111820313return 0;
}
#include <stdio.h>
int main () {int i;int sum1 = 0, sum2 = 0;float sum3 = 0;for ( i = 1; i <= 100; i++){sum1 += i; //1-100求和if (i <= 50){sum2 += i * i; //1-50求平方/* code */}if (i <= 10){sum3 += 1.0 / i; //1-10求 1/i 的和/* code */}/* code */}printf("%f",sum1 + sum2 + sum3); //47977.929688return 0;
}
153是一个水仙花数,因为153=1x1x1+5x5x5+3x3x3
#include <stdio.h>
int main () {int i, a, b, c;for ( i = 100; i < 1000; i++){a = i / 100; //求百位b = (i / 10) % 10; //十位c = i % 10; //个位if (a*a*a + b*b*b + c*c*c == i){printf("%dt",i); //153 370 371 407/* code */}/* code */}return 0;
}
完数:一个数等于它的因子之和,例如:6的因子为:1,2,3,而1+2+3=6,所以6是完数
#include <stdio.h>
int main () {int i, j, sum;for ( i = 2; i <= 1000; i++){sum = 0; //每次判断完重制sumfor ( j = 1; j < i; j++) //从1开始找 i 的因子{if (i % j == 0) //如果能被整除,代表是因子,则叠加到sum中{sum += j;}}if (sum == i) //如果因子的和与这个数一致,它就是完数{printf("%dt",i); //6 28 496}}return 0;
}
#include <stdio.h>
int main () {int i;float a = 2, b = 1, sum = 0, t;for ( i = 0; i < 20; i++){sum += a / b; //是分子 a / 分母 b 的累加和,而下一项的分子 a 是此项 a+b 的和,分母是此项的 分子at = a; //将分子 a 提取出来a = a + b; //下一项分母为此项的 a+bb = t; //赋值给分母/* code */}printf("%f",sum); //32.660263return 0;
}
#include <stdio.h>
int main () {int i;float sum = 0, a = 100;for ( i = 1; i <= 10; i++){sum += a; //总计1-10次落下的距离a = a / 2; //弹起距离 = 上次落下距离 / 2if (i <= 9){sum += a; //总计1-9次弹起的距离,在弹起的距离等于下一次落下的距离,持续循环累加到下一次sum里}}printf("共经过:%f米n",sum); //共经过:299.609375米printf("第十次反弹%f米",a); //第十次反弹0.097656米return 0;
}
---------写法2---------------
int main()
{int i;float sum = 100, drop, jump;for ( i = 0; i < 10; i++){drop += sum; //10次落下的总和sum = sum/2; //每次落下后弹起距离减半jump += sum; //10次弹起的总和(包括第10次落下后弹起)}printf("%f %f",drop+jump-sum,sum); //10次落下的总和不包括第10次弹起,所以减去sum,sum为每次弹起/落下的距离return 0;
}
#include <stdio.h>
int main () {int i, sum, rest;rest = 1; //第10天余剩的个数for ( i = 9; i > 0; i--) //执行9次{sum = (rest + 1) * 2; //推算前一天桃子的总数是(今日余剩个数 + 1) * 2 个rest = sum; //前一天的余剩个数/* code */}printf("%d",sum);//1534return 0;
}
#include <stdio.h>
int main () {int i, j, k, xx = 1; //初始星星 = 1for ( i = 0; i < 7; i++){for ( j = 0; j < (7 - xx) / 2; j++) //空格数量 = (最宽/长的星星数 - 当前星数)/ 2{printf(" ");}for ( k = 0; k < xx; k++) //输出星星{printf("*");}printf("n"); if (i < 3) //当x < 3时,前3行(i = 2)为每次星星数递增 2;第4行时(i = 3)每次递减 2{xx += 2;}else {xx -= 2;}}return 0;
}
#include <stdio.h>
int main()
{ char i,j,k;for ( i = 'x'; i <= 'z'; i++){for ( j = 'x'; j <= 'z'; j++){for ( k = 'x'; k <= 'z'; k++){if (i != j && i != k && j != k){if (i != 'x'&& k != 'x' && k != 'z'){printf("a--%c,b--%c,c--%c",i,j,k); //a--z,b--x,c--y}}}}}return 0;
}
素数:只能被1和它本身整除的数
#include <stdio.h>
int main () {int i, j, mark;for ( i = 100; i <= 200; i++){mark = 1; //进入循环时全部打上标记for ( j = 2; j < i; j++) //从2 - i-1的范围循环{if (i % j == 0) //如果能被任意j整除的数就不是素数,标记变为0{mark = 0;}}if (mark == 1) //经过循环后标记还是1的就是素数{printf("%dt",i);}}return 0;
}
Fibonacci(斐波那契):第1,2项的值为1,往后每一项的值的都是前两项相加的和,例如:1,1,2,3,5····
#include <stdio.h>
int main()
{ int a[20], i;a[0] = 1,a[1] = 1; //第一二项为1for ( i = 2; i < 20; i++) //从第3三项开始{a[i] = a[i-1] + a[i-2];}for ( i = 0; i < 20; i++){if (i % 5 == 0) //到第五个换行{printf("n");}printf("%10d",a[i]);}return 0;
}
#include <stdio.h> int main()
{ int a[10], i ,j ,t;for ( i = 0; i < 10; i++){scanf("%d",&a[i]);}for ( i = 0; i < 9; i++) //从第一个元素到最后一位走9趟{for ( j = 0; j < 9 - i; j++) //比较9-j次,已比较的不需要再比较{if (a[j] > a[j+1]) //如果第j项大于第j+1项,则互换位置{t = a[j];a[j] = a[j+1];a[j+1] = t;}}}for ( i = 0; i < 10; i++){printf("%dt",a[i]);}return 0;
}
#include <stdio.h>
#include <string.h>
int main()
{ char str[100];char c;int i, num = 0, word = 0;gets(str);for ( i = 0; (c = str[i]) != '