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是什么软件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)