1、统计一行中单词数
int main(int argc, char *argv[]) { char str[80]; int num=0,word=0,i; char c; gets(str); for(i=0;(c=str[i])!='\0';i++) if(c==' ')word=0; else if(word==0) {word=1; num++; } printf("%d",num); }
利用空格来统计单词数,当出现空格时使word=0,不是空格时word=1,并使num加1。
2、素数统计
素数就是除了1和他本身外,不能被其它数整除的数。
统计100以内的素数,源代码如下:
int main(int argc, char *argv[]) { int i,j; for(i=2;i<=100;i++) {for(j=2;j<i;j++) if(i%j==0)break; if(j>=i) printf("%d,",i); } }
当然也可以简化,提高运行速度。只需除到根号i即可
3、排序(选择法和冒泡法)
选择法:
int main(int argc, char *argv[]) { int a[10]={1,5,9,6,7,3,2,4,8,10}; int i,j,t; for(i=0;i<10;i++) for(j=i+1;j<10;j++) if(a[i]<a[j]) {t=a[i];a[i]=a[j];a[j]=t;} for(i=0;i<10;i++) printf("%d ",a[i]); }
排序就是将数组中的第一项与其他所有项进行比较,进而对数据进行比较
冒泡法:
冒泡法则是两项两项的进行比较
int main(int argc, char *argv[]) int a[10]={1,5,9,6,7,3,2,4,8,10}; int i,j,t; for(i=0;i<10;i++) for(j=0;j<9-i;j++) if(a[j]<a[j+1]) {t=a[j];a[j]=a[j+1];a[j+1]=t;} for(i=0;i<10;i++) printf("%d ",a[i]); }