0123程序练习

1、计算字符串中的单词数。

     单词:由空格分开的连续字母数字串。

#include <stdio.h>


char * mygets(char *str)
{
int i = 0;
while((str[i] = getchar()) != '\n')
{
i++;
}
str[i] = '\0';
}


int main()
{
int word_n=0;
    char str[100];
int flag=0;
int i=0;
printf("Please input a string with black: \n");
    mygets(str);
// while((ch = getchar()) != '\n');
    while(str[i] != '\0')
{
if(str[i] != ' ')
{
if(flag==0)
{
                word_n++;
   flag=1;
}
}
        else
{
            flag=0;
}
i++;
    }
    printf("%d\n",word_n);
    return 0;
}


2、整数数组的冒泡排序(从小到大)。

#include <stdio.h>
#define SIZE 10


int main()
{
    int i,j;
int temp;
int n[SIZE];
for(i=0;i<SIZE;i++)
scanf("%d",&n[i]);
for(i=0;i<SIZE;i++)
{
for(j=0;i+j<SIZE-1;j++)
{
if(n[j]>n[j+1])
{
temp=n[j];
n[j]=n[j+1];
n[j+1]=temp;
}
}
}
for(i=0;i<SIZE;i++)
{


printf("%5d",n[i]);
}
printf("\n");
    return 0;
}


3、将整数转换为10进制、2进制、16进制的数字串。

#include <stdio.h>


void to_binary(unsigned long);
void to_hex(unsigned long);
void to_decimdism(unsigned long);


int main()
{
    unsigned long n;
printf("Enter an integer: \n");
while(scanf("%d",&n))
{
printf("div equivalent: \n");
to_decimdism(n);
printf("\n");
printf("binary equivalent: \n");
to_binary(n);
        printf("\n");
printf("hex equivalent: \n");
to_hex(n);
printf("\n");
   printf("Enter next integer(q to quit): \n");
}
printf("done!\n");
    return 0;
}


void to_decimdism(unsigned long n)
{
int r;
r=n%10;
if(n>=10)
to_decimdism(n/10);
putchar('0'+r);
    return;
}


void to_binary(unsigned long n)
{
int r;
r=n%2;
if(n>=2)
to_binary(n/2);
putchar('0'+r);
    return; 
}


void to_hex(unsigned long n)
{
int r;
r=n%16;
if(n>=16)
to_hex(n/16);
if(r>=10)
putchar('7'+r);
else
putchar('0'+r);
return;


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值