#include
void Print(int* num){
int i = 0;
int j = 0;
for(i = 1;i <= *num;i++){
for(j = 1;j <= i;j++){
printf("%d*%d=%2d ",i,j,i*j);
}
printf("\n");
}
}
int main(){
int num = 0;
printf("请输入数字:");
scanf("%d",&num);
Print(&num);
return 0;
}
2. 使用函数实现两个数的交换。
#include
void Exchange(int *a,int *b){
int tmp = *a;
*a = *b;
*b = tmp;
}
int main(){
int a,b;
printf("请输入要交换的两个数:");
scanf("%d %d",&a,&b);
printf("交换前a=%d,b=%d\n",a,b);
Exchange(&a,&b);
printf("交换后a=%d,b=%d\n",a,b);
return 0;
}
3. 实现一个函数判断year是不是润年。
#include
void IsLeap(int year){
if((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
printf("%d年是闰年\n",year);
else
printf("%d年不是闰年\n",year);
}
int main(){
int year = 0;
printf("请输入年份:");
scanf("%d",&year);
IsLeap(year);
return 0;
}
4. 创建一个数组, 实现函数init()初始化数组、 实现empty()清空数组、 实现reverse()函数完成数组元素的逆置。 要求:自己设计函数的参数,返回值。
#include
void Init(int arr[],int sz){
int i = 0;
for(;i < sz;i++)
arr[i] = i+1;
}
void Print(int arr[],int sz){
int i = 0;
for(;i < sz;i++)
printf("%d ",arr[i]);
printf("\n");
}
void Empty(int arr[],int sz){
int i = 0;
for(;i < sz;i++)
arr[i] = 0;
//等同于memset(arr,0,sz*sizeof(arr[0]));
}
void Reverse(int arr[],int sz){
int left = 0;
int right = sz-1;
while(left < right){
int tmp = arr[left];
arr[left] = arr[right];
arr[right] = tmp;
left++;
right--;
}
}
int main(){
int arr[]={0,1,2,3,4,5};
int sz = sizeof(arr)/sizeof(arr[0]);
printf("原数组为:");
Print(arr,sz);
Init(arr,sz);
printf("初始化后的数组为:");
Print(arr,sz);
Reverse(arr,sz);
printf("逆置后的数组为:");
Print(arr,sz);
Empty(arr,sz);
printf("清空后的数组为:");
Print(arr,sz);
return 0;
}
5. 5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果 :
#include
int main(){
int a,b,c,d,e;
for (a = 1; a <= 5; a++){
for (b = 1; b <= 5; b++){
for (c = 1; c <= 5; c++){
for (d = 1; d <= 5; d++){
for (e = 1; e <= 5; e++){
if ((2 == b && 3 != a) || (2 != b && 3 == a) == 1){
if ((2 == b && 4 != e) || (2 != b && 4 == e) == 1){
if ((1 == c && 2 != d) || (1 != c && 2 == d) == 1){
if ((5 == c && 3 != d) || (5 != c && 3 == d) == 1){
if ((4 == e && 1 != a) || (4 != e && 1 == a) == 1){
printf("a= %d, b= %d,c= %d,d= %d,e= %d\n", a,b,c,d,e);
}
}
}
}
}
}
}
}
}
}
return 0;
}
6. 日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词。
#include
int main(){
int killer;
for(killer = 'A';killer <= 'D';killer++){
if(('A' != killer)+('C' == killer)+('D' == killer)+('D' != killer) == 3){
printf("killer is %c\n",killer);
break;
}
}
return 0;
}
7.在屏幕上打印杨辉三角。
#include
#define N 10
int main(){
int i,j;
int arr[N][N];
for(i = 0;i < N;i++){
arr[i][0] = 1;
arr[i][i] = 1;
}
for(i = 2;i < N;i++){
for(j = 1;j < i;j++){
arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
}
}
for(i = 0;i < N;i++){
for(j = 0;j < (2*N-2*i);j++){
printf(" ");
}
for(j = 0;j <= i;j++){
printf("%4d",arr[i][j]);
}
printf("\n");
}
return 0;
}
8.实现一个函数,判断一个数是不是素数。
#include
int IsPrime(int n){
int i = 0;
for(i = 2;i < n;i++){
if(n % i == 0)
return 0;
}
return 1;
}
int main(){
int n,ret;
printf("请输入一个数字:");
scanf("%d",&n);
ret = IsPrime(n);
if(ret == 0)
printf("%d不是素数\n",n);
else if(ret == 1)
printf("%d是素数\n",n);
return 0;
}