#include <iostream>
int main()
{
/*
//1、编写一个C程序,用筛选法求100之内的素数
//所谓素数是指除了 1 和它本身以外,不能被任何整数整除的数
for (int i = 2; i <= 100; i++) {
int issushu = 0;
//只需被2~sqrt(i)之间的每一个整数去除就可以了
int sqrt_i = (int)sqrt(i);
for (int j = 2; j <= sqrt_i; j++) {
if (i % j == 0) {
issushu++;
break;
}
}
if (issushu == 0) {
printf("%d ", i);
}
}
*/
/*
//2、编写一个C程序,求一个3*3矩阵对角线元素的和
int a[3][3] = { { 1, 2, 3 },{ 4, 5, 6 },{ 7, 8, 9 } };
int sum1 = 0, sum2 = 0;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (i == j && i + j != 2) {
sum1 += a[i][j];
}
else if (i + j == 2 && i != j) {
sum2 += a[i][j];
}
else if (i == j && i + j == 2) {
sum1 += a[i][j];
sum2 += a[i][j];
}
}
}
printf("对角线元素之和分别是:%d, %d", sum1, sum2);
*/
/*
//3、编写一个C程序,假设有一个已排好的数组,要求输入一个数后,按原来的排序规律将它插入数组中
//假如下面一个从小到大排好的数组,初始化后,最后一个元素为0
int a[10] = { 2, 4, 6, 8, 10, 12, 14, 16, 18 };
int num;
printf("请输入一个数:");
scanf_s("%d", &num);
for (int i = 0; i < 9; i++) {
if (num < a[i]) {
for (int j = 9; j > i; j--) {
a[j] = a[j - 1];
}
a[i] = num;
break;
}
else if (num >= a[8]) {
a[9] = num;
}
}
printf("插入之后的数组:");
for (int i = 0; i < 10; i++) {
printf("%d ", a[i]);
}
*/
/*
//4、编写一个C程序,要求将一个数组中的值按逆序重新存放,例如原来的顺序为8、6、5、4、1
//要求改为1、4、5、6、8
int a[5] = { 8, 6, 5, 4, 1 };
int len = sizeof(a) / sizeof(int);
for (int i = 0; i < len / 2; i++) {
int temp = a[i];
a[i] = a[len - 1 - i];
a[len - 1 - i] = temp;
}
for (int i = 0; i < len; i++) {
printf("%d ", a[i]);
}
*/
/*5、编写一个C程序,将两个字符串s1和s2进行比较,如果s1>s2,则输出一个正数;
若s1=s2,则输出0,如果s1<s2,则输出一个负数,不要使用strcmp函数。两个字符
串用gets函数读入。输出的正数或者负数的绝对值应该是两个字符串相应字符的
ASCII码的差值。例如:“A”与“C”相比,由于“A”<“C”,所以应该输出负数,
由于“A”与“C”的ASCII码差值为2,因此应该输出“-2”,同理:“And”与“Aid”
比较,根基第二个字符比较的结果可知,“n”比“i”大5,因此输出5。
*/
/*
//输入的字符串长度不能超过设置的长度
char s1[10], s2[10];
printf("请输入第一个字符串:");
gets_s(s1, 10);
printf("请输入第二个字符串:");
gets_s(s2, 10);
printf("%s\n%s\n", s1, s2);
int result = 0;
int i = 0;
while (s1[i] != '\0') {
if (s1[i] == s2[i]) {
i++;
}
else {
result = s1[i] - s2[i];
break;
}
}
//考虑字符串s1比字符串s2短的情况,此时s1[i] = '\0',是空字符,ASCII对照表的值为0,再与s2[i]进行比较。
//这里不需要再考虑s2比s1短的情况,因为上面的while已经考虑进去了。
if (result == 0) {
result = s1[i] - s2[i];
}
printf("两个字符串的比较结果为:%d", result);
*/
}