判斷閏年
輸入一個年份,判斷該年是否是閏年。
題目分析:
這是一道公司面試和各種C語言考試中常考的題目。雖然這道題目十分簡單,但是作為一個專業的程序員這是必備的常識。所謂閏年,是要符合下面兩個條件之一:
(1)該年份能被4整除,但不能被100整除;
(2)該年份能被4整除,又能被400整除。
隻要符合以上的兩條件之一的年份都是閏年。最簡單的判斷閏年的方法是用條件判斷語句(if-else語句)配合邏輯表達式進行判斷,充分地利用邏輯表達式進行判斷可使程序的可讀性更好,效率更高。
#include "stdio.h"
main()
{
int year;
printf("Please a year:\n");
scanf("%d",&year);
/*判斷是否是閏年*/
if((year % 4 == 0 && year % 100 !=0)||(year % 400 ==0 ))
printf("%d is leap year!\n",year);
else
printf("%d is not leap year!\n",year);
getche();
}
運行結果:
矩陣的轉置運算
題目要求:
用鍵盤從終端輸入一個3行4列的矩陣,編寫一個函數對該矩陣進行轉置操作。
題目分析:
這個問題的解決關鍵是要解決兩個問題:(1)數據在内存中的存儲問題,也就是數據結構的問題;(2)如何通過函數來實現矩陣的轉置運算。顯然,可以用一個二維數組來存儲矩陣的數據,通過将二維數組的指針作為函數的參數進行傳遞,來實現矩陣轉置函數的功能。
#include "stdio.h"
#include <stdio.h>
void InputMatrix(int (*a)[4],int ,int );
void OutputMatrix(int (*b)[3],int ,int );
void MatrixTranspose(int (*a)[4],int (*b)[3]);
int main(void)
{
int a[3][4],b[4][3]; /*a 存放原矩陣,b存放a 矩陣的轉置矩陣*/
printf("Please input 3×4 matrix\n");
InputMatrix(a,3,4);
MatrixTranspose(a,b);
printf("The Transposex Matrix is\n");
OutputMatrix(b,4,3);
getche();
return 0;
}
void InputMatrix(int (*a)[4],int n,int m)
{
/*輸入n*m階的矩陣 */
int i,j;
for(i=0;i<n;i )
for(j=0;j<m;j )
scanf("%d",*(a i) j);
}
void OutputMatrix(int (*b)[3],int n,int m)
{
/* 輸出n*m階矩陣的值 */
int i,j;
for(i=0;i<n;i )
{
for(j=0;j<m;j )
printf("%d ",*(*(b i) j));
printf("\n");
}
}
void MatrixTranspose(int (*a)[4],int (*b)[3])
{
/*矩陣的轉置運算*/
int i,j;
for(i=0;i<4;i )
for(j=0;j<3;j )
b[i][j]=a[j][i];
}
運行結果:
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!