总结
目前亟需掌握调用函数、指针、数组的概念。今天写了如下代码:
将一串小写字符转化为大写字符
#include<stdio.h>
int main()
{
char c1,c2;
printf("请输入数个字母\n");
while ((c1 = getchar()) != '\n')
{
if (c1 >= 65 && c1 <= 91)
c2 = c1 + 32;
if (c1 >= 97 && c1 <= 123)
c2 = c1 - 32;
printf("%c", c2);
}
return 0;
}
注意事项:小写a的ASCII码值是97,大写A的ASCII码值是65,大写字母和小写字母相差了32。输出指令要加在循环体内。
输入随机范围,求0到该数该范围内的质数
#include<stdio.h>
int main()
{
int a, i,b,t=0, flag;
printf("请输入一个整数,该整数为范围最大值(最小值为0)\n");
scanf_s("%d", &a);
for (b = 2; b < a; b++)
{
flag = 1;
for (i = 2; i < b; i++)
{
if (b % i == 0)
{
flag = 0;
break;
}
}
if (flag == 1)
{
printf("%d ", b);
t++;
}
}
printf("共有%d个数\n", t);
return 0;
}
注意事项:if语句要放在第二个for循环的外部。
字母加密(每个字母的ASCII码往前加2,yz转为ab)
#include <stdio.h>
int main()
{
char i;
printf("请输入一串字母\n");
while ((i = getchar()) != '\n')
{
if ((i >= 'a' && i <= 'x') || (i >= 'A' && i <= 'X'))
i += 2;
else if (i == 'y' || i == 'Y' || i == 'z' || i == 'Z')
i -= 24;
putchar(i);
}
return 0;
}
注意事项:由于一串字母的结尾一定是\n,故while循环的终止条件为读到\n。
冒泡排序并插入一个数
#include <stdio.h>
int main()
{
int a[6], i, t,j,b;
printf("请输入5个整数\n");
for (i = 0; i < 5; i++)
scanf_s("%d", &a[i]);
for (i = 0; i < 5; i++)
for (j = 0; j < (5 - 1 - i); j++)
{
if (a[j] > a[j + 1])
t = a[j + 1], a[j + 1] = a[j], a[j] = t;
}
printf("排序后\n");
for (i = 0; i < 5; i++)
printf("%d ", a[i]);
printf("请输入要插入的整数\n");
scanf_s("%d", &b);
for (i = 4; i >= 0; i--)
{
if (b > a[i])
{
a[i + 1] = b;
break;
}
else
a[i + 1] = a[i],a[i]=b;
}
printf("插入后的数组为\n");
for (i = 0; i < 6; i++)
printf("%d ", a[i]);
return 0;
}
注意事项:数组里第n个数是它的下标-1