栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

11.7-11.14C语言学习总结(1)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

11.7-11.14C语言学习总结(1)

 long long int在C语言中可以简写为long long,能支持的整数范围是-2^63到2^63-1。实在不行,可以加个unsinged在前面。C语言定义一个int类型时,默认是有符号数,关键字signed常省略。输出符号为lld

 总体思路:定义一个字符数组,用do while输入()然后分别从是否是数字(0-9ascii码为48到57),有无负号,每个.之间是否有数字,数字大小是否满足0到255.,还有是否超出IP限制了

注意点:1.while的判断语句不能写成a[i--],会造成i实际上减一,从而陷入死循环。

2.由于是用字符数组接收的,所以不能直接比较大小,只能比较ascii码的大小。所以可以定义一个整型数组去接收(这样就变成了ascii码了,同理,'这个里面也可以把字符转换成ascii码',)

3.善用计数器去判断..之间是否有数字

 

运用while(scanf("%c",&d[k-1]) != EOF);时,注意每个数存进去之间用加空格,不然会被吞掉

不要使用EOF(不知道怎么结束循环),注意一下几点即可:

EOF(end of file)就是文件的结束,通常来判断文件的操作是否结束的标志。

EOF不是特殊字符,而是定义在头文件的常量,一般等于-1;

这题嗯写其实不难 ,但会超时,可以考虑用ascii码

#include
#include
int main()
{
	char a[100000];
	int str[100000]; 
	gets(a);
	int ha[256] = { 0 };
    int i;
    for ( i = 0; i < strlen(a); i++){
        str[i] = a[i];
		ha[str[i]]++;
    }
    for (i = 0; i<  strlen(a); i++){
        if (ha[str[i]] == 1){
           printf("%c",str[i]);
           return 0;
       }
	}
	printf("no");
	return 0;
}

 不要想着省事就加个for循环把ha数组缩小,这反而增加了时间

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/529471.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号