main()
{ char s[]="012xy\08s34f4w2"//这里是字符数组,里面存升清逗放的是字符
int i,n=0
for(i=0s[i]!=0i++) //这里的正悔 s[i] 是一个字符;将其ASCII码值 与0比较
if(s[i]>='0'&&s[i]<='9') n++
printf("%d\n",n)
}
char s[]="012xy\08s34f4w2" //存放到数组里吵卖的内容为
s[1] = '1' ,其ASICC码值为49 不等于0
s[2] = '2' ,其ASICC码值为50 不等于0
s[3] = 'x' ,其ASICC码值为120 不等于0
s[4] = 'y' ,其ASICC码值为121 不等于0
s[5] = '\0' ,该字符为字符串结束符,其ASCII码值为0 因此循环一直要进行到这里才会退出for循环
程序功能是计算字符数组中 在出现结束符之前的字符中有多少个数字字符
因此答案为三个 (0、1、2), 输出的n的值为3
请注意 数字字符 与数字的差别即:
'0' - 0 = 48 // 数字字符与对应数字的 差值为整数十进制48 可参考ASCII码值表
'9' - 9 = 48
#include<stdio.h>清旅int main()
{
char a
int i=6
while(--i)
{
printf("You have %d chances.Please input a character:",i)
a=getchar()
getchar()
if(a=='A')
{
printf("答掘凳Congratulations!\n")
break
}
else{
printf("Please try again.\散孙n")
}
}
if(i==0)
printf("You've tried too many times!\n")
getchar()
return 0
}
源代码如下:
#include<iostream>
#include<iomanip>
#include<string>
#include<fstream>
#include<stdio.h>
using namespace std
const int maxb=10000 //最多的图书
class book//图书类
{
int tag //删除标记1:已删0:未棚余滑删
int number //isbn书号
char name[20] //书名
char author[10]//主编
char number2[10]//版次
char position[20]//出版社
char time[20]//出版年
void addbook(int n,char *na,char *au,char *n2,char *da,char *ti,int pr) //增加图毁好书
{
tag=0
number=n
price=pr
strcpy(name,na)
strcpy(author,au)
strcpy(number2,n2)
strcpy(position,da)
strcpy(time,ti)
onshelf=1
}
扩展资料
1、源程序中,很链腊多符号都是成对匹配出现的,为避免遗漏必须配对使用的符号。
2、用花括号括起来的部分,但从程序结构清晰,便于阅读、理解、维护的角度出发,建议在书写程序时应遵循以下规则,以养成良好的编程习惯。
3、一个说明或一条语句占一行,与该结构开始处的左花括号对齐。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)