清览题库
题号:20241
#include <stdio.h>
int main()
{
double areaT(double r,double h);//对areaT函数进行声明
double r,h,v;
printf("请输入半径和高:");
scanf("%lf%lf",&r,&h);//输入double类型数据,必须使用%lf,不可以%f
v=areaT(r,h);
printf("r=%f\n",r);
printf("h=%f\n",h);
printf("v=%.2f\n",v);//输出结果保留两位小数
return 0;
}
double areaT(double r,double h)
{
double z;
z=h*3.14*r*r/3;
return(z);//返回结果语法
}
20242
#include <stdio.h>
int main()
{
double areaT(double a,double b,double h);
double a,b,h,s;
scanf("%lf%lf%lf",&a,&b,&h);//带上取地址符&!!!!!!
s=areaT(a,b,h);//后面有分号
printf("%.2f",s);
return 0;
}
double areaT(double a,double b,double h)
{
double z;
z=(a+b)*h/2;
return(z);
}
20251----待修改
#include <stdio.h>
int main()
{
int arr[3],i,j;
for(i=0;i<=2;i++)
scanf("%d",&arr[i]);
for(i=0;i<2;i++)
{
for(j=0;j<2-i;j++){
if(arr[i]>arr[i+1])
{
int t;
t=arr[i+1];
arr[i+1]=arr[i];
arr[i]=t;
}
}
}
for(i=0;i<=2;i++)
printf("%d\t",arr[i]);
return 0;
}
答案
#include <stdio.h>
int main()
{
void swap( int *p1, int *p2 );
int n1, n2, n3;
int *p1, *p2, *p3;
scanf( "%d %d %d", &n1, &n2, &n3 );
p1 = &n1;
p2 = &n2;
p3 = &n3;
if ( n1 > n2 )
swap( p1, p2 );
if ( n1 > n3 )
swap( p1, p3 );
if ( n2 > n3 )
swap( p2, p3 );
printf( "%d %d %d\n", n1, n2, n3 );
return(0);
}
void swap( int *p1, int *p2 )
{
int p;
p = *p1;
*p1 = *p2;
*p2 = p;
}
20229
#include <stdio.h>
int main()
{
double sum(double a,double b);
double a,b,s;
scanf("%lf%lf",&a,&b);
s=sum(a,b);
printf("%.2f",s);
return 0;
}
double sum(double a,double b)
{
double z;
z=a+b;
return(z);
}
20133
#include <stdio.h>
int main()
{
int x;
for(x=0;x<3000;x++)
if(x%5==1&&x%6==5&&x%7==4&&x%11==10){
printf("%d",x);
}
return 0;
}
20275
#include <stdio.h>
int main()
{
void nav(int *q1,int *q2);
int a,b,*p1,*p2;
printf("请输入a和b:");
scanf("%d%d",&a,&b);
p1=&a;
p2=&b;
nav(p1,p2);
printf("max=%d,min=%d",*p1,*p2);
return 0;
}
void nav(int *q1,int *q2)
{
if(*q1<*q2)
{
int temp;
temp=*q1;
*q1=*q2;
*q2=temp;
}
}
20276
方法一
#include <stdio.h>
int a, b, c;
int main()
{
void nav(int q1, int q2, int q3);
scanf("%d%d%d", &a, &b, &c);
nav(a, b, c);
printf("%d %d %d", a, b, c);
return 0;
}
void nav(int q1, int q2, int q3)
{
void rev(int x, int y);
if (q1 < q2)
{
int temp;
temp = a;
a = b;
b = temp;
}
if (q1 < q3)
{
int temp;
temp = a;
a = c;
c = temp;
}
if (q2 < q3)
{
int temp;
temp = c;
c = b;
b = temp;
}
}
方法二
#include <stdio.h>
int main()
{
void exchange(int *q1,int *q2,int *q3);
int a,b,c,*p1,*p2,*p3;
printf("请输入a,b,c的值:");
scanf("%d%d%d",&a,&b,&c);
p1=&a;
p2=&b;
p3=&c;
exchange(p1,p2,p3);
printf("由小到大的排序为%d,%d,%d",a,b,c);
printf("%d,%d,%d",*p1,*p2,*p3);//指针指向并没有改变,改变的为a,b,c的值
return 0;
}
void exchange(int *q1,int *q2,int *q3)//排序
{
void swap(int *j1,int *j2);
if (*q1>*q2)//不可使用if……else if……else if……只执行一个语句
{
/* code */
swap(q1,q2);
}
if (*q1>*q3)
{
/* code */
swap(q1,q3);
}
if (*q2>*q3)
{
/* code */
swap(q2,q3);
}
}
void swap(int *j1,int *j2)//交换值
{
int temp;
temp=*j1;
*j1=*j2;
*j2=temp;
}
20277
#include <stdio.h>
int main()
{
void exchange(int *p, int *q);
int a[10], n = 10, *p;
for (int i = 0; i < 10; i++)
{
/* code */
scanf("%d", &a[i]);
}
p = a;
for (int i = 0; i < n / 2; i++)
{
exchange((p+i), (p+9-i));
}
for (int i = 0; i < 10; i++)
{
printf("%d ", a[i]);
}
return 0;
}
void exchange(int *p, int *q) //排序
{
/* code */
int temp;
temp = *p;
*p=*q;
*q=temp;
}
20308
#include <stdio.h>
//声明一个名字为Student的数据类型
// your code
#define M 5
int main()
{
//your code begin
struct Student
{
int num;
char *name;
float score;
} stu[M] = {{10101, "Zhang", 78}, {10103, "Wang", 98.5}, {10106, "Li", 86}, {10108, "Ling", 73.5}, {10110, "Fun", 100}};
for (int j = 0; j < M; j++)
{
for (int i = 0; i < M - j; i++)
{
if (stu[i].score < stu[i + 1].score)
{
int num1;
char *name1;
float score1;
num1 = stu[i].num;
stu[i].num = stu[i + 1].num;
stu[i + 1].num = num1;
name1 = stu[i].name;
stu[i].name = stu[i + 1].name;
stu[i + 1].name = name1;
score1 = stu[i].score;
stu[i].score = stu[i + 1].score;
stu[i + 1].score = score1;
}
}
}
for (int i = 0; i < M; i++)
{
/* code */
printf("%d %s %.2f\n", stu[i].num, stu[i].name, stu[i].score);
}
//your code end
return 0;
}
#include <stdio.h>
//声明一个名字为Student的数据类型
// your code
#define M 5
int main()
{
//your code begin
struct Student
{
int num;
char *name;
float score;
} stu[M] = {{10101, "Zhang", 78}, {10103, "Wang", 98.5}, {10106, "Li", 86}, {10108, "Ling", 73.5}, {10110, "Fun", 100}};
for (int j = 0; j < M; j++)
{
for (int i = 0; i < M - j; i++)
{
if (stu[i].score < stu[i + 1].score)
{
struct Student temp;
temp=stu[i];
stu[i]=stu[i+1];
stu[i+1]=temp;
}
}
}
for (int i = 0; i < M; i++)
{
/* code */
printf("%d %s %.2f\n", stu[i].num, stu[i].name, stu[i].score);
}
//your code end
return 0;
}
20309
#include <stdio.h>
int main()
{
struct student
{
int num;
char* name;
char sex;
int age;
}stu[]={{10101,"Li Lin",'M',18},{10102,"Zhang Fun",'M',19},{10104,"Wang Min",'F',20}};
printf("No.Name sex age ");
for (int i = 0; i < 3; i++)
{
printf("%d %s %c %d",stu[i].num,stu[i].name,stu[i].sex,stu[i].age);
}
}
#include <stdio.h>
struct student {
int num;
char name[20];
char sex;
int age;
};
struct student stu[3]= {{10101,"Li Lin",'M',18},{10102,"Zhang Fun",'M',19},{10104,"Wang Min",'F',20}};
int main() {
struct student *p;
printf("No. Name sex age\n");
for (p=stu; p<stu+3;p++)
printf("%d %s %c %d\n",p->num, p->name, p->sex, p->age);
return 0;
}
问题
无法输出
#include <stdio.h>
struct student {
int num;
char* name;
char sex;
char* address;
}stu;
int main() {
printf("xuehao1:");
scanf("%d%s%c%s",&stu.num,&stu.name,&stu.sex,&stu.address);
printf("%d %s %c %s",stu.num,stu.name,stu.sex,stu.address);
return 0;
}
能正确输出,两次回车键
#include <stdio.h>
struct student {
int num;
char name[20];
char sex;
}stu;
int main() {
printf("开始输入:");
scanf("%d",&stu.num);
gets(stu.name);
stu.sex=getchar();
printf("输出%d %s %c",stu.num,stu.name,stu.sex);
return 0;
}