【程序1】
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
# include <stdio.h> # include <stdlib.h> int main() { int i,j,k,m; int s = 0; int S, N; int num[100][3] = {}; for (i = 1; i < 5; i++) { for (j = 1; j < 5; j++) { for (k = 1; k < 5; k++) { num[s][0] = i; num[s][1] = j; num[s][2] = k; s = s + 1; } } } S = s; N = S; for (m = 0; m < S; m++) { if (num[m][0] == num[m][1] || num[m][0] == num[m][2] || num[m][1] == num[m][2]) { num[m][0] = 0; N = N - 1; } } printf("There are %d numbers and they are\n", N); for (m = 0; m < S; m++) { if (num[m][0] != 0) { printf("%d%d%d\n", num[m][0], num[m][1], num[m][2]); } } system("pause"); return 0; }
【程序2】
题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
# include <stdio.h> # include <stdlib.h> void main() { double l, r; scanf_s("%lf", &l); l = l / 10000; if (l <= 0.0) { printf("Please input the right profit!"); } else if(l > 0.0 & l <= 10.0){ r = l * 0.1; } else if (l > 10.0 & l <= 20.0) { r = 10 * 0.1 + (l - 10) * 0.075; } else if (l > 20.0 & l <= 40.0) { r = 10 * 0.1 + 10 * 0.075 + (l - 20) * 0.05; } else if(l > 40.0 & l <= 60.0){ r = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + (l - 40) * 0.03; } else if (l > 60.0 & l <= 100.0) { r = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + 40 * 0.03 + (l - 60) * 0.015; } else { r = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + 40 * 0.03 + 40 * 0.015 + (l - 100) * 0.01; } printf("Your reward is %.2f", r * 10000); system("pause"); return; }
【程序3】
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
# include <stdio.h> # include <stdlib.h> void main() { int x, y; int n; for (x = 10; x < 1000; x++) { for (y = 13; y < 1000; y++) { n = 0; while (n < 1000) { if (n + 100 == x * x & n + 268 == y * y) { printf("%d %d %d\n", x, y, n); break; } else { n = n + 1; } } } } system("pause"); return; }
【程序4】
题目:输入某年某月某日,判断这一天是这一年的第几天?
# include <stdio.h> # include <stdlib.h> int main() { int d, m, y; int month[12] = {}; int n; int i; scanf_s("%d%d%d", &d, &m, &y); n = d; month[0] = month[2] = month[4] = month[6] = month[7] = month[9] = month[11] = 31; month[1] = 29; month[3] = month[5] = month[8] = month[10]; if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0) { for (i = 0; i < m - 1; i++) { n = n + month[i]; } } else { month[1] = 28; for (i = 0; i < m - 1; i++) { n = n + month[i]; } } printf("This day is the %d day of the year.", n); system("pause"); return 0; }
【程序8】
题目:输出9*9口诀。
#include <stdio.h> #include <stdlib.h> int main() { int i, j; for (i = 1; i < 10; i++) { for (j = 1; j <= i; j++) { printf("%d x %d = %d ", i, j, i * j); } printf("\n"); } system("pause"); return 0; }
【程序9】
题目:要求输出国际象棋棋盘。
#include <stdio.h> #include <stdlib.h> void main() { int num[8][8] = {0}; int i, j; for (i = 0; i < 8; i++) { for (j = 0; j < 8; j++) { if ((i + j) % 2 == 1) { num[i][j] = 1; } } } for (i = 0; i < 8; i++) { for (j = 0; j < 8; j++) { if (num[i][j] == 1) { printf("■"); } else { printf(" "); } } printf("\n"); } system("pause"); return; } int num[8][8] = {0}; int i, j; for (i = 0; i < 8; i++) { for (j = 0; j < 8; j++) { if ((i + j) % 2 == 1) { num[i][j] = 1; } } } for (i = 0; i < 8; i++) { for (j = 0; j < 8; j++) { if (num[i][j] == 1) { printf("■"); } else { printf(" "); } } printf("\n"); } system("pause"); return; }
【程序11】
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
#include <stdio.h> #include <stdlib.h> int main() { int n[20] = {0}; int i; n[0] = n[1] = 1; for (i = 2; i < 20; i++) { n[i] = n[i - 1] + n[i - 2]; } printf("The number of rabits in first 20 months is\n"); for (i = 0; i < 20; i++) { printf("%d\n", n[i]); } system("pause"); return 0; }
【程序12】
题目:判断101-200之间有多少个素数,并输出所有素数。
#include <stdio.h> #include <stdlib.h> int main() { int num; int i; int N = 0; for (num = 101; num <= 200; num++) { for (i = 2; i <= num / 2; i++) { if (num % i == 0) { N = N + 1; break; } } } printf("There are %d numbers are prime", 100 - N); system("pause"); return 0; }
【程序13】
题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
int main() { int num = 100; int d1, d2, d3 = 0; printf("The 3-digits narcissistic numbers are\n"); for (num = 100; num < 1000; num++) { d1 = num / 100; d2 = (num % 100) / 10; d3 = (num % 100) % 10; if (num == d1*d1*d1 + d2*d2*d2 + d3*d3*d3) { printf("%d\n", num); } } system("pause"); return 0; }
【程序14】
题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
#include <stdio.h> #include <stdlib.h> int isPrime(int n) { int mark = 0; int i; for (i = 2; i < n / 2; i++) { if (n % i == 0) { mark = 1; break; } else { mark = 0; } } return mark; } int main() { int num; int factor; int mark; int f[10]; int i, j; scanf_s("%d", &num); j = 0; mark = 1; printf("%d = ", num); while (mark == 1) { mark = 0; for (factor = 2; factor < num / 2; factor++) { if (isPrime(factor) == 0){ if (num % factor == 0) { f[j] = factor; mark = 1; printf("%d * ", f[j]); j++; num = num / factor; break; } } } if (mark == 0) { f[j] = num; printf("%d\n", f[j]); } } system("pause"); return 0; }
【程序15】
题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
#include <stdio.h> #include <stdlib.h> int main() { int point; scanf_s("%d", &point); (point >= 90) ? (printf("A")) : ((point >= 60) ? (printf("B")) : (printf("C"))); system("pause"); return 0; }
【程序16】
题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
#include<stdio.h> int main() { int a,b,t,r; printf("Please input two numbers:\n"); scanf("%d %d",&a,&b); if(a<b) {t=b;b=a;a=t;} r=a%b; int n=a*b; while(r!=0) { a=b; b=r; r=a%b; } printf("The greatest common factor is%d and the minimum common multiple is%d\n",b,n/b); return 0; }
【程序17】
题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char s[100]; int n_s, n_z, n_k, n_q; int len; int i = 0; n_s = n_z = n_k = n_q = 0; scanf_s("%s", &s, 100); len = strlen(s); for (i = 0; i < len; i++) { if ((s[i] >= 'a' && s[i] <= 'z') || (s[i] >= 'A' && s[i] <= 'Z')) { n_z = n_z + 1; } else if (s[i] >= '0' && s[i] <= '9') { n_s = n_s + 1; } else if (s[i] = ' ') { n_k = n_k + 1; } else { n_q = n_q + 1; } } printf("The numbers of character, number, blank and others are %d,%d,%d,%d", n_z, n_s, n_k, n_q); system("pause"); return 0; }
【程序18】
题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
#include <stdio.h> #include <stdlib.h> #include <math.h> int main() { int a, s, n; int i; scanf_s("%d", &a); scanf_s("%d", &n); s = 0; for (i = 0; i < n; i++) { s = s + a * pow(10, i) * (n - i); } printf("s = %d", s); system("pause"); return 0; }
【程序19】
题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数。
#include <stdio.h> #include <stdlib.h> int main() { int num; int r,i; for (num = 1; num <= 1000; num++) { r = 0; for (i = 1; i <= num/2; i++) { if (num % i == 0) { r = r + i; } } if (r == num) { printf("%d\n", num); } } system("pause"); return 0; }
【程序20】
题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
#include <stdio.h> #include <stdlib.h> #include <math.h> int main() { float h, s; int i; h = 100 * pow(0.5, 10); s = 0; for (i = 0; i <= 10; i++) { s = s + 100 * pow(0.5, i); } printf("The 10th height is %f and the whole length is %f", h, s); system("pause"); return 0; }
标签:int,C语言,++,算法,num,printf,100,include From: https://www.cnblogs.com/mapstar/p/16722020.html