当前位置:首页 » 编程语言 » c语言数字教学
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言数字教学

发布时间: 2022-08-06 11:38:36

c语言 念数字

你一共提出三个问题:
1、为什么不写成int?
此处也可以写成int。
如果写成int型,还要求出各位上的数字是多少,才能将数字转换为拼音。
写成char型,省去了转换各位数字的环节,可以用str[i]任意取出各位上的数字。两位,也方便负号的处理。
2、为什么是*?
如果不加*,只能定义一个字符数组(或叫字符串),如char num[]="yi";
加上一个*后,char *num[]跟不加*相比,①num已经变成字符串数组;②num变成了指针数组,num[0]、num[1]等各个元素已经成为指向“ling”、“yi”的地址,而“ling”等数据则放在常量区。
根据num[0]指向“ling”,num[1]指向“yi”,num[2]指向“er”……
这样可以通过num[i],很方便地找到对应的数字i的汉语拼音。
3、str[0]-'0'是什么意思?
先看str[0]是什么,它是你输入的整数的第一个数字,比如它是3,在这里程序是把3当作字符'3'处理的(原因就是变量str的类型为char型),在储存这个'3'时,实际上储存的是字符'3'的asc码,即51。而字符'0'的asc码是48,str[0]-'0'=51-48=3。这样,num[str[0]-'0']=num[3],如前面所述,就很容易找到3对应的拼音“san”了。
有什么问题请留言。

❷ 怎样用C语言输入若干个数字

可以定义一个大数组用以来接收输入的数据,数据接收时记录输入数据的个数,然后根据个数输出结果!

❸ c语言中怎么按要求输入数字

你平时怎么输入就怎么输。
代码如下:
#include
<stdio.h>
void
main()
{
char
c;
scanf("%c",&c); //像你平时输入*一样。先按shift再加上数字8(注意:不是数字键盘的8).
printf("%c\n",c);
}
能解决问题还请采纳,谢谢

❹ C语言编程 做一个设计一个儿童算数教学程序:“咪咪数学宝”

补充:看来有人不明白,得先建题库文件啊,然后才能输入文件路径捆绑题库,比如我上面的演示中,c:\qs01.txt,你首先要先在c盘创建一个txt文件,然后在里面打字“题目 空格 答案 回车”这样输入。有了库文件程序才能读啊

比如:(你如果自己能修改我常量里的字符长度,不光数学,语文,英语题库都可以)

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>
#defineqsLen100//问题最大长度
#defineansLen50//答案最大长度
#defineqssSize2//题库种类数量我测试只定义了小学和幼儿两个问题库,需要自己添加
#defineqssNameSize10//题库名称长度
#defineqssPathSize100//题库路径长度
typedefstructqs
{
intid;//问题编号
intcont;//题库问题数量,只有头结点存储该值
charqs[qsLen];//问题
charans[ansLen];//答案
structqs*next;
}QS;
voidnewQss(charqssName[][qssNameSize],charqssPath[][qssPathSize]);//根据输入,新建问题分类信息
intshowMenu(charqssName[][qssNameSize]);//显示题库菜单,返回用户选择的题库类别下标
QS*readFile(char*filePath);//读取问题库文件,生成链表,返回头节点
QS*randQs(QS*qsHead,intqsNum);//从题库随机抽取题目,参数:题库头节点、题库总题目数。返回:抽取的题目节点
intmain()
{
intlbNum,qsNum,cnt,i,correct,error;
charquestion[qsLen],answer[ansLen],input[ansLen];
charqssName[qssSize][qssNameSize],qssPath[qssSize][qssPathSize];//qssName:题库分类名称;qssPath:题库文件路径
QS*qsHead=NULL,*qsSelect;
srand(time(NULL));
newQss(qssName,qssPath);
lbNum=showMenu(qssName);
printf(" --开始加载题库-- ");
qsHead=readFile(qssPath[lbNum]);
qsNum=qsHead->cont;
printf("题库共%d条题目,请输入需要提取的题目数量:",qsNum);
while(1)
{
scanf("%d",&cnt);
if(cnt>0&&cnt<=qsNum)
break;
}
printf(" --开始从题库中随机抽取%d条问题-- ",cnt);
correct=0;
error=0;
for(i=0;i<cnt;i++)
{
qsSelect=randQs(qsHead,qsNum);
if(qsSelect!=NULL)
{
strcpy(question,qsSelect->qs);
strcpy(answer,qsSelect->ans);
printf("第%d题、%s?答案:",i+1,question);
scanf("%s",input);
if(!strcmp(answer,input))
{
printf("回答正确! ");
correct++;
}
else
{
printf("回答错误!正确答案是%s ",answer);
error++;
}
}
}
printf("共%d条问题,正确回答%d条,正确率%d%% ",cnt,correct,correct*100/cnt);

return0;
}
QS*randQs(QS*qsHead,intqsNum)
{
intn;
n=rand()%qsNum+1;
while(qsHead->next!=NULL)
{
if(qsHead->next->id==n)
returnqsHead->next;
qsHead=qsHead->next;
}
returnNULL;
}
voidnewQss(charqssName[][qssNameSize],charqssPath[][qssPathSize])
{
inti;
printf("--开始录入题库分类信息-- ");
for(i=0;i<qssSize;i++)
{
printf(" 请输入题库1的名称及题库文件路径 名称(不超%d个字符):",qssNameSize);
scanf("%s",qssName[i]);
printf("路径(不超%d个字符):",qssPathSize);
scanf("%s",qssPath[i]);
}
}
intshowMenu(charqssName[][qssNameSize])
{
inti;
printf(" 当前题库分类为: ");
for(i=0;i<qssSize;i++)
printf("%d、%s ",i+1,qssName[i]);
printf("请选择你要提取的题库类别(输入数字):");
scanf("%d",&i);
returni-1;
}
QS*readFile(char*filePath)
{
FILE*fp;
charqsSave[qsLen],ansSave[ansLen];
QS*qsHead=NULL,*qsTail=NULL;

if((fp=fopen(filePath,"rt+"))==NULL)
{
printf("!");
returnNULL;
}
qsHead=(QS*)malloc(sizeof(QS));
qsHead->next=NULL;
qsHead->cont=0;
while(fscanf(fp,"%s%s",qsSave,ansSave)!=-1)
{
qsHead->cont++;
QS*qsNew=(QS*)malloc(sizeof(QS));
qsNew->next=NULL;
qsNew->id=qsHead->cont;
strcpy(qsNew->qs,qsSave);
strcpy(qsNew->ans,ansSave);
if(qsHead->next==NULL)
qsHead->next=qsNew;
else
qsTail->next=qsNew;
qsTail=qsNew;
}
returnqsHead;
}

❺ c语言中如何从键盘上得到数字

用scanf语句。
其实scanf是一个函数,格式是:
1、输入整型数:
scanf("%d",&a);
式中%d是整型数的格式符,a是用int a;声明过的整型数变量名。
2、输入浮点数:
scanf("%f",&b);
式中%f是浮点数的格式符,b是用float b;声明过的浮点数变量名。
然后,系统就会等待你从键盘上输入一个数字。输入数字完毕按回车键结束输入。
不知道是不是解决了你的问题,如果没有请留言。

❻ C语言中怎么输入数字和字母

需要准备的材料分别有:电脑、C语言编译器。

1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。

❼ c语言如何输入数字字符串

char s[100];
可以用scanf("%s",&s);
也可以用gets(s);
还可以用循环
for(int i=0;(s[i]=getchar())>='0'&&s[i]<='9';i++); s[i]='\0';