C语言典例剖析及源代码

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]);
} 
 

猜你喜欢

转载自blog.csdn.net/yhxiaohao/article/details/79789263
今日推荐