湖南科技大学C语言上机题库Word下载.docx
《湖南科技大学C语言上机题库Word下载.docx》由会员分享,可在线阅读,更多相关《湖南科技大学C语言上机题库Word下载.docx(47页珍藏版)》请在冰豆网上搜索。
![湖南科技大学C语言上机题库Word下载.docx](https://file1.bdocx.com/fileroot1/2022-11/25/de328aa2-f875-4230-aa7e-79a2fed48cf5/de328aa2-f875-4230-aa7e-79a2fed48cf51.gif)
=x-1;
n++)
if(x%n==0)
flag=0;
if(flag==1)
printf("
%d是素数\n"
x);
else
%d不是素数\n"
第二套
4、从键盘输入10个整数,保存在一个数组中,将这10个数逆序输出,然后求出这10个数的和并输出。
shorti,a[10],total=0;
请连续输入10个整数(空格分开):
\n"
for(i=0;
i<
10;
i++)
scanf("
a[i]);
这10个整数逆序输出得:
for(i=9;
i>
=0;
i--)
%5d"
a[i]);
total=total+a[i];
\n这10个整数的和为:
total);
5、输入n个国家的英文名,要求按字母先后顺序,并按照顺序输出。
string.h>
char*nation[]={"
China"
"
Russia"
France"
England"
Japan"
UnitedStatesOFAmerice"
Australia"
};
inti,m;
voidsort(char*name[],int);
m=sizeof(nation)/sizeof(char*);
sort(nation,m);
m;
%9s\n"
nation[i]);
voidsort(char*name[],intn)/*选择排序*/
char*t;
inti,j,k;
n-1;
k=i;
for(j=i+1;
j<
n;
j++)
if(strcmp(name[k],name[j])>
0)
k=j;
/*第j个元素更小*/
if(k!
=i)/*最小元素是该趟的第一个元素,则不需要交换*/
{
t=name[i];
name[i]=name[k];
name[k]=t;
}
voidmain()
inta,b;
charc[5][20],d[20];
for(a=0;
a<
=4;
a++)
%s"
c[a]);
for(b=a;
b<
b++)
{
if(c[b][0]<
=c[a][0])
strcpy(d,c[a]);
strcpy(c[a],c[b]);
strcpy(c[b],d);
}
%s\n"
6、某年级共有4个班,每班各有30名学生,有6个科目的考试成绩,要求输出每门课程最高分的学生的班级、学号和姓名,并计算各班每个学生的平均成绩并输出。
#defineN14
#defineN230
#defineN36
floatscore[N1][N2][N3],studav[N1][N2];
floatsum;
for(i=0;
N1;
for(j=0;
N2;
for(k=0;
k<
N3;
k++)
printf("
请输入%d班学号为%d的科目%d成绩"
"
score[%d][%d][%d]:
i+1,j+1,k+1,i,j,k);
%f"
score[i][j][k]);
sum=0;
sum=sum+score[i][j][k];
studav[i][j]=sum/N3;
printf("
%d班学号为%d的学生的平均成绩studav[%d][%d]为:
"
%f\n"
i+1,j+1,k+1,studav[i][j]);
第三套
7、求从键盘上输入10个数据(实数)中的最大值,并求和。
floata[10],sum=0;
inti,maxi;
请输入十个的实数:
maxi=0;
for(i=1;
if(a[i]>
a[maxi])
maxi=i;
a[maxi]);
sum=sum+a[i];
floata[10],sum=0,max;
inti;
max=a[0];
max)
max=a[i];
max);
8、给出三角形的三边A、B、C,求三角形的面积。
(先判断三边是否能构成三角形)。
floata,b,c,area,p;
%f,%f,%f"
p=(a+b+c)/2;
if(a+b>
c&
&
a+c>
b&
b+c>
a)
area=sqrt(p*(p-a)*(p-b)*(p-c));
Area=%6.2f\n"
area);
elseprintf("
Error\n"
9、编写程序求一个字符串的第n个字符开始、长度为m的字串。
charc[100],s[100];
intn,m,i;
请输入一字符串:
gets(c);
n,m的值\n"
%d,%d"
n,&
m);
s[i]=c[n+i-1];
s);
10、
intdate;
Inputadate:
date);
if(date==123)
RIGHT\n"
WRONG\n"
if(date>
123)
ItisLARGE\n"
else
ItisSMALL\n"
11、
charc[50];
inti,n=0;
c);
50;
if(c[i]!
='
\0'
if(c[i]=='
A'
)n++;
a'
E'
e'
I'
i'
O'
o'
U'
u'
n);
12、
intx;
for(x=1;
x<
=100;
x++)
if(x*x%10==x||x%100==x)
13、
请输入一个整数:
i);
if(i%7==0)
YES"
NO"
14、
intstrcmp(charstr1[],charstr2[])
inti=0;
while(str1[i]==str2[i]&
str1[i]!
str2[i]!
i++;
returnstr1[i]-str2[i];
charstr[20];
intx=0;
do
\nEnterpassword:
gets(str);
if(strcmp(str,"
12345"
))
x++;
\nYouarepass!
break;
}while(x<
3);
if(x==3)
\nYouarefalrure!
15、
inti,n,sum=0,s;
=10;
s=1;
for(i=1;
=n;
s=s*i;
sum=sum+s;
16、#include<
inti,j,row=0,colum=0,max;
staticinta[3][4]={{1,2,3,4},{9,8,7,6},{10,-10,-4,4}};
max=a[0][0];
=2;
=3;
if(a[i][j]>
max=a[i][j];
row=i;
colum=j;
max=%d,row=%d,colum=%d"
max,row,colum);
17、#include<
=2000;
if(i%5==0)
n++;
18、#include<
longinti,j=0,t,a;
输入一个小于65535的正整数:
%ld"
a=i;
t=i%10;
j=j*10+t;
i=i/10;
while(i>
0);
它的逆序数为:
j);
if(j==a)
它是回文数"
它不是回文数"
19、#include<
longintx,y=0;
intt,n=0;
请输入一个不多于5位数的数:
此数的每一位为(由个位开始):
while(x>
t=x%10;
y=y*10+t;
x=x/10;
n++;
t);
此数有%d位\n"
此数的逆序数为%ld\n"
y);
voidfun(void)
inta1,a2,a3,a4,a5;
longa,b;
请您输入一个5位以内的数\n"
a);
99999)
您输入的数在所求范围里面\n"
a1=a/10000;
a=a-a1*10000;
a2=a/1000;
a=a-a2*1000;
a3=a/100;
a=a-a3*100;
a4=a/10;
a=a-a4*10;
a5=a/1;
if(a1!
=0)
b=a5*10000+a4*1000+a3*100+a2*10+a1;
此数有5位\n"
elseif(a1==0&
a2!
b=a5*1000+a4*100+a3*10+a2;
此数有4位\n"
a2==0&
a3!
b=a5*100+a4*10+a3;
此数有3位\n"
a3==0&
a4!
b=a5*10+a4;
此数有2位\n"
else
b=a5;
此数有1位\n"
这个数按逆向表示为%ld\n"
b);
您输入的数不在此范围内,请您重新输入:
fun();
fun();
20、#include<
inta[4][4],i,j,sum=0;
4;
{
for(j=0;
scanf("
a[i][j]);
{
if(i+j==3||i==j)
sum=sum+a[i][j];
21、#include<
longt;
chara[100],b[100];
请您分别输入2个字符串\n"
a);
t=strcmp(a,b);
if(t==0)
您输入的两个字符串相同\n"
您输入的两个字符串不相同\n"
22,#include<
intn;
for(n=100;
=200;
if(n%3==0&
n%7!
%d\t"
23、#include<
{
请输入一个1-12数字,分别代表着月份:
n);
switch(n)
case1:
printf("
您输入的月份是:
January\n"
break;
case2:
February\n"
case3:
March\n"
case4:
April\n"
case5:
May\n"
case6:
June\n"
case7:
July\n"
case8:
Augest\n"
case9:
September\n"
case10:
October\n"
case11:
November\n"
case12:
December\n"
default:
您的输入有误"
24、#include<
#defineN5
voidsmp_selsesort(intr[],intn)/*简单选择排序*/
inti,j,t;
if(r[i]>
r[j])
{
t=r[i];
r[i]=r[j];
r[j]=t;
}
inti,a[N];
请输入%d个整数:
N);
N;
smp_selsesort(a,N);
排序后的输出为:
25、#include<
longinta[10],c,s=0;
floatb;
请您输入十个整数\n"
for(c=0;
c<
c++)
a[c]);
s=s+a[c];
b=s*1.0/10;
平均值b=%f\n"
这组数中大于平均值的数为:
if(a[c]>
a[c]);
26、#include<
inta,b,s,t;
for(a=1;
=9;
s=a*b;
%d*%d=%d\t"
a,b,s);
for(t=0;
t<
=a;
t++)
\t"
27、#include<
intc,w[2],d=0,t=1,q=0;
chara[100],b[10];
请您输入一个主字符串:
请您输入在字符串中多次出现的字符串:
w[0]=strlen(b);
w[1]=strlen(a);
w[1]-1;
if(a[c]==b[d])
if(d>
=w[0])
d=0;
d=d+1;
if(a[c+1]==b[d])
t=t+1;
else
t=1;
{d=0;
t=1;
if(t==w[0])
q=q+1;
您输入的字符%s在主字符串中出现的次数为:
q);
28、#include<
inta;
请您输入您的分数,我们将根据您的分数对其进行评定\n"
您的分数等级为:
=1