练习1(乘法口诀表)
#include <stdio.h>
int main() {
int i, j;
for (i = 1; i <= 9; i++)//双循环
{
for (j = 1; j <= i; j++)
{
printf("%d*%d=%-4d ", j, i, i * j);
}
printf("\n");//每打印一次内循环换行
}
return 0;
}
练习2(求1-100素数之和)
#include <stdio.h>
#include <math.h>
int add(int x)
{
int j;
for (j = 2; j <= sqrt(x); j++)//sqrt为开平方
{
if (x % j == 0)
{
return 0;
}
}
return 1;
}
int main()
{
int i = 0;
int cont = 0;
for (i = 2; i <= 100; i++)
{
add(i);//add为判断素数函数
if (add(i) == 1)
{
cont += i;
}
}
printf("1-100素数之和:%d", cont);
return 0;
}
练习3(求1-100奇数之和)
#include <stdio.h>
int main()
{
int i;
int sum = 0;
for (i = 1; i < 101; i += 2)
{
if (i % 2 == 1)//判断奇数
{
sum += i;
}
}
printf("%d\n", sum);
return 0;
}
练习4(用排序函数sort对整形数组进行排序)
#include <stdio.h>
void sort(int b[], int n)
{
int i, j, k, t;
for (i = 0; i < n - 1; i++)
{
k = i;
for (j = i + 1; j < n; j++)
{
if (b[j] < b[k])
{
k = j;
}
}
t = b[k];
b[k] = b[i];
b[i] = t;
}
}
int main()
{
int a[10], i;
printf("请输入10个整数:\n");
for (i = 0; i < 10; i++)
{
scanf("%d", &a[i]);
}
sort(a, 10);
printf("由大到小顺序为:\n");
for (i = 0; i < 10; i++)
{
printf("%-3d", a[i]);
}
return 0;
}
练习5(判断闰年)
#include <stdio.h>
//判断闰年的方式:1.能被4整除,并且不能被100整除 2.能被400整除
int pd(int x)
{
if (x % 4 == 0 && x % 100 != 0)
{
return 1;
}
if (x % 400 == 0)
{
return 1;
}
else
return 0;
}
int main()
{
int n;
printf("请输入年份:");
scanf("%d", &n);
int a = pd(n);
if (a == 1)
{
printf("%d是闰年", n);
}
else
printf("%d不是闰年", n);
return 0;
}
练习6(函数求阶乘)
#include <stdio.h>
int fac(int n)
{
if (n <= 1)
{
return 1;
}
else
return n * fac(n - 1);
}
int main()
{
int n;
scanf("%d", &n);
int ret = fac(n);
printf("%d的阶乘=%d", n, ret);
return 0;
}
练习7(输入1行字符,求英文字符,空数字字符出现次数)
#include <stdio.h>
#include <ctype.h>
int main() {
char input[1000]; // 假设输入字符串的最大长度为1000
int i;
int a = 0, b = 0, c = 0;
// 提示用户输入字符串
printf("请输入一行字符: ");
fgets(input, sizeof(input), stdin);
// 遍历字符串并统计字符
for (i = 0; input[i] != '\0'; i++)
{
if (isalpha(input[i]))
{
a++;
}
else if (isspace(input[i]))
{
b++;
}
else if (isdigit(input[i]))
{
c++;
}
}
// 输出统计结果
printf("英文字符数: %d\n", a);
printf("空格字符数: %d\n", b);
printf("数字字符数: %d\n", c);
return 0;
}
练习8(用宏定义求圆面积)
#include <stdio.h>
// 定义带参数的宏,计算圆的面积
#define add(rad) (3.14159 * (rad) * (rad))
int main()
{
double rad, ret;
// 提示用户输入圆的半径
printf("请输入圆的半径: ");
scanf("%lf", &rad);
// 使用宏计算圆的面积
ret = add(rad);
// 输出计算结果
printf("圆的面积为: %.2f\n", ret);
return 0;
}
练习9(定义一个结构体并进行初始化和输出)
#include <stdio.h>
// 定义结构体 student
struct student
{
char name[20];
char sex;
int age;
float score;
};
int main()
{
// 使用结构体 student 定义一个变量并初始化
struct student stu = {"zhang san", 'M', 18, 92.5};
// 输出每个成员的内容
printf("姓名: %s\n", stu.name);
printf("性别: %c\n", stu.sex);
printf("年龄: %d\n", stu.age);
printf("成绩: %.2f\n", stu.score);
return 0;
}
练习10(创建文本文件,并输入内容)
#include <stdio.h>
int main()
{
FILE *filePointer; // 文件指针
// 打开文件以写入方式(如果文件不存在则创建,如果存在则清空内容)
filePointer = fopen("newfile.txt", "w");
// 检查文件是否成功打开
if (filePointer == NULL)
{
printf("无法创建文件或文件打开失败.\n");
return 1; // 返回非零值表示程序异常结束
}
// 写入内容到文件
fprintf(filePointer, "this is a new file.\n");
// 关闭文件
fclose(filePointer);
printf("文件创建并写入成功.\n");
return 0; // 返回零表示程序正常结束
}