具体如下。
#include,intmain()inti,j,k,l,m;charc=3;//ASCII码里面3就是一个字符小爱心。for(i=1;iC语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括一些类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
1L的哥们竟然没有分数也没有读写文件记录,我在他的基础上加了这个功能,采纳谁都可以哦~
#include <stdioh>
#include <ctypeh>
#include <timeh>
#include <stdlibh>
#include <windowsh>
#define IDNO_LENGTH 6
#define CALC_KIND 4
#define CALC_NUM 10
bool checkNo(char idNo[]);
char getSignal();
int getResult(int,int,char);
void takeTest();
//main函数
void main()
{
printf("Please input your four digit ID no(begin with two letters):");
char idNo[IDNO_LENGTH];
do
{
scanf("%s",&idNo);
fflush(stdin);
} while(checkNo(idNo)==false);
printf("1Start a test\t2Check score\t3Exitb\n");
int choose;
do
{
printf("选择:");
scanf("%d",&choose);
fflush(stdin);
} while(choose!=1 && choose!=2&& choose!=3);
if(choose==1)
{
takeTest();
}else if(choose==2)
{
FILE fp;
char ch;
if((fp=fopen("scoretxt","rt+"))==NULL)
{
printf("\n你还没做过题目测试");
getch();
exit(1);
}
ch=fgetc(fp);
while(ch!=EOF)
{
putchar(ch);
ch=fgetc(fp);
}
fclose(fp);
}
else
{
exit(0);
}
}
//获取随机运算符
char getSignal()
{
char signal[CALC_KIND]={'+','-','','/'};
srand((unsigned)time(NULL));
return signal[rand()%4];
}
//获取随机数
int random(double start, double end)
{
return (int)(start+(end-start)rand()/(RAND_MAX+ 10));
}
//运算
int getResult(int num1,int num2,char signal)
{
int res;
switch(signal)
{
case '+':
res=num1+num2;break;
case '-':
res=num1-num2;break;
case '':
res=num1num2;break;
case '/':
res=num1/num2;break;
default:
res=0;
printf("运算符不符合规则\n");
}
return res;
}
//列出10道题
void takeTest()
{
printf("开始答题,每道题10分,总共100分\n");
clock_t startTime;
startTime=clock();
int index;
int giveRes;
int num1;
int num2;
int score=0;
char signal;
for(index=0;index<CALC_NUM;index++)
{
srand((unsigned)time(NULL));
signal=getSignal();
num1=random(0,100);
num2=random(1,100);
printf("%d%c%d=",num1,signal,num2);
scanf("%d",&giveRes);
fflush(stdin);
if(getResult(num1,num2,signal)==giveRes)
{
printf("correct\n");
score+=10;
}
else
{
printf("wrong\n");
}
}
FILE fp=fopen("scoretxt","w");
fprintf(fp,"分数为%d",score);
fclose(fp);
printf("解10道题用了%lf秒\n",(double)(clock()- startTime)/CLOCKS_PER_SEC);
}
//检测idNo是否合规则,合规则返回true
bool checkNo(char idNo[])
{
int index;
bool flag;
flag=true;
for(index=0;index<IDNO_LENGTH;index++)
{
if(index<2)
{
if(!isalpha(idNo[index]))
{
flag=false;
printf("ID no 不符合规则,重新输入:");
break;
}
}
else
{
if(!isdigit(idNo[index]))
{
flag=false;
printf("ID no 不符合规则,重新输入:");
break;
}
}
}
return flag;
}
谈谈如何才能学好c语言如下:
学习C语言的目的也是要进行程序设计,所以,同样符合程序设计的一般思路和方法。要学好程序设计,首先要掌握的就是程序设计的基本过程和思路,只有这样,才能逐渐形成一个良好的设计习惯,能够正确地设计程序,高效地完成设计任务。
分析问题,找出解题思路。所谓分析问题是对要解决的问题进行分析,找出解决问题的基本思路,即用什么样的控制流程,找到表示抽象数据的程序语言方法,即用什么样的数据格式表示,这样才能把抽象问题数字化,流程化。
如“报数问题”:“有100人按编号顺序顺时针围成一个圈,现在从1号开始报数,并且下一位的报数总是加1,报数中凡能被3整除的人就退出圈外,直到圈中剩下三人为止,请问最后剩下三人的最初编号是多少。”这样一个看似简单的问题,真要着手写代码,真有不少问题。
首先,我们分析一下解题思路。对于按顺序绕圈报数,实际上就是绕圈在循环啊,所以可以使用循环结构。至于能被3整除的报数人退出圈外,这仅仅是个判断。
问题是当一个人退出后,这个圈变小了,实际中是中间留出了空位,程序中如何处理空位?这实际上就是我们如何表示这个圈的问题。
因为报数是按顺序进行的,而且是循环的,所以我们可以想象这些人是站成一个队列,报数从左开始,凡是能被3整除的就退出圈外,最右边一个人报数后又从最左边开始报数,这样就和圈报数的效果一样了。
在每报完一个循环后,队员立即向左对齐,消除中间空位,这样只是队列缩短了,并不影响报数,从而有效解决了空位问题。既然我们可以把一个圈想象为一个队列,问题就很容易解决了,对于这样一组连续的同类数据,学过C语言的人都知道,用数组表示是最合适不过了。
C语言简介:
C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括一些类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
C语言描述问题比汇编语言迅速,工作量小、可读性好,易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%~20%。因此,C语言可以编写系统软件。
二十世纪八十年代,美国国家标准局为了避免各开发厂商用的C语言语法产生差异,给C语言制定了一套完整的美国国家标准语法,称为ANSIC。
作为C语言最初的标准。 2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。
C语言编译器普遍存在于各种不同的 *** 作系统中,例如Microsoft Windows,Mac OS X, Linux, Unix等。C语言的设计影响了众多后来的编程语言,例如C++、Objective-C、Java、C#等。
最终结果——m=3
switch (a%3) → a为16,a%3为1 → 执行 case 1 → m初值为0,m++为1。注意,这里case1 并没有break,所以会继续向下执行完整个switch (a%3) → 执行switch (b%2) → b为21,b%2为1 → 执行default → m为1,m++为2 → 注意这里依然会继续执行case0 → m++为3,break跳出switch (b%2) → switch (a%3)语句结束 → 执行printf,此时m为3。
#include<stdioh>void main() {
int a=16,b=21,m=0;
switch(a%3) {
case 0:m++; break;
case 1:m++;
switch(b%2) {
default: m++;
case 0:m++;break;
}
}
printf("m=%d\n",m);
}
运行结果
#include<stdioh>
void main()
{int s=0,n=1;
do
{s=s+n;n++;}
while(s<=1000);
s=s-n; /当s最接近1000时会再加一个n,所以要减去最后一个n/
n=n-1;
printf("s=%d\n n=%d\n",s,n);
}
以上就是关于爱心c语言程序代码全部的内容,包括:爱心c语言程序代码、C语言,设计一个程序帮助小学生练习数学。、谈谈如何才能学好c语言等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)