1、輸入一行字符,分別統計出其中字母、空格、數字和其他字符的個數。
#include"stdio.h" #include"ctype.h"//字符函數庫 #define width 3 void main(void ) { int count; unsigned long spaces=0; unsigned long letters=0; unsigned long digits=0; unsigned long others=0; printf("請輸入一串字符:\n"); while((count=getchar())!=EOF)//判斷鍵盤上輸入結束 if(isspace(count)) spaces++;//判斷字符類型 else if(isalpha(count)) letters++; else if(isdigit(count)) digits++; else others++; printf("空格的個數是:%*lu\n",width,spaces-1); printf("字母的個數是:%*lu\n",width,letters); printf("數字的個數是:%*lu\n",width,digits); printf("其他字符的個數:%*lu\n",width,others); getch(); }
2、求下列試子的值:1-1/2+1/3-1/4+……+1/99-1/100,將結果輸出。
#include<stdio.h> #define MAX 100 void main() { int i,num; double sum=0; for(i=1;i<=MAX;i++) { if(i%2) { sum+=(1.0/i); } else { sum-=(1.0/i); } } printf("1-1/2+1/3-1/4……+1/99-1/100=%f\n",sum); }
3、矩陣轉置:將一個m行n列矩陣(即m×n矩陣)的每一行轉置成另一個n×m矩陣的相應列
例如:將2*3的矩陣轉置後輸出:
即將1 2 3轉置1 4
4 5 6 2 5
3 6
#include<stdio.h> #define SIZE 3 void main() { int arr[SIZE][SIZE]; int i,j; printf("請輸入一個3*3的矩陣:\n"); for(i=0;i<SIZE;i++) for(j=0;j<SIZE;j++) scanf("%d",&arr[i][j]); printf("轉置矩陣是:\n"); for(i=0;i<SIZE;i++) { for(j=0;j<SIZE;j++) { printf("%3d",arr[j][i]); } printf("\n"); } }