当前位置:文档之家› C++经典(习)例题_初学者必看

C++经典(习)例题_初学者必看

C++经典(习)例题_初学者必看
C++经典(习)例题_初学者必看

1:1~100的偶数累加,奇数相乘

一。请用三种结构实现从1到100之间的偶数累加,奇数相乘,并将偶数累加的结果输出,奇数相乘的结果输出。

(1)用for语句完成

#include

using namespace std;

int main()

{

int sum=0;

double pro=1;

for(int i=2;i<=100;i=i+2)

{

sum=sum+i;

pro=pro*(i-1);

}

cout<<"1到100之间的偶数和为:"<

cout<<"1到100之间的奇数的积为:"<

return 0;

}

(2)用while语句完成

#include

using namespace std;

int main()

{

int sum=0;

double pro=1;

int i=2;

while(i<=100)

{

sum=sum+i;

pro=pro*(i-1);

i=i+2;

}

cout<<"偶数和为:"<

cout<<"奇数的积为:"<

return 0;

}

(3)用do-while语句完成

#include

using namespace std;

int main()

{

int sum=0;

double pro=1;

int i=2;

do

{

sum=sum+i;

pro=pro*(i-1);

i=i+2;

}while(i<=100);

cout<<"偶数和为:"<

cout<<"奇数的积为:"<

return 0;

}

(4)以下是我自已用for语句做的,还要修改的

#include

using namespace std;

int main()

{

int i,j,n,h;

for(n=1000;n<=9999;n++)

for(h=1;h<=100;h++)

{

i=n/1000;

i=n/100;

j=(n/10)%10;

j=n%10;

i=i;

j=j;

i!=j;

if(n==h*h)

cout <<"车牌号码是:"<

}

return 0;

}

}

2:aabb类的车牌号

1.一辆卡车违犯交通规则,撞人后逃跑。现场有三人目击事件,但都没有记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同;丙是位数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。

#include

void main()

{

int a,b,c,d,n;

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

{

n=i*i;

a=n/1000;

b=(n/100)%10;

c=(n/10)%10;

d=n%10;

if((a==b&&c==d)&&(a!=c)==1)

cout<<"车牌号码是:"<

}

}

3:颠倒顺序问题

一。编写字符串反转函数mystrrev(),该函数的功能为将指定字符串的字符顺序颠倒排列。然后,再编写主函数验证之,函数声明如下:void mystrrev(char string[])

方法:(1)#include

using namespace std;

#include

void mystrrev(char string[])

{

int x=strlen(string);

int i=0;

while(i

{

char tmp=string[i];

string[i]=string[x-i-1];

string[x-i-1]=tmp;

i=i+1;

}

}

int main()

{

char string[7]="abcdef";

cout<<"原来的排序是:"<

mystrrev(string);

cout<<"反转后的排序是:"<

return 0;

}

方法:(2)#include

void mystrrev(char string[])

{

int x=strlen(string);

int i=0;

while(i

{

char tmp=string[i];

string[i]=string[x-i-1];

string[x-i-1]=tmp;

i=i+1;

}

}

int main()

{

cout<<"please input "<

cin<

cout<<"原来的排序是:"<

mystrrev(string);

cout<<"反转后的排序是:"<

return 0;

}

4:各种符号=%的使用

一。各种符号=,*,/,%的使用。

#include

void main()

{

int a=20, b=6;

a+=a; cout<

a=20; a-=a; cout<

a=20; a*=a; cout<

a=20; a/=b; cout<

a=20; a%=b; cout<

a=20; a=a-b; cout<

a=10; b=4;

a+=a*=a-=a/b; cout<

}

5:计算单词的个数

2. 输入一行字符,统计其中单词的个数。各单词之间用空格分隔,空格数可以是多个。

输入输出示例

Input words: The sum of the odd numbers

Count = 6

#include

using namespace std;

void main()

char a,b;

int c=0;

cout<<"请输入一行单词:"<

while((a=getchar())!='\n')

{

if(a==32&&b!=32)

c++;

b=a;

}

if(b!=32)

c++;

cout<<"单词数为"<

}

6:计算各种数符符号的个数

(2)编写程序,不断随机地从键盘输入字符,直到输入字符q或Q时退出,分别统计输出一共有多少个数字,多少个小写字母,多少个大写字母及多少个除上述以外的其他字符的个数。(注意:这里最后一个q或Q也要计算在内

#include

using namespace std;

int main()

{

char ch;

int a=0,b=0,c=0,d=0;

cout<<"请输入你想输入的任意字符"<

do

{

cin>>ch;

if(ch>='0'&&ch<='9')

a=a+1;

else if(ch>='a'&&ch<='z')

b=b+1;

else if(ch>='A'&&ch<='Z')

c=c+1;

else

d=d+1;

}while(ch!='q'&&ch!='Q');

cout<<"一共输入的数字个数为"<

cout<<"一共输入的小写字母个数为"<

cout<<"一共输入的大写字母个数为"<

cout<<"一共输入的非以上情况字符的个数为"<

return 0;

8:计算字符个数

#include

using namespace std;

int main()

{

char ch;

int a=0,b=0,c=0,d=0;

cout<<"请输入你想输入的任意字符"<

do

{

cin>>ch;

if(ch>='0'&&ch<='9')

a=a+1;

else if(ch>='a'&&ch<='z')

b=b+1;

else if(ch>='A'&&ch<='Z')

c=c+1;

else

d=d+1;

}while(ch!='q'&&ch!='Q');

cout<<"一共输入的数字个数为"<

cout<<"一共输入的小写字母个数为"<

cout<<"一共输入的大写字母个数为"<

cout<<"一共输入的非以上情况字符的个数为"<

return 0;

}

9:求三个数的平均数

(3)编写一个程序,要求:提示输入3个数;显示这3个数,求他们的平均值并输出。#include

using namespace std;

int main ()

{

double A,B,C,D;

cout<<"pleace input three numbers:";

cin>>A>>B>>C;

cout<<"A="<

D=(A+B+C)/3;

cout<<"D="<

return 0;

}

10:求身高有关的问题

1.身高预测

每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后的身高的因素包括遗传、饮食习惯与体育锻炼等。小孩成人后的身高与其父母的身高和自身的性别密切相关。

设faHeight为其父身高,moHeight为其母身高,身高预测公式为

男性成人时身高=(faHeight + moHeight)×0.54cm

女性成人时身高=(faHeight×0.923 + moHeight)/2cm

此外,如果喜爱体育锻炼,那么可增加身高2%;如果有良好的卫生饮食习惯,那么可增加身高1.5%。编程从键盘输入用户的性别(用字符型变量sex存储,输入字符F表示女性,输入字符M表示男性)、父母身高(用实型变量存储,faHeight为其父身高,moHeight为其母身高)、是否喜爱体育锻炼(用字符型变量sports存储,输入字符Y表示喜爱,输入字符N表示不喜爱)、是否有良好的饮食习惯等条件(用字符型变量diet存储,输入字符Y表示良好,输入字符N表示不好),利用给定公式和身高预测方法对身高进行预测。

编程要求:有用户输入输出提示信息。

#include

int main()

{

double H,a,b;

char diet,sport,sex;

cout<<"please input the faHeigh:";

cin>>a;

cout<<"please input sex ,sport,diet:";

cin>>sex>>sports>>diet;

if(sex=='Y')

{

H=(a+b)*0.54;

}

else(sex=='H')

{

H=(a*0.923+b)/2;

}

if(diet=='Y')

{

H=H+H*0.02;

if(sports=='Y')

{

H=H+H*0.015;

}

cout<<"H=<

cout<

return 0;

}

11:设计简单的计算器各种运算符号

2.简单的计算器

用switch语句编程设计一个简单的计算器程序,要求根据用户从键盘输入的表达式:

操作数1 运算符op 操作数2

计算表达式的值,指定的算术运算符为加(+)、减(-)、乘(*)、除(/)。

编程要求:程序能进行浮点数的算术运算,有用户输入输出提示信息。

提示:因为除法中的除数不能为0,因此关键在于如何比较浮点变量data2和常数0是否相等。作为整型变量跟0的比较,简单的==就可以解决。而浮点型等实型变量需要用

if (fabs(data2) <= 1e-7)

进行判断(即判断其是否足够小)。若使用函数fabs,需要包含头文件cmath.h

方法一:

#include

#include

int main()

{

char op;

cout<<"please input +,-,*,/:"<

cin>>op;

double a,b,x;

cout<<"please input two regrets :"<

cin>>a>>b;

{

switch (op)

{

case'+':

x=a+b;

cout<

break;

case'-':

x=a-b;

break;

case'/':

if((fabs(b)<=1e-7))

cout<<"bune"<

else

x=a/b;

break;

case'*':

x=a*b;

break;

}

}

return 0;

}

方法二:

#include

int main()

{

float data1,data2,data3;

char op;

cout<<"请输入操作数1,运算符,操作数2"<

cin>>data1>>op>>data2;

if(op=='/'&&data2==0)

{ cout<<"错误"<

}

else

{

switch(op)

{

case '+':

data3=data1+data2;

break;

case '-':

data3=data1-data2;

break;

case '*':

data3=data1*data2;

break;

case '/':

data3=data1/data2;

break;

}

cout<

}

return 0;

}

12:用调用函数比较两个数的大小,并返回最大数

(1)输入两个数,输出其中较大的数。

要求定义和调用函数int max(int a,int b);找出并返回a,b中较大的数#include

using namespace std;

int max(int a,int b)

{

int big=a;

if(b>big)

big=b;

else

big=a;

return big;

}

int main()

{

int a,b,big;

cout<<"请输入两个数a和b:"<

cin>>a>>b;

cout<<"最大的数为:"<

return 0;

}

一。有关++和--的运算

#include

void main()

{

int x=6, y ;

cout<<" x= "<

y = ++x ;

cout<<"x= "<

cin>>n;

cout<<"请输入"<

int j=0;

int max;

double sum=0;

for(k=0;k

cin>>a[k];

for(t=0;t

{

max=a[0];

min=a[0];

if(a[t]>max)

{

max=a[t];

}

if(a[t]

{

min=a[t];

}

sum=a[t]+sum;

}

double ave;

ave=sum/n;

cout<<"这组数的最大值为"<

cout<<"这组数的最小值为:"<

cout<<"这组数的和为:"<

printf("数组中的数的平均值为:%.2f\n",ave);

return 0;

}

14:数组中最大,最小,平均值

1.编写程序,

输入一个正整数(1

注释:这里要定义数组中的元素个数至少为10个,即int a[10];

#include

using namespace std;

int main()

{

int k,n,t;

int a[10];

cout<<"请确定数组大小,输入一个整数n(1

cin>>n;

cout<<"请输入"<

int j=0;

int min;

double sum=0;

for(k=0;k

cin>>a[k];

for(t=0;t

{

max=a[0];

min=a[0];

if(a[t]>max)

{

max=a[t];

}

if(a[t]

{

min=a[t];

}

sum=a[t]+sum;

}

double ave;

ave=sum/n;

cout<<"这组数的最大值为"<

cout<<"这组数的最小值为:"<

cout<<"这组数的和为:"<

printf("数组中的数的平均值为:%.2f\n",ave);

return 0;

}

15:直方图数据的输出

2.餐饮服务质量调查打分

在商业和科学研究中,人们经常需要对数据进行分析并将结果以直方图的形式显示出来。例如,一个公司的主管可能需要了解一年来公司的营业状况,比较一下各月份的销售收入状况。如果仅给出一大堆数据,这显然太不直观了,如果能将这些数据以条形图(直方图)的形式表示,将会大大增加这些数据的直观性,也便于数据的分析与对比。下面以顾客对餐饮服务打分为例,练习这方面的程序编写方法。假设有40个学生被邀请来给自助餐厅的食品和服务质量打分,分数划分为1~10这10个等级(1表示最低分,10表示最高分),试统计调查结果,并用*打印出如下形式的统计结果直方图。

Grade Count Histogram

1 5 *****

2 10 **********

3 7 *******

...

提示:

–定义数组score存放打的分数

–定义数组count为计数器(count[0]不用)

–计算统计结果:设置一个循环,依次检查数组元素值score[i],是1则将数组元素count[1]

加1,是2则将数组元素count[2]加1,依此类推

for (i=0; i

{

count[score[i]] ++;

}

–打印统计结果,设置一个循环,按count数组元素的值,打印相应个数的符号’*’

提示:输入40个数据太多,进行测试的时候,可以让计算机生成随机数代替手工输入数据。

由计算机随机自动生成数据,需在程序开始部分加入下面两条语句:

#include

#include

srand((int)time(0));// 将该语句放在main函数里面变量定义之后的第一条语句。

score[i]=rand()%10+1;//通过循环语句系统每次会自动给score数组元素随机赋上1-10以内的不同的值。其中rand()%10会随机产生0——9之间的随机值。程序如下:

#include

#include

#include

using namespace std;

int main()

{

int i,z,x;

int score[40];

int count[11]={0,0,0,0,0,0,0,0,0,0,0};

srand((int)time(0));

cout<<"请打分:"<

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

{

score[i]=rand()%10+1;

count[score[i]]++;

}

cout<<"Grade\t\t\tCount\t\t\tHistogram"<

for(z=1;z<11;z++)

{

cout<

for(x=0;x

{

cout<<"*";

}

cout<

}

return 0;

}

16:求阶乘和

(2)求,其中n的值由键盘输入。(注:n的值最好在8以内,以防越界!)

要求:定义和调用函数double fact(int a);求取a!并返回结果。

注:此题仅作为自定义函数练习使用,这个程序用函数实现效率会很低。

#include

using namespace std;

double fact(int a)

{

int i;

double pro=1;

for(i=a;i>0;i--)

pro=pro*i;

return pro;

}

int main()

{

double a,b,j;

double pro=0;

cout<<"请输入你所要求阶乘和的最高项的项数a(0

cin>>a;

for(j=a;j>0;j--)

{

b=fact(j);

pro=pro+b;

}

cout<<"结果为:"<

return 0;

}

17:做加法运算的得分与错题数

2.给小学生出加法考试题

编写一个程序,给学生出加法运算题,然后判断学生输入的答案对错与否,可以按下列要求以循序渐进的方式编程。

程序1 通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”,否则显示“Not correct! Try again!”,程序结束。

程序2 通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”,否则显示“Not correct! Try again!”,直到做对为止。

程序3 通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”,否则提示重做,显示“Not correct! Try again!”,最多给三次机会,如果三次仍未做对,则显示“Not correct! You have tried three times! Test over!”,程序结束。

程序4 连续做10道题,通过计算机随机产生两个1~10之间的加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”,否则显示“Not correct!”,不给机会重做,10道题做完后,按每题10分统计总得分,然后打印出总分和做错的题数。

编程要求:

1. 较好的用户输入输出提示

2. 使用子函数实现两个数相加的测试。此函数的输入参数是两个加数,返回值是用户运算的正确与否(用1或者0表示)。在此函数中首先读入用户输入的加法结果,并与正确结果进行比较。

int AddTest(int a, int b) ;

3. 仅仅要求完成程序4的编写调试运行工作,程序1至程序3是对编写程序4的引导。若可以直接编写出程序4,可以直接编写,如果不能一步编写成功,可以根据引导一步步编写。

(一)方法:C++:

#include

#include

#include

using namespace std;

int AddTest(int a, int b)

{

int sum;

sum=a+b;

return sum;

}

int main()

{

int i,mark=0,wrong=0;

cout<<"请输入运算结果:"<

for(i=1;i<=10;i++)

{

int a,b,answer,d,sum;

srand((int)time(0));

a=rand()%10+1;

b=rand()%10+1;

AddTest(a,b);

cout<

cin>>answer;

if(answer==AddTest(a,b))

{

int right=0;

right=right+1;

mark=mark+10;

cout<<"Right!"<

}

else if(answer !=AddTest(a,b))

{

wrong=wrong+1;

cout<<"Not correct!"<

}

}

cout<<"总分为:"<

cout<<"错题数:"<

return 0;

}

(二)方法:C 语言:

#include

#include

int AddTest(int a,int b)

{

int answer;

printf("Please input the answer:");

scanf("%d",&answer);

if(answer==a+b)

{

printf("Right!\n");

return 1;

}

else

{

printf("Not correct!\n");

return 0;

}

}

int main()

{

int i,j,k,m,sum=0,wsum=10;

for(k=0;k<10;k++){

i = rand()%10+1;

j = rand()%10+1;

printf("i=%d,j=%d\n",i,j);

m = AddTest(i,j);

sum+=m*10;

wsum-=m;

}

printf("The score is %d,and the wrong number is %d\n",sum,wsum);

return 0;

}

18:打印5乘5的魔方距阵

1.检验并打印魔方矩阵

在下面的5×5阶魔方矩阵中,每一行、每一列、每一对角线上的元素之和都是相等的,试

编写程序将这些魔方矩阵中的元素读到一个二维整型数组中,然后检验其是否为魔方矩阵,并将其按如下格式显示到屏幕上。魔术矩阵是由一个n×n(n为奇数)的整数矩阵构成,矩阵中的整数值是从1~n^2[n的平方]。每一行,每一列和两个对角线上数值之和是一样的。这个n为5的魔术矩阵,他的每一行,每一列,两个对角线的和均为65

算法设计:

先在矩阵第一行中间的位置上放1,然后把数字按照升序沿着左上角放置到矩阵中。如果越界了,就假设周围还有一个矩阵,将数字放到那个位置上;如果那个位置已经被占据了,就跳过该位置放到下面的位置,然后重新按照原来的方法放。如图:在5×5的魔术矩阵中,放完1以后,就把2放到1的左上角,但是此时已经越界了。假设,在原来的矩阵上面还有一个矩阵,则数字2所放的位置应该是在最后一行的第二个位置,接下去就要把数字3放到2的左上角,依次放下去,当放到6的时候,由于1已经将下一个位置占了,所以就放到5下面的位置。依照这样的规律直到把数字都放完。

17 24 1 8 15

23 5 7 14 16

4 6 13 20 22

10 12 19 21 3

11 18 25 2 9

最佳答案:有错还要修改。

#include

#define MAX 5

int Fun(int a[MAX][MAX]);

int main()

{

int a[MAX][MAX] = {0};

int i=0,j=0;

printf("请输入矩阵:");

for(i=0; i

for(j=0; j

scanf("%d",&a[i][j]);

printf("\n");

for (i=0; i

{

for (j=0; j

printf("%-2d ",a[i][j]);

if(j=MAX-1)

printf("\n"); //当矩阵元素输出够一行时换行。

}

printf("\n");

if (Fun(a) == 1)

printf("这个矩阵是魔方矩阵.\n");

else

printf("这个矩阵不是魔方矩阵\n");

return 0;

}

int Fun(int a[][MAX])

{

int s1, s2, sum,i,j;

sum = 0;

for (i=0; i

for (j=0; j

sum+=a[i][j]; //这个二重循环是求所有元素的和。

sum /= MAX; //sum是求每行/每列的平均值。

for (i=0; i

{

s1 = s2 = 0; //每次外部循环前置s1、s2为0。 for (j=0; j

{

s1 += a[i][j]; //外循环i控制行数变化*****控制变量法

s2 += a[j][i]; //外循环i控制列数变化*****控制变量法

}

if (s1 != sum || s2 != sum)

{

return 0; //一旦出现不等的情形,返回0给函数。

}

s1 = s2 = 0; //这个初始化不用放在循环内。

for (i=0; i

{

s1 += a[i][i];

s2 += a[i][MAX-i-1]; //副对角线元素下标关系:i+j=n-1。

}

if (s1 != sum || s2 != sum)

return 0;

return 1; //如果没有不相等的情况,返回1给函数。}

19:随机产生加减乘除的运算符

(一):C++中怎么样才能实现随机产生一个加减乘除的运算符

#include

#include

using namespace std;

int main()

{

int nINT;

char c=0;

while (c!='0')//0退出循环

{

srand((unsigned)time(NULL));

nINT = rand()%4; //产生随机数范围是0-3(包括3)

switch(nINT)

{

case 0://对应加法

cout<

cout<

break;

case 1://对应减法

C经典习题答案

1.在类作用域中能够通过直接使用该类的()成员名进行访问。 A. 私有 B. 公用 C. 保护 D. 任何 答案:D 2.小数类型和浮点类型都可以表示小数,正确说法:( ) A. 两者没有任何区别 B. 小数类型比浮点类型取值范围大 C.小数类型比浮点类型精度高 D. 小数类型比浮点类型精度低 答案:C 3.能作为C#程序的基本单位是( )。 A. 字符 B. 语句 C. 函数 D. 源程序文件 答案:B 4. 可用作C#程序用户标识符的一组标识符是( )。 A. void define +WORD B. a3_b3 _123 YN C. for -abc Case D. 2a DO sizeof 答案:B 5.引用类型主要有4种:类类型、数组类型、接口类型和()。 A.对象类型 B.字符串类型 C.委托类型 D.整数类型 答案:C 6.使用Dirctory类的下列方法,可以获取指定文件夹中的文件的是(). A.Exists() B.GetFiles() C.GetDirectories() D.CreateDirectory() 答案:B 7.加载窗体时触发的事件是( )。 A. Click B.Load C.GotFoucs D.DoubleClick

答案:B 8.改变窗体的标题,需修改的窗体属性是( )。 A. Text B. Name C.Title D. Index 答案:A 9.在接口的成员中,不能包含( ). A.属性 B.方法 C.事件 D.常量 答案:D 10.在C#中定义接口时,使用的关键字是( )。 A.interface B.: C.class D.overrides 答案:A 1.当在程序中执行到语句时,将结束所在循环语句中循环体的一次执行。 答案:continue 2.元素类型为double的2行5列的二维数组共占用字节的存储空间。 答案:80 3.C#数组类型是一种引用类型,所有的数组都是从System命名空间的类继承而来的引用对象。 答案:object 4.枚举是从System. 类继承而来的类型。 答案:Enum 5.一般将类的构造方法声明为访问权限。如果声明为private,就不能创建该类的对象。 答案:public或公有 6.类中声明的属性往往具有get()和两个函数。 答案:set() 7.对于方法,参数传递分为值传递和两种。

plc 设计题

设计题 1、设计三相异步电动机既可点动又可连续运行的电气控制线路。 2、设计三相异步电动机三地控制(即三地均可起动、停止)的电气控制线路。 3、为两台异步电动机设计主电路和控制电路,其要求如下: (1)两台电动机互不影响地独立操作启动与停止; (2)能同时控制两台电动机的停止; (3)当其中任一台电动机发生过载时,两台电动机均停止。 4、设计一个小车运行的控制线路,其要求如下: (1)小车由原位开始前进,到终端后自动停止; (2)在终端停留2分钟后自动返回原位停止; (3)要求在前进或后退途中的任意位置都能停止或起动。 5、试设计一台异步电动机的控制电路。要求: (1)能实现启、停的两地控制; (2)能实现点动调整; (3)能实现单方向的行程保护; (4)要有短路和过载保护。 6、在下图中,要求按下起动按钮后能依次完成下列动作: (1)运动部件A从1到2; (2)接着B从3到4; (3)接着A从2回到1; (4)接着B从4回到3。 试画出电气控制线路图(提示:用四个位置开关,装在原位和终点)。 7、如在上题中完成上述动作后能自动循环工作,试画出电气控制线路图。 8、试在题1图的基础上进一步组成电动机可逆运行的反接制动控制电路。 9、试设计一个控制一台三相异步电动机的控制电路,使其满足下列要求: (1)Y-△降压起动; (2)停机时进行能耗制动; (3)具有必要的保护环节。 10、三台皮带运输机分别由三台电动机M1、M2、M3拖动,如下图所示,为了使皮带

上不堆积被运送的物料,要求电动机按如下顺序起停: (1)起动顺序为:M1→M2→M3; (2)若M1停转,则M2、M3必须同时停转;若M2停转,则M3必须同时停转。 试画出其控制电路。 11、试设计龙门刨床横梁升降机构的电气控制电路,画出电气原理图,并选择所需的元器件。要求横梁能上升和下降,加工工件时横梁必须被夹紧在立柱上。升降电动机的参数为:13kW、380V/660V、27.6A/16A、1330r/min;夹紧电动机的参数为:2.8kW、220V/380V、10.5A/6.1A、1430r/min。其控制要求为: (1) 采用短时工作的点动控制。 (2) 横梁上升:按上升按钮→横梁放松(夹紧电动机反转)→放松完毕→横梁自动上升(升降电动机正转)→到位松开上升按钮→横梁自动夹紧(夹紧电动机正转)→完全夹紧后上升过程结束。 (3) 横梁下降:按下降按钮→横梁放松(夹紧电动机反转)→放松完毕→横梁自动下降(升降电动机反转)→到位松开下降按钮→横梁自动夹紧(夹紧电动机正转)→完全夹紧后下降过程结束。 12、设计一台专用机床的电气自动控制电路,画出电气原理图,并制订电器元件明细表。 进→工进→M1为主运动电动机,功率为4kW,M2为工进电动机,功率为1.5kW,M3为快速移动电动机,功率为0.8kW。 设计要求: (1) 工作台工进至终点或返回原位时,均有限位开关使其在终点停止,并有限位保护。为保证工进定位准确,要求采用制动措施。 (2) 快速电动机要求有点动调整,但在加工时不起作用。

C语言经典例题和答案

一、求一个任意边长的矩形面积。 #include void main() {int w,h,sum; scanf("%d%d",&w,&h); sum=w*h; printf("area=%d\n",sum); } 二、求一个任意半径的圆的面积及周长。 #define PI 3.14159 #include void main() {float r,area,c; scanf("%f",&r); area=PI*r*r; c=2*PI*r; printf("area=%f\ncircle=%f\n",area,c); } 三、已知:w=5, y=4, z=2, 求表达式:w*y/z的值,并输出。 ##include void main() { int w,y,z,r; w=5; y=4; z=2; r=w*y/z; printf("%5d",r); } 一、从键盘上输入三个数,求出其中的最大值,并输出。 #include void main() {int a,b,c,max; scanf("%d%d%d",&a,&b,&c); max=a; if(max

#include #define PI 3.14159 #include void main() {float a,b,sum; a=30*PI/180; b=60*PI/180; sum=sin(a)+sin(b)+cos(a)+cos(60); printf("total=%f\n",sum); } 三、比较两个数的大小。如果x大于y,则输出:x>y,否则输出:x void main() {int x,y; scanf("%d,%d",&x,&y); if(x>y) printf("x>y\n"); else printf("x void main() {int a,b,c,t; scanf("%d%d%d",&a,&b,&c); if(a>b) { t=b; b=a; a=t; } if(a>c) {t=a; a=c; c=t; } if(b>c) {t=b;b=c;c=t;} printf("%3d%3d%3d\n",a,b,c); }. 二、求自然数1~10之和。。 #include void main()

c和c++经典笔试题及答案

C++/C经典笔试题及答案 C++/C试题 本试题仅用于考查C++/C程序员的基本编程技能。内容限于C++/C常用语法,不涉及数据结构、算法以及深奥的语法。考试成绩能反映出考生的编程质量以及对C++/C的理解程度,但不能反映考生的智力和软件开发能力。 笔试时间90分钟。请考生认真答题,切勿轻视。 一、请填写BOOL , float, 指针变量与“零值”比较的 if 语句。(10分)提示:这里“零值”可以是0, 0.0 , FALSE或者“空指针”。例如 int 变量 n 与“零值”比较的 if 语句为: if ( n == 0 ) if ( n != 0 ) 请写出BOOL flag 与“零值”比较的if 语句: 请写出float x 与“零值”比较的if 语句: 请写出char *p 与“零值”比较的if 语句: char str[] = “Hello” ; char *p = str ; int n = 10; 请计算 sizeof (str ) = sizeof ( p ) = sizeof ( n ) =void Func ( char str[100]) { 请计算 sizeof( str ) = } void *p = malloc( 100 );请计算 sizeof ( p ) = 1、头文件中的 ifndef/define/endif 干什么用? 2、#include 和#include “filename.h” 有什么区别? 3、const 有什么用途?(请至少说明两种) 4、在C++ 程序中调用被 C编译器编译后的函数,为什么要加extern “C”声明? 5 // 第一个 for (i=0; i

C语言练习题(带答案)-绝对经典题目不看后悔

1单选题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从C开始执行。 A) 程序中第一条可执行语句B) 程序中第一个函数 C) 程序中的main函数D) 包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B)。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C)。 A.-a1 B.a[i] C.a2_i D.int t 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是(B)。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A)%x B)a+b C)a123 D)123 选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键

最新版c语言经典习题100例(最全面)

C 语言习题100 例(最新整理版) 习题目录:(按住Ctrl 点击可以快速跳转到对应页面) 【程序1】 (5) 题目:有1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? (5) 【程序2】 (6) 题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元 时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%; 40万到60万之间时高于40万元的部分,可提成3%; 60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? (6) 【程序3】 (7) 题目:一个整数,它加上100 后是一个完全平方数,再加上168 又是一个完全平方数,请问该数是多少? (7) 【程序4】 (7) 题目:输入某年某月某日,判断这一天是这一年的第几天? (7) 【程序5】 (8) 题目输入三个整数x,y,z请把这三个数由小到大输出。 (8) 【程序6】 (9) 题目用*号输出字母C的图案。 (9) 【程序7】 (9) 题目:输出特殊图案,请在C环境中运行,看一看,VeryBeautifuI! (9) 【程序8】 (9) 题目:输出9*9 口诀。 (9) 【程序9】 (10) 题目:要求输出国际象棋棋盘。 (10) 【程序10】 (10) 题目:打印楼梯,同时在楼梯上方打印两个笑脸。 (10) 【程序11】 (11) 题目:古典问题:有一对兔子,从出生后第3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? (11) 【程序12】 (11) 题目:判断101-200 之间有多少个素数,并输出所有素数。 (11) 【程序13】 (12) 题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1 的三次方+5的三次方+3的三次方。 (12) 【程序14】 (12) 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5 。 (12) 【程序15】 (13) 题目利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用 C 表示。 (13) 【程序16】 (13) 题目:输入两个正整数m和n ,求其最大公约数和最小公倍数。 (13) 【程序17】 (14) 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。14【程序18】 (14)

PLC 设计题(有14道题的答案)

1 / 11 1、试设计满足下图所示波形的梯形图程序。(振荡电路) 输入:I0.0 输出:Q0.0 2、用PLC (S7-200机型)设计程序,实现可以在甲地、乙地、丙地控制一盏灯亮、灭的程序。 (三地控制) 3、试用EU 、ED 、R 、S 指令设计满足下图所示波形的梯形图程序。(10分) 输入:I0.0 I0.1 输出:Q0.0 4、鼓风机系统一般有引风机和鼓风机两级构成。当按下启动按钮(SB0)之后,引风机先工作,工作30秒后,鼓风机工作。按下停止按钮(SB1)之后,鼓风机先停止工作,20秒之后,引风机才停止工作。两台电机均有过载保护,任一电机过载,两台电机立即停车。(应用时序法设计定时器的应用) 5、S7 200系列PLC 编程实现楼梯灯控制,控制要求:上楼梯时,按下按钮SB1,灯HL1亮,2分钟后自动熄灭;下楼梯时,按下按钮SB2,灯HL1也亮2分钟后再熄灭。(基本延时应用) 4S 2S 3S 专业班级: 姓 名: 学 号: 密 封 线

2 / 11 6、有三台电动机,按下启动接 钮后,M1 启动,延 时30秒后,M2启动,延时40秒后,M3启动;运行30分钟后三台电动机全部停车;在运行过程中按下停止接钮,三台电动机全部停车。试用S7-200 PLC 机型设计其: (1) P LC 硬件接线原理图 (7分) (2) P LC 控制程序 (8分) 7、用一个按钮开关(I0.0)控制三盏灯(Q0.1 、Q0.2 、Q0.3),按钮按三下第一盏灯Q0.1亮,再按三下第二盏灯Q0.2亮,再按三下第三盏灯Q0.3亮,再按一下全灭。(计数器的基本应用) 8、试设计满足下图所示波形的梯形图程序。(基本延时) 输入I0.0: 输出Q0.0: S 9、I0.0、I0.1、I0.2、I0.3四个输入端,每当有两个输入“1”,另两个输入“0”时,输出Q0.0就接通。设计梯形图。(触点比较电路) 10、用S7 200系列PLC 实现对I0.0的一个二分频的程序。(10分) 11、试用S7-200PLC 设计满足下图所示波形的梯形图程序。(定时器计数器的基本应用) I0.0 I0.1 Q0.0 12、试设计满足下图所示波 10S 5S

数据结构(C语言)【经典题库】含参考答案

《数据结构与算法》复习题 选择题 1.在数据结构中,从逻辑上可以把数据结构分为 C 。 A.动态结构和静态结构 B.紧凑结构和非紧凑结构 C.线性结构和非线性结构 D.内部结构和外部结构 2.数据结构在计算机内存中的表示是指 A 。 A.数据的存储结构 B.数据结构 C 3 A 。 7.算法分析的目的是 C ,算法分析的两个主要方面是 A 。 (1)A.找出数据结构的合理性 B.研究算法中的输入和输出的关系 C.分析算法的效率以求改进 C.分析算法的易读性和文档性 (2)A.空间复杂度和时间复杂度 B.正确性和简明性 C.可读性和文档性 D.数据复杂性和程序复杂性 8.下面程序段的时间复杂度是 O(n2) 。 s =0;

for( I =0; inext ==NULL C.head->next ==head D head!=NULL

15.带头结点的单链表head为空的判定条件是 B 。 A.head == NULL B head->next ==NULL C.head->next ==head D head!=NULL 16.若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,则采用 D 存储方式最节省运算时间。 A.单链表 B.给出表头指针的单循环链表 C.双链表 D.带头结点的双循环链表17.需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是 B 。 20 21 B 。 22 A.删除单链表中的第一个元素 B.删除单链表中的最后一个元素 C.在单链表第一个元素前插入一个新元素 D.在单链表最后一个元素后插入一个新元素 23.与单链表相比,双链表的优点之一是 D 。 A.插入、删除操作更简单

PLC课程设计题目

PLC课程设计题目 1锅炉车间输煤机组控制系统设计 2十字路口带倒计时显示交通信号灯的PLC控制 3 狭窄隧道汽车双向行的PLC控制 4 自动售货机PLC控制 5 病床紧急呼叫系统PLC控制 6 PLC在组合机床控制中的应用 7 停车场车位PLC控制 8 6组抢答器控制 9 工件传送机械手的PLC控制 10 工作台自动往返循环控制 11 四层简易电梯的PLC控制 12 锯齿波发生器?? 13 全自动洗衣机PLC控制 14 自动传送系统的PLC控制 15 根据压力上下限变化对4台水泵进行恒压供水控制 16 自动门控制装置 17基于计算机链接通信的十字路口交通灯监控

选题一、锅炉车间输煤机组控制系统设计 1.输煤机组控制系统示意图 图1 输煤机组控制系统示意图 表1 输煤机组控制信号说明 输煤机组的拖动系统由6台三相异步电动机M1~M6和一台磁选料器YA组成。SA1为手动/自动转换开关,SB1和SB2为自动开车/停车按钮,SB3为事故紧急停车按钮,SB4~SB9为6个控制按钮,手动时单机操作使用。HA为开车/停车时讯响器,提示在输煤机组附近的工作人员物煤机准备起动请注意安全。HL1~HL6为Ml~M6电动机运行指示,HL7为手动运行指示,HL8为紧急停车指示,HL9为系统运行正常指示,HL10为系统故障指示。 2.输煤机组控制要求 (1) 手动开车/停车功能SA1手柄指向左45°时,接点SA1-1接通,通过SB4~SB9控制按钮,对输煤机组单台设备独立调试与维护使用,任何一台单机开车/停车时都有音响提示,保证检修和调试时

人身和设备安全。 (2) 自动开车/停车功能SA1手柄指向右45°时,接点SA1-2接通,输煤机组自动运行。 1) 正常开车按下自动开车按钮SB1,音响提示5s后,回收电动机M6起动运行并点亮HL6指示灯;10s后,2#送煤电动机M5电动机起动运行并点亮HL5指示灯;10s后,提升电动机M4起动运行并点亮HL4指示灯;10s后,破碎电动机M3起动运行并点亮HL3指示灯;10s后,1#送煤电动机M2起动运行并点亮HL2指示灯;10s后,给料器电动机M1和磁选料器YA起动运行并点亮HL1指示灯;10s后,点亮HL9系统正常运行指示灯,输煤机组正常运行。 2) 正常停车按下自动开车按钮SB2,音响提示5s后,给料器电动机M1和磁选料器YA停车并熄灭HL1指示灯,同时,熄灭HL9系统正常运行指示灯;10s后,1#送煤电动机M2停车并熄灭HL2指示灯;10s后,破碎电动机M3停车并熄灭HL3指示灯;10s后,提升电动机M4停车并熄灭HL4指示灯;10s后,2#送煤电动机M5电动机停车并熄灭HL5指示灯;10s后,回收电动机M6停车并熄灭HL6指示灯;输煤机组全部正常停车。 3) 过载保护输煤机组有三相异步电动机M1~M6和磁选料器YA的过载保护装置热继电器,如果电动机、磁选料器在输煤生产中,发生过载故障需立即全线停车并发出报警指示。系统故障指示灯HL10点亮,HA电铃断续报警20s,HL10一直点亮直到事故处理完毕,继续正常开车,恢复生产。 4) 紧急停车输煤机组正常生产过程中,可能会突发各种事件,因此需要设置紧急停车按钮,实现紧急停车防止事故扩大。紧急停车与正常停车不同,当按下红色蘑菇形紧急停车按钮SB3时,输煤机组立即全线停车,HA警报声持续10s停止,紧急停车指示灯HL8连续闪亮直到事故处理完毕,回复正常生产。 5) 系统正常运行指示输煤机组中,拖动电动机M1~M6和磁选料器YA按照程序全部正常起动运行后,HL9指示灯点亮。如果有一台电动机或选料器未能正常起动运行,则视为故障,系统故障指示灯HL10点亮,输煤机组停车。 (3) 相关参数 1) M1~M6及磁选料器YA功率如图1中所示。 2) 指示灯HL:0.25W,DC24V。 3) 电铃HA:8W,AC220V。

C语言经典例题目解析

1、猴子吃桃子:猴子摘下若干个桃子,第一天吃了桃子的一半多一个,以后每天吃了前一天剩下的一半多一个,到第十天吃以前发现只剩下一个桃子,问猴子第一天共摘了几个桃子 #include main() {int s=1,i; for(i=9;i>=1;i--) s=(s+1)*2; printf("s=%d\n",s); } 2、鸡兔同笼:有若干只鸡兔同在一个笼子里,从上面数,有35个头;从下面数,有94只脚。问笼中各有几只鸡和兔? #include main() {int a,b; for(a=1;a<=40;a++)/* 120只脚如果全是鸡的话60只,但是总头是40,所以循环到40 */ for (b=1;b<=30;b++) /* 同理如果全是兔的话最多120/4=30 所以循环到30 */ {if((a==40-b)&&(a==60-2*b)) /* 同时满足总头数40总脚数120 */ printf("There are %d chichens \nThere are %d rabbits",a,b);} } 3、百钱买百鸡:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何? #include main( ) {int cocks,hens,chicks; cocks=0; while(cocks<=19) {hens=0; while(hens<=33) {chicks=100-cocks-hens; if(5*cocks+3*hens+chicks/3==100&&chicks%3==0) printf("%d,%d,%d\n",cocks,hens,chicks); hens=hens+1;} cocks=cocks+1;}} #include main() {int x,y,z; for(x=0;x<=20;x++) for(y=0;y<=33;y++) {z=100-x-y; if(15*x+9*y+z==300) printf("x=%d y=%d z=%d\n",x,y,z); } }

PLC课程设计题目复习课程

可编程控制器原理及应用课程设计题目 1. 设计抢答器PLC控制系统。控制要求: 1)抢答台A、B、C、D,有指示灯,抢答键。 2)裁判员台,指示灯,复位按键。 3)抢答时,有2S声音报警。 4)用数码管显示抢中的组号。 2设计两台电动机顺序控制PLC系统。 控制要求:两台电动机相互协调运转,M1运转10S,停止5S,M2要求与M1相反,M1停止M2运行,M1运行M2停止,如此反复动作3次,M1和M2均停止。 3.设计交通红绿灯PLC控制系统。控制要求: 1)东西向:绿5S,绿闪3次,黄2S;红10S。 2)南北向:红10S,绿5S,绿闪3次,黄2S。 4设计彩灯顺序控制系统。控制要求: 1)A亮1S,灭1S;B亮1S,灭1S; 2)C亮1S,灭1S;D亮1S,灭1S。 3)A、B、C、D亮1S,灭1S。 4)循环三次。 5.用PLC对自动售汽水机进行控制,工作要求: 1)此售货机可投入1元、2元硬币,投币口为LS1,LS2; 2)当投入的硬币总值大于等于6元时,汽水指示灯L1亮,此时按下汽水按钮SB,则汽水口L2出汽水12秒后自动停止。 3)不找钱,不结余,下一位投币又重新开始。 6.设计电镀生产线PLC控制系统.控制要求:

1)SQ1—SQ4为行车进退限位开关,SQ5—SQ6为上下限为开关。 2)工件提升至SQ5停,行车进至SQ1停,放下工件至SQ6,电镀10S,工件升至SQ5停,滴液5S,行车退至SQ2停,放下工件至SQ6,定时6S,工件升至SQ5停,滴液5S,行车退至SQ3停,放下工件至SQ6,定时6S,工件升至SQ5停,滴液5S,行车退至SQ4停,放下工件至SQ6。 3)完成一次循环。 7.皮带运输机传输系统 有一3台皮带运输机传输系统,分别用电动机M1、M2、M3带动,控制要求如下: 按下起动按钮,先起动最末一台皮带机M3,经5S后再依次起动其它皮带机。正常运行时,M3、M2、M1均工作。按下停止按钮时,先停止最前一台皮带机M1,待料送完毕后再依次停止其它皮带机。 8. 使用传送机,将大、小球分类后分别传送的系统。 左上为原点,按启动按钮SB1后,其动作顺序为:下降→ 吸收(延时1S)上升→右行→下降→ 释放(延时1S)→ 上升→ 左行。 其中:LS1:左限位;LS3:上限位;LS4:小球右限位;LS5:大球右限位; LS2:大球下限位 LS0:小球下限位 注意:机械壁下降时,吸住大球,则下限位LS2接通,然后将大球放到大球容器中。 若吸住小球,则下限位LS0接通,然后将小球放到小球容器中。 9.汽车库自动门控制系统 具体控制要求是:当汽车到达车库门前,超声波开关接收到车来的信号,开门上升,当升到顶点碰到上限开关,门停止上升,当汽车驶入车库后,光电开关发出信号,门电动机反转,门下降,当下降碰到下限开关后门电动机停止。试画出输入输出设备与PLC 的接线图、设计出梯形图程序并加以调试。 10.设计喷泉电路。

C经典例题

东风冷雪提供 /* 1.0用函数模板实现任何两个简单类型数据交换,并给出实例加以验证!(请先预习教材函数模板相关知识) */ #include using namespace std; template void change(T*x,T*y) { T temp; temp=*x; *x=*y; *y=temp; } int main() { int a,b; float c,d; cout<<"输入二个整数a,b :"; cin>>a>>b; change(&a,&b); cout<<"二个整数交换结果为:"<>c>>d; change(&c,&d); cout<<"二个小数交换结果:"< using namespace std; inline void p(char a) { if('0'>s;

p(s); return 0; } /*3.0 编写三个名为add的重载函数,分别实现两个整数、 两个实数和两个复数相加。*/ #include using namespace std; struct complex { int r_real; int r_imagine; }; typedef struct complex comp; comp e,f; int add(int x,int y) { return x+y; } double add(double x,double y) { return x+y; } void add(comp e,comp f) { int z1,z2; z1=e.r_real+f.r_real; z2=e.r_imagine+f.r_imagine; cout<<"二个复数相加的结果为"<>a>>b; cout<<"a+b="<>c>>d; cout<<"a+b="<>e.r_real>>e.r_imagine; cout<<"输入第二个复数的实部与虚部 "; cin>>f.r_real>>f.r_imagine; add(e,f);

PLC程序设计题

六程序设计题 1. 画出三相异步电动机即可点动又可连续运行的电气控制线路。 2.画出三相异步电动机三地控制(即三地均可起动、停止)的电气控制线路。 3.为两台异步电动机设计主电路和控制电路,其要求如下: ⑴两台电动机互不影响地独立操作启动与停止; ⑵能同时控制两台电动机的停止; ⑶当其中任一台电动机发生过载时,两台电动机均停止。 试由PLC控制,画出PLC的I/O端子接线图,并写出梯形图程序。 4. 试设计一小车运行的继电接触器控制线路,小车由三相异步电动机拖动,其动作程序如下: ⑴小车由原位开始前进,到终点后自动停止; ⑵在终点停留一段时间后自动返回原位停止; ⑶在前进或后退途中任意位置都能停止或启动。 5. 试将以上第5题的控制线路的功能改由PLC控制,画出PLC的I/O端子接线图,并写出梯形图程序。 6. 试设计一台异步电动机的控制电路。要求: ⑴能实现启、停的两地控制; ⑵能实现点动调整; ⑶能实现单方向的行程保护; ⑷要有短路和过载保护。 7. 试设计一个工作台前进——退回的控制线路。工作台由电动机M拖动,行程开关SQ1、SQ2分别装在工作台的原位和终点。要求: ⑴能自动实现前进—后退—停止到原位; ⑵工作台前进到达终点后停一下再后退; ⑶工作台在前进中可以立即后退到原位;

⑷有终端保护。 8. 有两台三相异步电动机M1和M2,要求:1)M1启动后,M2才能启动;2)M1停止后,M2延时30秒后才能停止; 3)M2能点动调整。试作出PLC输入输出分配接线图,并编写梯形图控制程序。 9. 设计抢答器PLC控制系统。 控制要求:1抢答台A、B、C、D,有指示灯,抢答键。 2裁判员台,指示灯,复位按键。

最新版c语言经典习题100例(最全面)

C语言习题100例(最新整理版) 习题目录:(按住Ctrl点击可以快速跳转到对应页面) 【程序1】 (5) 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? (5) 【程序2】 (6) 题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成 1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? (6) 【程序3】 (7) 题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? (7) 【程序4】 (7) 题目:输入某年某月某日,判断这一天是这一年的第几天? (7) 【程序5】 (8) 题目:输入三个整数x,y,z,请把这三个数由小到大输出。 (8) 【程序6】 (9) 题目:用*号输出字母C的图案。 (9) 【程序7】 (9) 题目:输出特殊图案,请在c环境中运行,看一看,VeryBeautiful! (9) 【程序8】 (9) 题目:输出9*9口诀。 (9) 【程序9】 (10) 题目:要求输出国际象棋棋盘。 (10) 【程序10】 (10) 题目:打印楼梯,同时在楼梯上方打印两个笑脸。 (10) 【程序11】 (11) 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? (11) 【程序12】 (11) 题目:判断101-200之间有多少个素数,并输出所有素数。 (11) 【程序13】 (12) 题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。 (12) 【程序14】 (12) 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 (12) 【程序15】 (13) 题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。 (13) 【程序16】 (13) 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 (13) 【程序17】 (14) 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 (14) 【程序18】 (14)

Plc设计题

Plc设计题 1.用三个开关(I0.0、I0.1、I0.3)控制一盏灯Q0.0,当三个开关全通,或者全断时灯亮,其它情况灯灭。(使用比较指令) 2.单按钮单路输出控制。 要求:使用一个按钮控制一盏灯,实现奇数次按下灯亮,偶数次按下灯灭。输入信号I0.0,输出信号Q0.0。 3.单按钮双路单双通控制。 要求:使用一个按钮控制两盏灯,第一次按下时第一盏灯亮,第二盏灯灭;第二次按下时第一盏灯灭,第二盏灯亮;第三次按下时两盏灯都亮;第四次按下时两盏灯都灭。按钮信号I0.0,第一盏灯信号Q0.0,第二盏灯信号Q0.2。 4.六盏灯单通循环控制。 要求:按下启动信号I0.0,六盏灯(Q0.0~~~Q0.5)依次循环显示,每盏灯亮1秒时间。按下停车信号I0.1,灯全灭。 5.单按钮双路单通控制。 要求::使用一个按钮控制两盏灯,第一次按下时第一盏灯亮,第二盏灯灭;第二次按下时第一盏灯灭,第二盏灯亮;第三次按下时两盏灯都灭。按钮信号I0.0,第一盏灯信号Q0.0,第二盏灯信号Q0.1。 6.为两台异步电动机设计主电路和控制电路,其要求如下: ⑴两台电动机互不影响地独立操作启动与停止; ⑵能同时控制两台电动机的停止; ⑶当其中任一台电动机发生过载时,两台电动机均停止。 7. 试设计一小车运行的控制线路,小车由三相异步电动机拖动,其动作程序如下: ⑴小车由原位开始前进,到终点后自动停止; ⑵在终点停留一段时间后自动返回原位停止; ⑶在前进或后退途中任意位置都能停止或启动。 8. 试设计一台异步电动机的控制电路。要求: 1)能实现启、停的两地控制; 2)能实现点动调整; 3)能实现单方向的行程保护; 4)要有短路和过载保护。 9. 试设计一个工作台前进——退回的控制线路。工作台由电动机M拖动,行程开关SQ1、SQ2分别装在工作台的原位和终点。要求:

C经典编程练习题

C++经典编程例题(1) 1、(已验证!)计算铁路运费。已知从甲地到乙地,每张票托运行李不超过50公斤时,按每公斤0.13元,超过50公斤,超过部分按每公斤0.2元计算。输入行李重量w,计算运费y. #include using namespace std; void main() { float money=0,weight; cout<<"请输入货物重量(单位:千克):"; cin>>weight; if (weight<0) cout<<”数据错误!”< 50) money = 50 * 0.13 + (weight - 50) * 0.2; cout<<"\n总费用是:"< #include using namespace std; void main() { double a,b,c,p,x1,x2,D; cout<<"请输入3个数:"<

D=b*b-4*a*c; if (D<0) cout<<"方程无解!"<0) { p=-b/(2*a); x1=p+sqrt(D)/(2*a); x2=p-sqrt(D)/(2*a); cout<<"方程有两个不同的实根。"<>n; for (i=1;i<=n;i++) s=i*s; cout<

100个经典c语言例题(带答案)

100个经典c语言例题(带答案) 经典C源程序100例- -1 经典C源程序100例【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。 2.程序源代码:m... C语言经典程序100例 2009-02-26 19:44 | (分类:默认分类) 经典C源程序100例- - 1 经典C源程序100例 【程序1】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。 2.程序源代码: main() { int i,j,k; printf("\n"); for(i=1;i<5;i++) /*以下为三重循环*/ for(j=1;j<5;j++) for (k=1;k<5;k++) { if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/ printf("%d,%d,%d\n",i,j,k); } } ============================================================== 【程序2】 题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高 于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提 成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于 40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于 100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? 1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。

相关主题
文本预览
相关文档 最新文档