一、打印五行五列的三角形
如下图:
#include<stdio.h>int main()
{for (int i = 1;i <= 5; i++){for (int j = i; j <= 5; j++){printf("*");}printf("\n");}return 0;
}
#include<stdio.h>int main()
{for (int i = 1;i <= 5; i++){for (int j = 1; j <= i; j++){printf("*");}printf("\n");}return 0;
}
二、打印九九乘法表
如下图:
思路:在第一题中正三角形的基础上进行修改
#include<stdio.h>int main()
{for (int i = 1;i <= 9; i++){for (int j = 1; j <= i; j++){printf("%d*%d=%d ",j,i,i*j);}printf("\n");}return 0;
}
三、输出100以内的所有质数
质数:除了1和它自身外,不能被其他自然数整除的数
1.试除法
试除法就是把每一个数都拿它之前的所有数来除一遍,如果出现余数为0,则证明不是素数。
例如:要验证99是否为素数,就拿1-98来给99除。当除到3时发现余数是0,所以99不是素数
#include<stdio.h>int main()
{int i,j = 0;for(i = 2; i <= 100; i++){for(j = 2;j <= i;j++){if(i % j == 0){break; //如果这里i能被j整除,说明i除了1和自己本身以外还有j这个因子,内循环结束,试除下一个数字}}if(i == j){printf("%d ",i); }}return 0;
}
2.试除开平方法
一个非素数可以拆成两个数相乘,这两个数的其中一个一定小子等于这个非素数的开平方 例如:20可以拆成4x5,4是小子等于根号20的。
如果出现了这两个数有其中一个大于该数的开平方,证明该数是素数
例如:19只能拆成1和19,19是大于根号19的
#include<stdio.h>
#include<math.h>int main()
{int i,j = 0;for(i = 2; i <= 100; i++){for(j = 2; j <= i; j++){if(i % j == 0){break;}}if(j > sqrt(i)){printf("%d ",i);}}return 0;
}
输出如下:
四、计算数字
1的一次方+2的二次方+...+5的五次方结果是多少?
#include<stdio.h>
#include<math.h>int GetNum(int a,int b)
{int num = 1;while(a){a--;num = num * b;}return num;
}int main()
{int i,j = 0;int sum = 0;for(i = 1;i<=5;i++){for(j = 1;j<=5;j++){if(i == j){sum = sum + GetNum(i,j);}}}printf("%d",sum);return 0;
}
五、和为15的数字
找出0~1000之内,每一位数字之和等于15的数字
例如:78,168
#include<stdio.h>
#include<math.h>int main()
{for(int i = 10;i <= 99; i++){int ge = i % 10;int shi = i / 10;if(ge + shi == 15){printf("%d ",i);}}for(int j = 100; j <= 999; j++){int a = j % 10;int b = j /10 % 10;int c = j / 100;if(a + b + c == 15){printf("%d ",j);}}return 0;
}