二级c语言程序设计习题及解答ch5-7函数&字符
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Ch5 -6 循环结构&字符数组
写出26个大写字母和他们的ASCII代码要求每行输出两组数据。
#include
main()
{
char ch; int i;
for(i=0;i<26;i++)
{
ch=i+65;
if(i%2==0)
printf("\n");
printf("c=%c,ASCII=%d\t",ch,ch);
}
}
在上面的程序中有对于字符的输入与输出,在C语言中也有另外的输入输出字符的语句。
输入:变量名=getchar()
输出:putchar(变量名)
Ch7 函数
#include
double add(double ,double);
main()
{
double m,n,z;
printf("请输入两个实数:\n");
scanf("%lf %lf",&m,&n);
z=add(m,n);
printf("%lf\n",z);
}
double add(double a, double b )
{
double s;
s=a+b;
return s;
}
#include
void try(int,int,int);
main()
{
int x=2,y=3,z=0;
printf("(1)x=%d y=%d z=%d\n",x,y,z);
try(x,y,z);
printf("(4)x=%d y=%d z=%d\n",x,y,z); }
void try(intx,inty,int z)
{
printf("(2) x=%d y=%d z=%d\n",x,y,z);
z=x+y;
x=x*x;
y=y*y;
printf("(3) x=%d y=%d z=%d\n",x,y,z); }
屏幕上的结果是:
(1)x=2 y=3 z=0
(2)x=2 y=3 z=0
(3)x=4 y=9 z=5
(4)x=2 y=3 z=0
再来一个程序
#include
void swap(int ,int);
main()
{
int x=10,y=20;
printf("(1)x=%d y=%d\n",x,y);
swap(x,y);
printf("(4)x=%d y=%d\n",x,y);
void swap (inta,int b )
{
int t;
printf("(2)a=%d b=%d\n",a,b);
t=a;a=b;b=t;
printf("(3)a=%d b=%d\n",a,b);
}
程序运行结果
7.6程序应用举例
编写一个函数isprime(int a),用来判断自变量a是否为素数。若是素数,函数返回整数1,否则返回0.
#include
intisprime(int);
main()
{
int x;
printf("enter a integer number:");
scanf("%d",&x);
if(isprime(x))
printf("%d is prime \n",x);
else
printf("%d is not prime\n",x);
}
intisprime(int a)
{
int i;
for(i=2;i<=a/2;i++)
if(a%i==0)
return 0;
return 1;
}
编写函数myupper(ch),把ch中的小写字母转换成大写字母作为函数值返回,其他字符不变。主函数中不断输入字符,用字符@结束输入,同时不断输出结果。
#include
#include
char myupper(char ch)
if(ch>='a'&&ch<='z')
ch=ch-32;
return ch;
}
main()
{
char c;
while((c=getchar())!='@')
{
c=myupper(c);
putchar(c);
}
printf("\n");
}
编写函数统计输入字符的个数,用@字符结束输入,在主函数中调用此函数,输出统计结果。
#include
long countch();
main()
{
long n;
n=countch();
printf("n=%ld\n",n);
}
long countch()
{
long cn;
for(cn=0;getchar()!='@';cn++)
;
return cn;
}
7-10----7-13节、课后习题