C语言上机题型
一、
A、由键盘输入一个字符,若该字符是小写英文字母则显示yes,否则显示no
main()
{char c;
scanf("%c",&c);
if(c>='a'&&c<='z');
printf("yes");
else
printf("no");
}
B、由键盘输入一个整数,若它是负数,则显示YES,否则显示NO
二、
A、由键盘输入10个整数(两数间用空格分隔)到数组d中,统计并显示出数组d中同时能被3和5整除的元素个数
main()
{int b[15];
int i,j=0;
for(i=0;i<10;i++)
scanf("%d",&b[i]);
for(j=0;j<10;j++)
if((b[i]%3==0&&b[i]%5==0) j++)
printf("\n%d",j);
}
B、由键盘输入10个实数(两数间用空格分隔),输出最大值(最小值\平均值)(精确到小数二位)
#include <stdio.h>
main()
{ float i,max,d;
scanf("%f",&f);
max=d;
for(i=2;i<=10;i++)
{ scanf("%f",&f);
if(d>max)
max=d;
}
printf("%5.2f",max);
}
C、由键盘输入一个字符串到字符数组a[100]中,利用if-else语句将该字符串的大写字母改小写字母,同时将小写改大写,并显示变换后的字符串
#include<stdio.h>
main()
{char a[100];
int i=0;
gets(a);
while(a[i]!='\0')
{if(a[i]>='A'&&a[i]<='Z')
a[i]+=32;
else
if(a[i]>='a'&&a[i]<='z')
a[i]-=32;
}
puts(a);
}
D、由键盘输入一个字符串到字符数组h[100]中,而后将该字符串倒序输出
#include <stdio.h>
main()
{ char h[100],c;
int i=0;
c=0;
while(c!=10 && c!=13 && i<100)
{ scanf("%c",&c);
a=c;
i++;
}
i--;
while(i>=0)
{ printf("%c",a;
i--;
}
}
E、由键盘输入一个字符串到字符数组C中,统计并显示出数组中数字字符个数
F、由键盘输入一串字符串字符数组C中,再将C数组中所有的A字符都改为B字符,其他字符不变,而后显示出变换后的该字符串
K、由键盘分别输入行数和星号个数给变量m和n,而后用双重for语句实现类似于如下图案:
例:键入3 5 <Enter> 则显示 *****
*****
*****
main()
{int m,n,i,j;
scanf("%d%d",&m,&n);
for(i=0;i<m;i++)
{for(j=0;j<n;j++)
printf("*");
puts("\n");
}
}
* 从键盘上接收任意一串字符,统计其中字母a出现的个数。*/
#include <stdio.h>
main()
{ char c;
int i;
c=0;
i=0;
while(c!=10 && c!=13)
{ scanf("%c",&c);
if(c=='a')
i++;
}
printf("result=%d",i);
}
*从键盘输入10个任意整数,输出其平方和 */
#include <stdio.h>
main()
{ int i,s,d;
for(i=1;i<=10;i++)
{ scanf("%d",&d);
s+=d*d;
}
printf("result=%d",s);
}
三、
A、按如下要求编制程序:
1.定义一个描述职工信息的结构型变量(包括工号<整型>、月收入工资<整型>和月收入奖金<整型>);
2.逐个输入若干职工的工号、月收入工资和月收入奖金(两数间用空格分隔)(输入工号等于0时,则输入结束);
3.计算并显示出每个职工的工号、月总收入(月收入工资和月收入奖金之和)
B、定义一个函数
int count(int a[],int n)
在n个元素的数组a中,统计出大于零的元素个数,此个数作为函数返回值。
(2)在main()函数中,对数组b做如下初始化
int b[]={15,16,-23,7,-5,19,-2,0,28,11};
然后调用你定义的函数,在主函数中输出数组b中小于零元素的个数。
int count(int a[],int n)
{ int i,j=0;
for(i=0;i<n;i++)
if(a>=0) j++;
return(j);
}
main()
{ int b[]={15,16,-23,7,-5,19,-2,0,28,11};
printf("%d\n",10-count(b,10));
}
C定义一个描述职工信息的结构性变量P(包括工号,月收入)。
(2)逐个输入若干个职工的工号和月收入(输入的工号为0时为输入结束)
(3)计算并输出每个职工应交公积金金额(输出包括工号,月收入和应交公积金)
公积金计算方法为:公积金=(当月收入>=1000元 月收入*4%)
公积金=(当月收入<1000元 月收入*2%)
struct zg
{ int gh;
float ysl;
} p[100];
main()
{ int i,n=0;
float gjj[100];
printf("Please input gh:");
scanf("%d",&p[0].gh);
for(i=0;p.gh!=0;i++)
{ printf("Please input ysl:");
scanf("%f",&p.ysl);
if(p.ysl>=1000) gjj=p.ysl*0.04;
else gjj=p.ysl*0.02;
printf("Please input gh:");
scanf("%d",&p[i+1].gh);
n++;
}
for(i=0;i<n;i++)
printf("gh=%d ysl=%.2f gjj=%.2f\n",p.gh,p.ysl,gjj);
}