//purpose:編寫一個程序,以月/日/年(即mm/dd/yy)的格式接受用戶錄入的日期信息,並以年月日(即yyyymmdd)的格式將其顯示出來
//author:bat stone
//date:2011.7.22
#include <stdio.h>
int main(void)
{
int y, d, m;
printf("Enter a date (mm/dd/yyyy): ");
scanf("%d/%d/%d", &m, &d, &y);
printf("You entered the date %d%d%d\n", y, m, d);
return 0;
}
//Description:編寫一個程序,對用戶錄入的產品信息進行格式化
///author:bat stone
//date:2011.7.22
#include <stdio.h>
int main(void)
{
int number;
float price;
int y, m, d;
printf("Enter item number:");
scanf("%d",&number);
printf("Enter unit price:");
scanf("%f",&price);
printf("Enter pruchase date (mm/dd/yyyy):");
scanf("%d/%d/%d",&m, &d, &y);
printf("Item\tUnit\t\tPurchase\n\tprice\t\tDate\n");
printf("%-d\t$%7.2f\t%d/%d/%d\n",number, price, m, d, y);
return 0;
}
//圖書館國際標準書號(978-0-393-97950-3)進行分組解析
//author:bat stone
//date:2011.7.22
#include <stdio.h>
#define GROUPS 5
#define LENGTH 11
int main(void)
{
char pGs1[GROUPS][LENGTH]; //用來存儲解析好後的數據(GS1前綴,語言,出版商編號,產品編號,校驗碼)
char *p; //組指針
char isbn[256]; //圖書館國際標準書號
char *p1; //遊標指針
int count = 0; //組號
p = pGs1[count];
gets(isbn); //獲得圖書館國際標準書號
//圖書館國際標準書號(978-0-393-97950-3)進行分組解析,存入pGs1中
p1 = isbn;
while(*p1 != '\0')
{
*p++ = *p1++;
if(*p1 == '-')
{
*p = '\0';
p1++;
++count;
p = pGs1[count];
}
}
*p++ = '\0'; //對最後一組數據添加結束符號
//輸出分組後的數據
for(count = 0; count < 5; ++count)
{
puts(pGs1[count]);
}
return 0;
}
//Description: 將(xxx) xxx-xxxx的電話號碼轉化成xxx.xxx.xxxx
//author:bat stone
//date:2011.7.22
#include <stdio.h>
#include <string.h>
#define LEN 20
int main(void)
{
char phone[LEN];
char *p, *p1, *p2;
printf("Enter phone number [(xxx) xxx-xxxxxx]: ");
gets(phone);
p = phone;
p1 = ++p;
//將數據中的‘)’去掉,並將電話字符串分割p1,p2
while(*p && *p != ')')
++p;
*p++ = '\0';
//替換後面的空格和‘-’
p2 = p;
while(*p++ != '\0')
{
if((*p == ' ') || (*p == '-'))
{
*p = '.';
}
}
sprintf(phone,"%s%s",p1,p2); //生成轉換後的phone
puts(phone);
return 0;
}
//Description:用任意的方式輸入1 ~ 16的所有整數,用4*4的矩陣輸出,計算觀察每行、每列和正負對角線上的和
//author:bat stone
//date:2011.7.22
#include <stdio.h>
int main(void)
{
int a[4][4];
int i,j;
int r[4] = {0}, c[4] = {0};
int sum1 = 0, sum2 = 0;
printf("Enter the numbers from 1 to 16 in any order:");
for(i=0;i<4;++i)
{
for(j=0;j<4;++j)
{
scanf("%d",&a[i][j]);
}
}
for(i = 0; i < 4; ++i)
{
for(j = 0; j < 4; ++j)
{
printf("%4d",a[i][j]);
r[i] += a[i][j]; //每行的和
c[i] += a[j][i]; //每列的和
if(i == j)
sum1 += a[i][j]; //主對角線上的和
if((i + j) == 3)
sum2 += a[i][j]; //負對角線上的和
}
printf("\n");
}
printf("Row sums: %d %d %d %d\n",r[0],r[1],r[2],r[3]);
printf("Cow sums: %d %d %d %d\n",c[0],c[1],c[2],c[3]);
printf("Diagonal sums: %d %d\n",sum1,sum2);
return 0;
}