C语言 统计个数

C语言 统计个数,第1张

main()

{

int i,j,upp,low,dig,spa,oth;

char text[3][80];

upp=low=dig=spa=oth=0;

for(i=0;i<3;i++)

{

printf("\n Please input line %d:\n",i+1);

gets(text[i]);

for(j=0;j<80 && text[i][j]!='\0';j++)

{

if(text[i][j]>='A' && text[i][j]<='Z')

upp++;

else if(text[i][j]>='a' && text[i][j]<='z')

low++;

else if(text[i][j]>='0' && text[i][j]<='9')

dig++;

else if(text[i][j]>=' ') //这里改成else if(text[i][j]==' ')

spa++;

else

oth++;

}

}

for(i=0;i<3;i++)

printf("%s\n",text[i]);

printf("upper case: %d\n",upp);

printf("lower case: %d\n",low);

printf("digit: %d\n",dig);

printf("space: %d\n",spa);

printf("other: %d\n",oth);

}

函数的返回值,都是用eax的,如果返回值,大于32位,那么eax里面丢指向这个大数据的指针,如果低于32位,eax就返回这个值。。 messagebox(参数4个,第一个窗口句柄,第二个指向一个内容字符串的指针,第三个指向一个标题字符串的指针,按钮类型常量),当你直接把一个int类型的数据,放到参数里后,程序,会去那个int内存里读取,当然会出错,应为那个是系统内存地址,如果你想让messagebox显示那个返回值,必须把他进行字符串格式化,然后丢到那个缓冲区,然后用指针指向他,你可以试试wsprintf,这个函数,专门格式数值型

是一种DIG文件格式。

DIG文件扩展名相关的格式总共有2种。

当前这种DIG格式是一种数据文件,是由阿莱克斯系统研发,作为一种DigiLink公司数据文件使用,此文件流行程度是50分(0-100满分)。

在苹果Mac系统下,推荐使用DigiLink 2, 3 DigiLink, 任何文本编辑器软件程序打开运行。

如果是在手机上运行,请下载安卓或者IOS应用程序,通过APP打开DIG文件。

DNS:协议

bind:是dns协议的一种实现

named:bind程序的运行的进程名

bind-libs: 被bind和bind-utils包中的程序共同用到的库文件;

bind-utils: bind客户端程序集,例如dig,host,nslookup等;

bind: 提供的dns server程序以及几个常用的测试程序;

bind-chroot: 选装,让named运行于jail模式下;

 可包含进来其它文件;

   /etc/namediscdlvkey

   /etc/namedrfc1912zones

   /etc/namedrootkey

注意:每个配置语句必须以分号结尾,否则即为语法错误;

  /var/named/ 目录下;

  一般名字为: ZONE_NAMEzone

  注意:

   1 一台DNS服务器可同时为多个区域提供解析

   2 必须要有根区域解析库文件: namedca ;

   3 还应该有两个区域解析库文件:localhost和127001的正反向解析库;

    正向:namedlocahost

    反向:namedloopback

 remote name domain controller,远程名称域控制器

port: 953/tcp

 默认监听于127001地址,因此仅允许本地使用;

CentOS 6: service named start

CentOS 7: systemctl start namedservice

 用于测试dns系统,因此其不会查询hosts文件;

  rndc status :状态信息

  rndc stats :统计

  rndc flush :刷新

  rndc reload :重载

#include <stdioh>

#include <stringh>

 

char mFun(char p, int len) //颠倒数字的函数

{

    char sp;

    for(int i=0;i<len/2;i++)

    {

        sp = p[i];

        p[i] = p[len-i-1];

        p[len-i-1] = sp;

    }

    return p;

}

char qling(char p, int len) //从首位查找非0字符,并且返回非0首地址

{

    if(p[0] == '0')//如果输入的字符串首位没有0则不运行下面的算法直接跳过

    {

        for(int i=0;i<len;i++)

        {

            if((p[i] == '0') && 

                (p[i+1] != '0'))

            {

                   return &p[i+1];

            }

        }    

    }

    return 0;

}

int main(int argc, char argv[])

{

    char sbuf[255]={0};

    printf("Put Number:");

    gets(sbuf); //输入数字

    int len = strlen(sbuf); //调用函数算出输入字符串的长度

    char p = qling(sbuf, len);

    if(p == 0)p = sbuf; //如果返回为0,则表示首位到最高位没有0

    len = strlen(p);

    printf("位数是%d位:%s\n",len,mFun(p,len)); //调用函数,颠倒数字位置,返回首地址,并且输出

    getchar();

    return 0;

}

下面是一个自动以2递增显示的程序,你可以修改下,把最下面一行的定时器中断改为外部按键中断就行了,中断里加按键去抖动,三位数码管好像是接移位寄存器静态显示的。

#include<reg51h>

#define uint unsigned int

#define uchar unsigned char

sbit sda = P1^0;

sbit clk = P1^1;

sbit dig1 = P1^2;

sbit dig2 = P1^3;

sbit dig3 = P1^4;

sbit dig4 = P1^5;

uchar code table[]={0x7e,0x0c,0xb6,0x9e,0xcc,0xda,0xfa,0x0e,0xfe,0xde};

uchar times;

void init();

void delay(uchar);

void write(uchar);

void display(uchar);

void main()

{

uint i = 0;

init();

while(1)

{

i = 2;

display(i);

if(times>2)

{

times = 0;

i=i+2 ++;

if(i==998)

i = 2;

}

}

}

/ 显示一个3位的整数 /

void display(uchar num)

{

uchar bai,shi,ge;

bai = num/100;

shi = num%100/10;

ge = num%10;

/ 显示个位 /

dig4 = 0;

write(table[ge]);

delay(10);

dig4 = 1;

/ 显示十位 /

dig3 = 0;

write(table[shi]);

delay(10);

dig3 = 1;

/ 显示百位 /

dig2 = 0;

write(table[bai]);

delay(10);

dig2 = 1;

}

/ 程序初始化函数 /

void init()

{

clk = 0;

times = 0;

TMOD = 0x01; //定时器模式1

TH0 = (65536-50000)/256; //每500毫秒产生一次中断

TL0 = (65536-50000)%256;

TR0 = 1; //开始计时

EA = 1; //打开总中断开关

ET0 = 1;

}

/ 向数据码管写入一个字节数据 /

void write(uchar u)

{

uchar i;

for(i=0;i<8;i++)

{

clk = 1;

sda = u&0x80;

clk = 0;

u = u<<1;

}

}

/ 延迟函数 /

void delay(uchar t)

{

uchar x,y;

for(x=t;x>0;x--)

for(y=101;y>0;y--);

}

/ 1号中断 /

void timer0() interrupt 1

{

TH0 = (65536-50000)/256; //每500毫秒产生一次中断

TL0 = (65536-50000)%256;

times ++;

}

以上就是关于C语言 统计个数全部的内容,包括:C语言 统计个数、dig返回值中的AUTHORITY SECTION内容是根据什么来获取的呢、苹果digilink是什么软件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9498461.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存