第1题
试编写一递归子程序,完成指数函数Xn的运算。X和n在主程序中给定。
(1)把其中的字母字符取出存放在ALPH起的单元中。
(2)把已取出的字母字串中重复的字符删除,并向前递补。
(3)在不重复的字母串中,把小写字母改为大写字母。如有重复的大写字母,先删除重复大写字母并由后续字符向前递补。
(4)统计不重复大写字母总数,并显示大写字母串。
(5)显示处理后的字符串。
按上述要求分别编写子程序。并构成一个主程序、子程序和具有嵌套调用关系的程序。
第2题
对缓冲区中的一组字符(100个)进行处理:
(1)把其中的字母字符取出存放在ALPH起的单元中。
(2)把已取出的字母串中重复的字符删除,并向前递补。
(3)在不重复的字母串中,把小写字母改为大写字母。如有重复的大写字母,先删除重复大写字母并由后续字符向前递补。
(4)统计不重复大写字母总数,并显示大写字母串。
(5)显示处理后的字符串。
按上述要求分别编写子程序。并构成一个主程序、子程序和具有嵌套调用关系的程序。
第3题
试编写一个将寄存器AR中的小写字母(ASCII)转换成大写字母(ASCII)的子程序,并编写一个主程序,通过调用这个子程序将下面字符串中的小写字母转换成大写字母(其中,0为字符串的结束标记)。
STR:DB 'How do you do!',0
第4题
逻辑结构程序设计
1.实验目的
①了解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。
②学会正确使用逻辑运算符和逻辑表达式。
③熟练掌握if语句和switch语句。
④结合程序掌握一些简单算法。
⑤学习调试程序。
2.实验内容
本实验要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。
3.程序编写
①下面程序实现:输入三个整数,按从大到小的顺序进行输出。请在if后的()内填入正确内容。
main()
{int x,y,z,c;
scanf("%d%d%d",&x,&y,&z);
if( )
{c=y;y=z;z=c;}
if( )
{c=x;x=z;z=c;}
if( )
{c=x;x=y;y=c;}
printf("%d,%d,%d",x,y,z);
}
②以下程序实现:输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母:其他字符不变。请在()内填入正确内容。
main()
{char ch;
scanf("%c",&ch);
if( )ch=ch+32;
else if(ch>='a'&&ch<='z')( )
printf("%c",ch);
}
③试编程判断输入的正整数是否既是5的整数倍又是7的整数倍。若是,则输出yes;否则输出no。
④编程实现:有3个整数a,b,c,由键盘输入,输出其中最大的数。
⑤给出100分制成绩,要求根据成绩的多少,输出成绩等级“A”、“B”、“C”、“D”、“E”。90分以上为“A”,80~89分为“B”,70~79分为“C”,60~69分为“D”,60分以下为“E”。用switch语句进行编程。
第6题
今有40W的日光灯一个,使用时灯管与镇流器(可近似地把镇流器看作纯电感)串联在电压为220V,频率为50Hz的电源上。已知灯管工作时属于纯电阻负载,灯管两端的电压等于110V,试求镇流器的感抗与电感。这时电路的功率因数等于多少?若将功率因数提高到0.8,问应并联多大电容。
第7题
今有一个40W的日光灯,使用时灯管与镇流器(可近似把镇流器看作纯电感)串联在电压为220V、频率为50Hz的电源上。已知灯管工作时属于纯电阻负载,灯管两端的电压等于110V,试求镇流器上的感抗和电感。这时电路的功率因数等于多少?若将功率因数提高到0.8,问应并联多大的电容?