C++examples

1.判断是否为IP地址

#include <stdio.h>
#include <math.h>
void main()
{
int m,i,j,ip[4],ym[4],ymm[4][8],ipp[4][8],t,zw[4],l;
	int ok[4]={0,0,0,0};
printf("请输入一个IP地址:\n");
  loop:   scanf("%d.%d.%d.%d",&ip[0],&ip[1],&ip[2],&ip[3]);
if((ip[0]>=0&&ip[0]<224)&&(ip[1]>=0&&ip[1]<256)&&(ip[2]>=0&&ip[2]<256)&&(ip[3]>=0&&ip[3]<256))
   {if(ip[0]==0&&ip[1]==0&&ip[2]==0&&ip[3]==0)   /*把地址为全零的IP地址除去*/
       m=0;
    else
		if(ip[0]==127)                   /*将127.0.0.0去除*/
		   m=0;
        else
	        if(ip[1]==255&&ip[2]==255&&ip[3]==255)       /*将主机号为全1的去除*/
			   m=0;
			else
			   if(ip[1]==0&&ip[2]==0&&ip[3]==0)   /*将主机号为全0的去除*/
			   m=0;
		       else
			    m=1;
	}
    else m=0;
switch(m)              /*用m的值判断ip地址是否合法,m=0时不合法,m=1时合法*/
{
case 0:{printf("此地址不合法!\n");
	printf("重新输入请按ENTER,否则请按其它键!\n");
	scanf("%d",&l);
	if(l==1)
		goto loop;
	else 
        if(l!=1)break;
	   }
case 1:
	{      /*判断地址的类型*/
		if(ip[0]>0&&ip[0]<127)
	 printf("此地址为合法的A类地址..\n");
		else if(ip[0]>127&&ip[0]<192)
			printf("此地址为合法的B类地址..\n");
		else 
			printf("此地址为合法的C类地..\n");
	        /*判断地址的类型*/
     
		/*以下程序实现ip地址点分十进制到二进制的转化*/
	
	for(i=0;i<4;i++)
		for(j=7;j>=0;j--)
		{ipp[i][j]=ip[i]%2;
		ip[i]=ip[i]/2;}
	 
	   printf("\n请输入子网掩码:\n");
	        /*将十进制子网掩码转化为二进制,存放到ym[4][8]中*/
	    scanf("%d.%d.%d.%d",&ym[0],&ym[1],&ym[2],&ym[3]);
	   printf("\n");
	   	for(i=0;i<4;i++)
		for(j=7;j>=0;j--)
		{ymm[i][j]=ym[i]%2;
		ym[i]=ym[i]/2;}
		
	  	/*将相与后的数用十进制输出*/
		 printf("子网号的点分十进制表示为:\n");
      for(i=0;i<4;i++)
		   for(j=0;j<8;j++)
                ymm[i][j]=ymm[i][j]*pow((double)2,7-j);
       for(i=0;i<4;i++)
		    for(j=0;j<8;j++)
		     ok[i]=ymm[i][j]+ok[i];
       for(i=0;i<4;i++)
	   printf("%d.",ok[i]);
		/*将相与后的数用十进制输出*/
    printf("\n");
	   }
}
}


2.整数倒置

#include<stdio.h>
void main()
{
    char a[20],*p;
    int i,j;
    p=a;
    for(i=0;i<20;i++)
    {
        scanf("%c",&a[i]);
        if(a[i]!='\n')
              p++;
        else 
             break;
     }
     for(i;i>=0;i--)
    printf("%c",*(--p));
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个错误提示是因为编译器无法找到 iostream 头文件,iosteam 是 C++ 中的标准输入输出流库,通常用于控制台程序中。为了解决这个错误,你需要确保已经正确安装了 C++ 编译器和标准库,并且在编译器的 include path 中包含了 iostream 头文件所在的路径。 如果你使用的是 Visual Studio Code,可以在项目根目录下创建一个名为 ".vscode" 的文件夹,然后在该文件夹下创建一个名为 "c_cpp_properties.json" 的文件,并在该文件中添加以下内容: ``` { "configurations": [ { "name": "Win32", "includePath": [ "${workspaceFolder}/**" ], "defines": [], "compilerPath": "C:/MinGW/bin/gcc.exe", "cStandard": "c11", "cppStandard": "c++17", "intelliSenseMode": "gcc-x64", "browse": { "path": [ "${workspaceFolder}" ], "limitSymbolsToIncludedHeaders": true, "databaseFilename": "" } } ], "version": 4 } ``` 其中,"compilerPath" 对应你的 C++ 编译器的安装路径,"cStandard" 对应你所使用的 C 标准的版本,"cppStandard" 对应你所使用的 C++ 标准的版本。你需要根据自己的实际情况进行配置。 如果你使用的是其他的 C++ 编译器,可以参考其文档或者官方网站,查找如何设置 include path。另外,你也需要确保你的代码中正确地包含了 iostream 头文件,例如: ``` #include <iostream> int main() { std::cout << "Hello, World!"; return 0; } ``` 如果你仍然无法解决这个问题,可以尝试重新安装 C++ 编译器和标准库,或者在网上搜索相关的解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值