c语言练习

本文介绍了两个C语言编程实例:一是统计1至n中数字1出现的次数,二是自定义strcmp函数进行字符串比较,并探讨了如何处理字符串完全相同的情况及十进制转八进制的方法。

   今天写几条例题。

打印出1到n里有多少个1.

程序如下:

#include<stdio.h>
int main()
{
int i,n,a,b,c,d;
int s=0;
printf("shuru n n<10000\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
 a=i/1000;
 b=i%1000/100;
 c=i%1000%100/10;
 d=i%1000%100%10;
 if(a==1)
 s=s++;
 if(b==1)
 s=s++;
 if(c==1)
 s=s++;
 if(d==1)
 s=s++;
}
printf("%d\n",s);
return 0;
}
编写程序实现strcmp函数的功能,我是这样写的
#include<stdio.h>
int main()
{
char str1[10],str2[10];
scanf("%s %s",str1,str2);
int i;
for(i=0;str1[i]!='\0'&&str2[i]!='\0';i++)
 {
  if(str1[i]==str2[i])
  continue;
  else
   {
    if(str1[i]<str2[i])
    {
    printf("0\n");
    break;
    }
    else
    {
    printf("1\n");
        break;
    }
   } 
 }
return 0;
}
但有一个问题,就是当这2个字符串相等时不能输出,哪位大神教教我怎么改啊。
如何将一个十进制数转换为八进值数(不能使用%o输出)?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值