大学c语言上机考试编程题库
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、输入一个字符,判断它是否是大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。
#include
int main()
{
char c1;
printf("input a latter:\n");
scanf("%c",&c1);
if(c1>='A'&&c1<='Z')
c1=c1+32;
printf("%c",c1);
return 0;
}
2、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
#include
int main()
{
char c;
int letters=0,space=0,digit=0,other=0;
printf("Please input letters:\n");
while((c=getchar())!='\n')
{
if(c>='a'&&c<='z'||c>='A'&&c<='Z')
letters++;
else if(c>='0'&&c<='9')
digit++;
else if(c==' ')
space++;
else
other++;
}
printf("字母数:%d\n数字数:%d\n空格数:%d\n其他字母数:%d\n",letters,digit,space,other);
return 0;
}
3、编写一个函数,求数列1+1/2+1/3+1/4+1/5+...1/n,利用主函数调用这个函数并输出结果。#include
int main()
{
int n;float c;
float sum(int n);
scanf("%d",&n);
c=sum(n);
printf("%f\n",c);
float sum(int n)
{
int i;
float sum=0.0;
for(i=1;i<=n;i++)
sum=sum+1.0/i;
return sum;
}
4、输入一个字符,判断它是否是小写字母,如果是,将它转换成大写字母;如果不是,不转换。然后输出最后得到的字符。
#include
int main()
{
char c1;
printf("input a latter:\n");
scanf("%c",&c1);
if(c1>='a'&&c1<='z')
c1=c1-32;
printf("%c",c1);
return 0;
}
5、求S=a+aa+aaa+...+aa...a(n个a)之值。其中a是一个数字,n代表a的位数。例如:2+22+222+2222+22222(此时n为5),n由键盘输入。
#include
int main()
{
int i,a,b,c,n;
scanf("%d,%d",&a,&n);
c=b=a;
for(i=2;i<=n;i++)
{
b=10*b+a;
c=b+c;
}
printf("%d\n",c);
return 0;
}
6、将一个二维数组行和列的元素互换,存到另外一个二维数组中。
#include
int main()
int i,j;
int a[3][3]={1,2,3,4,5,6,7,8,9},b[3][3];
printf("array a:\n");
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{
printf("%5d",a[i][j]);
b[j][i]=a[i][j];
}
printf("\n");
}
printf("\n");
printf("array b:\n");
for (i=0;i<=2;i++)
{
for (j=0;j<=2;j++)
printf("%5d",b[i][j]);
printf("\n");
}
return 0;
}
7、有三个整数a,b,c,由键盘输入,输出其中最大者。#include
int main()
{
int a,b,c,d;
int max(int x,int y,int z);
scanf("%d %d %d",&a,&b,&c);
d=max(a,b,c);
printf("%d\n",d);
return 0;
}
int max(int x,int y,int z)
{
int q,p;
if(x>y)q=x;
else q=y;
if(z>q)p=z;
else p=q;
return p;