//1.实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定,输入9,输出9 * 9口诀表,输入12,输出12 * 12的乘法口诀表。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
void printMul(int n){
int i, j;
for (i = 1; i <= n; i++){
for (j = 1; j <= i; j++){
printf("%d * %d = %2d ", j, i, ij);
}
putchar(’\n’);
}
}
int main(){
int n;
int i, j;
scanf("%d", &n);
printMul(n); //可以不用scanf,直接n给具体数字也可实现相应的打印.
system(“pause”);
return 0;
}
//不用函数实现:
/int main(){
int n;
int i, j;
scanf("%d", &n);
for (i = 1; i <= n; i++){
for (j = 1; j <= i; j++){
printf("%d * %d = %2d ", j, i, ij); //%2d为printf的宽度,在前面补空格(右对齐);%-2d为在后面补空格(左对齐);%02d为零宽度,即补零
//对浮点数,当宽度和精度同时出现时,宽度在前,精度在后.如printf("%6.2lf",3.141592653)为:两个空格+3.14.
}
putchar(’\n’);
}/
//2.使用函数实现两个数的交换。指针用途 跨栈操作: 通过传指针实现子函数改变主函数的值
#include<stdio.h>
#include<stdlib.h>
int swapArgs(int *pa, int *pb){
int tmp = *pa;
*pa = *pb;
*pb = tmp;
}
int main(){
int a = 17, b = 5; //int * pa = &a , * pb = &b; int ** ppa=&pa(二级指针)
swapArgs(&a, &b);
printf(“a=%d,b=%d\n”, a, b);
system(“pause”);
return 0;
}
//除法运算
/*int divide(int a, int b, int *pres){ //实参中,int a, int b为入参;int *pres为出参,带取址符的一般为出参
if (b == 0){
return 0;
}
pres = a / b;
return 1;
}
int main(){
int a=17,b=3;
int res;
if (divide (a,b,&res)){
printf("%d/%d=%d\n", a, b, res);
}else{
printf(“除数为零\n”);
}
system(“pause”);
return 0;
}/
//3.实现一个函数判断year是不是闰年
#include<stdio.h>
#include<stdlib.h>
int judgeLeapYear(int y){ //变量命名:驼峰式命名法(首个单词首字母小写,其他首字母大写);常量命名:全部的首字母大写.
if (y % 400 == 0 || (y % 4 == 0 && y % 100 != 0)){ //return y % 400 == 0 || (y % 4 == 0 && y % 100 != 0)更简单;
return 1;
}
return 0;
}
int main(){
if (judgeLeapYear(1900)){
printf(“是闰年\n”);
}else{
printf(“是平年\n”);
}
system(“pause”);
return 0;
}
//4.创建一个数组,实现函数init()初始化数组、实现empty()清空数组、实现reverse()函数完成数组元素的逆置。要求:自己设计函数的参数,返回值。
#include<stdio.h>
#include<stdlib.h>
//数组的输出
void printArray(int a[],int n){
int i;
for (i = 0; i < n; i++){
printf("%d “, a[i]);
}
putchar(’\n’);
}
//数组的清空
void empty(int a[], int n){
int i;
for (i = 0; i < n; i++){
a[i]=0;
}
}
//数组元素逆置
void reverse(int a[], int n){
int i, j;
int tmp;
for (i = 0,j = n - 1; i < j; i++,j–){
tmp =a[i];
a[i] = a[j];
a[j] = tmp;
}
}
//init初始化数组
void init(int date[],int a[], int n){
int i;
for (i = 0; i < n; i++){
a[i] = date[i];
}
}
int main(){
int date[10] = { 1, 2, 3, 4, 5, 6, 7, 8 };
int a[10] = { 0 };
init(date,a,10);
printArray(a, 10);
reverse(a, 10);
printArray(a, 10);
empty(a, 10);
printArray(a, 10);
system(“pause”);
return 0;
}
//5.实现函数判断一个数是不是素数
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int judgePrimeNumber(int n){
int tmp = sqrt(n);
int i;
for (i = 2; i <= tmp; i++){
if (n % i == 0){
return 0;
}
}
return 1;
}
int main(){
int i;
for (i = 2; i <= 1000; i++){
if (judgePrimeNumber(i)){
printf(”%d\n", i);
}
}
system(“pause”);
return 0;
}