鱼C论坛

 找回密码
 立即注册
查看: 295|回复: 7

2019.1.11-C语言每周一练(共2题-第2题)

[复制链接]
最佳答案
2 
发表于 2019-1-11 15:58:02 | 显示全部楼层 |阅读模式
50鱼币
本帖最后由 小布丁 于 2019-1-11 16:20 编辑

题目: 显示出从键盘中输入字符串的字符个数

要求:定义一个长度函数,返回输入字符串的长度

效果图如下
小Q截图-20190111155624.png

关于评判标准,可以参考此帖:https://fishc.com.cn/thread-129371-1-1.html

第一题传送门:https://fishc.com.cn/thread-129368-1-1.html

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
发表于 2019-1-11 21:18:41 | 显示全部楼层
本帖最后由 淘金者 于 2019-1-11 21:21 编辑

#include <stdio.h>
#include <string.h>

int stringlength( char *str )
{
    return strlen( str );
}

int main()
{
    char str[100];
    int len;
   
    printf("请输入字符串: ");
    scanf("%s\n",str);
    len = stringlength( str );
   
    printf("这段字符串长度为: %d\n",len);
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
4 
发表于 2019-1-11 22:18:27 | 显示全部楼层
  1. #include<stdio.h>
  2. int str_len(char *s)
  3. {
  4.     int i;
  5.     for(i=0;s[i];i++);
  6.     //从字符串扫描到字符串末尾,则i的循环次数就是答案。
  7.     return i;
  8. }
  9. int main()
  10. {
  11.     char s[1000];
  12.     printf("请输入字符串:");
  13.     scanf("%s",&s);
  14.     printf("这段字符串的长度为:%d",str_len(s));
  15.     return 0;
  16. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
发表于 2019-1-12 10:47:58 | 显示全部楼层
#include<stdio.h>
int main()
{char str[20];
int n;
printf("请输入字符串:");
scanf("%s",str);
for(n=0;str[n]!='\0';n++);
printf("输入字符串长度为:%d",n);
getchar();
return 0;
}
微信图片编辑_20190112104728.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
35 
发表于 2019-1-12 21:52:12 | 显示全部楼层
  1. #include "stdio.h"

  2. int my_strlen( char *string )
  3. {
  4.     int length = 0;

  5.     while( *string++ != '\0' )
  6.         length += 1;
  7.     return length;
  8. }

  9. int main(int argc, char* argv[])
  10. {
  11.         char s[1000];
  12.             printf("请输入字符串:");
  13.             scanf("%s",&s);
  14.         printf("这段字符串的长度为:%d\n",my_strlen(s));

  15. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
发表于 2019-1-13 00:10:36 | 显示全部楼层
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <stdio.h>

  3. unsigned int StrLength(const char *szStr)
  4. {
  5.         unsigned int nPos = 0, nLen = 0;
  6.         unsigned char Char;
  7.         while (1)
  8.         {
  9.                 Char = *(szStr + nPos);
  10.                 if (!Char) return nLen;
  11.                
  12.                 if (Char < 128) nPos ++;      //--如果当前是ASCII字符,判断下一个
  13.                 else            nPos += 2;   //--否则,判断再下一个

  14.                 nLen++; //--长度加1
  15.         }
  16. }

  17. void main(void)
  18. {       
  19.         char szIn[100];
  20.         while (1)
  21.         {
  22.                 printf("请输入一个字符串:\n");
  23.                 scanf("%s", szIn);
  24.                 printf("字符串长度为:%d\n\n", StrLength(szIn));
  25.         }       
  26. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
发表于 2019-1-13 00:14:31 | 显示全部楼层
r:\2.jpg
2.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
35 
发表于 2019-1-13 12:11:06 | 显示全部楼层

这个不错,增加了中文字符的判断。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐上一条 /1 下一条

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号

GMT+8, 2019-1-22 02:53

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表