6.下列字符序列中,可以用作C语言标识符的一组字符序列的是
S.b , sum , average , _above (×)//标识符没有.
class , day , lotus_1 , 2day(×)//2day首字符是2
#md , &12x , month , student_n!(×)//标识符没有#,&,!
D56 , r_1_2 , name , _st_1(√)
解析:
-
标识符由大小写字母、数字、下划线"_"组成
-
不能把C语言关键字作为标识符
-
标识符长度限制32个字符
-
标识符对大小写敏感
-
首字符只能是字母或者下划线,不能是数字
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
7.打印100~200之间的素数
#include <stdio.h>
int main()
{
int i = 0;
for (i = 100; i <= 200; i++)
{
//思路:用试除法
//用1和本身之间的数与该数相除,看是否有余数
//产生2——>i-1的数
int j = 0;
for (j = 2; j < i; j++)
{
if (i % j == 0)
{
break;
}
}
//此时break跳出的和正常循环结束的结果都会到这
//而循环结束意味着2——>i-1的数都不能整除
//且跳出循环时j=i,而此时j就是素数
if (j == i)
{
printf("%d ", j);
}
}
return 0;
}
运行结果:101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
8.打印1000到2000的闰年
判断是否为闰年
-
能被4整除但不能被100整除
-
能被400整除
#include <stdio.h>
int main()
{
int year = 0;
for (year = 1000; year <= 2000; year++)
{
if ((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0))
{
printf("%d ", year);
}
}
return 0;
}
运行结果:1004 1008 1012 1016 ... 1988 1992 1996 2000
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
9.编写程序数一下1~100的所有整数中有多少个9
#include <stdio.h>
int main()
{
int i = 0;
int count = 0;
for (i = 1; i < 100; i++)
{
if (i % 10 == 9)
{
printf("%d ", i);
count++;
}
if (i / 10 == 9)
{
printf("%d ", i);
count++;
}
}
printf("count=%d\n", count++);
return 0;
}
运行结果:9 19 29 39 49 59 69 79 89 90 91 92 93 94 95 96 97 98 99 99 count=20
99包含两个9,因此需要计算两次
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
10.计算1/1-1/2+1/3-1/4+1/5-...+1/99-1/100
#include <stdio.h>
int main()
{
int i = 0;
int flag = 1;
double sum = 0.0;
for (i = 1; i <= 100; i++)
{
sum += flag * 1.0 / i;//给分数乘上一个会变换符号的flag
flag = -flag;//每次给flag赋值一个负号实现符号的变换
}
printf("sum=%lf\n", sum);
return 0;
}
运行结果:sum=0.688172
精度肯定会存在丢失
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
11.求十个数中的最大值
#include <stdio.h>
int main()
{
int arr[] = { -1,-2,1,5,-9,7,-7,6,4,8 };
int max = arr[0];//先把第一个数赋进max,可以规避负数无法比较的问题
int i = 0;
int sz = sizeof(arr) / sizeof(arr[0]);
for (i = 1; i < sz; i++)
{
if (arr[i] > max)
{
max = arr[i];
}
}
printf("max=%d\n", max);
return 0;
}
运行结果:max=8
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
12.在屏幕上输出乘法口诀表
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int i = 0;
for (i = 0; i < 10; i++)//确认打印9行
{
int j = 0;
//打印1行
for (j = 1; j <= i; j++)
{
printf("%d * %d = %-2d ", i, j, i * j);
}
printf("\n");
}
return 0;
}
运行结果:
1 * 1 = 1
2 * 1 = 2 2 * 2 = 4
3 * 1 = 3 3 * 2 = 6 3 * 3 = 9
4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16
5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25
6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36
7 * 1 = 7 7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49
8 * 1 = 8 8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64
9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81